实现Solr索引数据存放到HDFS下
来源:互联网 发布:韩国淘宝模特孙允珠 编辑:程序博客网 时间:2024/05/16 01:08
软件准备:
1. apache-tomcat-8.0.26.tar.gz
2.solr-4.5.1.zip
3.Hadoop-2.5.1
运行环境:
虚拟机下的CentOS 7 64位
配置前提条件:默认安装好了Hadoop(我安装的环境为伪分布安装)
注:请确认hadoop-2.5.1/etc/hadoop下的hdfs-site.xml增加了以下内容
<property><name>dfs.webhdfs.enabled</name><value>true</value></property><property><name>dfs.permissions.enabled</name><value>false</value></property>
一、安装Solr
1.在linux下解压apache-tomcat-8.0.26.tar.gz
tar -zxvf apache-tomcat-8.0.26.tar.gz
2.windows下解压solr-4.5.1.zip并将${solr_home}\solr-4.5.1\example\webapps下的solr.war上传到apache-tomcat-8.0.26的webapps文件夹下
3.linux下解压solr.war
两种方式:
a)
uzip solr.warb)直接运行tomcat
4.在linux的${tomcat_home}\webapps 下创建solr_home文件夹(可自定义文件夹名及位置,之后配置需要用到)
5.将windows下的${solr_home}\solr-4.5.1\example\solr文件夹中的所有内容上传到solr_home文件夹中
6.linux下进入${tomcat_home}\conf 修改server.xml文件
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"><span style="color:#ff0000;"><strong><!--虚拟目录安装--><Context path="/solr" docBase="/home/hadoop/tomcats/tomcat0/webapps/solr.war" debug="0" privileged="true"><Environment name="solr/home" type="java.lang.String" value="/home/hadoop/tomcats/tomcat0/webapps/solr_home" override="true" /></Context></strong></span> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
注:红色部分为所要添加的内容
path:指定访问该Web应用的名称,如localhost:8080/solr
docBase:指定Web应用的文件路径;如果是war包,必须加上后缀
下面的<Environment>节点就是设置solr的用户目录,value为第5步的路劲
7.将windows下的${solr_home}\solr-4.5.1\example\lib\ext 的内容全部上传到${tomcat_home}\webapps\solr\WEB-INF\lib 下
8.修改solr_home文件夹中collection1/conf 下的solrconfig.xml
a)替换原有directoryFactory配置为如下
<directoryFactory name="DirectoryFactory" class="solr.<span style="color:#ff0000;">HdfsDirectoryFactory</span>"> <span style="color:#ff0000;"><str name="solr.hdfs.home">hdfs://172.16.43.10:9000/solr</str></span> <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>注:solr.hdfs.home 为你所安装的Hadoop的HDFS的访问路劲
b)替换原有lockType为如下:
<lockType>${solr.lock.type:hdfs}</lockType>9.从Hadoop-2.5.1的share文件夹下分别得到
hadoop-common-2.5.1.jar(share/hadoop/common)、hadoop-hdfs-2.5.1.jar(share/hadoop/hdfs)、hadoop-auth-2.5.1.jar(share/hadoop/common/lib)、hadoop-annotations-2.5.1.jar(share/hadoop/common/lib)、commons-collections-3.2.1.jar(share\hadoop\common\lib)并下载protobuf-java-2.5.0.jar包
10.进入${tomcat_home}/webapps/solr/WEB-INF/lib 下删除hadoop-*.jar、protobuf-java-*.jar
rm hadoop-*.jar
rm protobuf-java-*.jar11.将第9步得到的所有jar包上传到该文件夹下
12.启动tomcat,即可访问solr
注:参考文章 http://www.cnblogs.com/lucas-yu/articles/3399596.html 、http://eksliang.iteye.com/blog/2096478
- 实现Solr索引数据存放到HDFS下
- solr提交示例数据到索引库
- 将Solr的数据存到Hdfs上
- HDFS数据副本存放策略
- Solr 将数据库中table中数据导入到索引
- 从HBase读取数据提交到Solr建立索引
- solr的用法-存储数据到索引库
- Solr配置从Mysql导入数据到索引库
- 数据索引---Solr DIH
- [solr] - 索引数据删除
- [solr] - 索引数据删除
- Solr索引数据删除
- solr 索引数据删除
- solr测试项目(下)--索引数据与查询
- solr实现全文索引
- 2.myql数据导入到solr,并建立solr索引(学习笔记)
- 自学大数据:基于Solr实现HBase的文本索引
- Hadoop:HDFS数据副本存放策略
- 关于弹出层或是窗口的几种方式
- dataTable将每一行封装一个实体对象
- Nim 中的参数传递
- oracle 语句理解 (-)
- 栈
- 实现Solr索引数据存放到HDFS下
- 获取上传文件的大小ele.files[0].size
- QT中的信号与槽的相关知识
- unity_NGUI动态字体制作与字体清晰的几点要素
- 程序员被喜欢的13条
- insert into from和select from into的区别
- 最详细的git教程
- 博客园个人网摘
- MyEclipse+Tomcat+MySQL的环境搭建