solr4.4支持索引存儲到hdfs中下載 html
hadoop2.1.0-beta下載 node
解壓solr4.4,hadoop2.1.0-beta web
個人solr是運行在tomcat web容器中 apache
solr4.4用的是hadoop2.0.5alpha版本,若是不改爲hadoop2.1.0-beta會報不少奇怪的錯誤。 tomcat
刪除solr webapp/WEB-INF/lib中的jar包,用我已經整合好的lib替換 app
整合好的tomcat下載 webapp
注意修改的地方 分佈式
solrconfig.xml oop
<directoryFactory name="DirectoryFactory" class="solr.HdfsDirectoryFactory"> <str name="solr.hdfs.home">hdfs://192.168.1.100:9000/solr</str> <bool name="solr.hdfs.blockcache.enabled">true</bool> <int name="solr.hdfs.blockcache.slab.count">1</int> <bool name="solr.hdfs.blockcache.direct.memory.allocation">true</bool> <int name="solr.hdfs.blockcache.blocksperbank">16384</int> <bool name="solr.hdfs.blockcache.read.enabled">true</bool> <bool name="solr.hdfs.blockcache.write.enabled">true</bool> <bool name="solr.hdfs.nrtcachingdirectory.enable">true</bool> <int name="solr.hdfs.nrtcachingdirectory.maxmergesizemb">16</int> <int name="solr.hdfs.nrtcachingdirectory.maxcachedmb">192</int> </directoryFactory>
<lockType>${solr.lock.type:hdfs}</lockType>我是在tomcat的catalina.sh指定solr.solr.home=$CATALINA_HOME/solr的
hadoop集羣配置能夠參考hadoop官方僞分佈式 spa
要修改yarn.resourcemanager.hostname,因爲我RM,NM,SecondaryNameNode都是在一臺機器,因此就直接指定這個爲一臺機器的主機名
啓動hadoop後查看http://192.168.1.100:8088/cluster/nodes
若是全部節點均可以看到說明正常
這時啓動solr會出現不能建立文件夾錯誤Problem creating directory:
因此把權限限制關閉掉而且支持webhdfs,修改hdfs-site.xml
<property> <name>dfs.webhdfs.enabled</name> <value>true</value> <description> Enable WebHDFS (REST API) in Namenodes and Datanodes. </description> </property> <property> <name>dfs.permissions.enabled</name> <value>false</value> <description> If "true", enable permission checking in HDFS. If "false", permission checking i s turned off, but all other behavior is unchanged. Switching from one parameter value to the other does not change the mode, owner or group of files or director ies. </description> </property>
hadoop2的新特性是出現了yarn
關於yarn的介紹請詳見http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html