基于Docker 分布式部署solrCloud
来源:互联网 发布:上海楼市成交数据 编辑:程序博客网 时间:2024/06/06 03:00
一、环境准备
1、安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
2、Centos系统(未安装任何软件):
3、打包系统镜像:将本机操作系统打包成tar文件
tar –numeric-owner –exclude=/proc –exclude=/sys -cvf centos-self.tar /
4、将制作的tar文件导入docker镜像库中,并命令为: centos -self:
cat centos -self.tar | docker import - centos -self
二、创建容器solr1
1、建议使用自定义网桥,这样可以指定ip ,默认的docker0网桥无法指定ip
docker network create –subnet=172.18.0.0/16 search_network
备注:这里选取了172.18.0.0网段,也可以指定其他任意空闲的网段,search_network为自定义网桥的名字,可自己任意取名。
2、利用docker启动容器solr1,分配固定IP 172.18.0.11,并将容器的8983端口与宿主机8971进行映射,以便可以从外部访问容器
docker run -itd –name solr1 –net search_network –ip 172.18.0.11 -p 8791:8983 centos-self /bin/bash
3、进入容器solr1
# docker exec -it solr1 /bin/bash
4、切换目录,将 jdk1.8、solr6.6.1、zookeeper3.5下载到服务器的/opt文件夹中
# cd /opt
下载jdk
# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz"
下载zookeeper 3.5.3
# wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz
下载solr 6.6.1
# wget http://mirrors.hust.edu.cn/apache/lucene/solr/6.6.1/solr-6.6.1.tgz
5、在容器server1中安装jdk1.8并配置java环境变量
创建/usr/local/java/文件夹并解压jdk
# mkdir -p /usr/local/java/ # tar -zxvf jdk1.8.0_141.tar.gz -C /usr/local/java/
注:若tar -zxvf 解压失败,可将z去掉
6、向/etc/profile文件中追加下面内容:
# vim /etc/profile export JAVA_HOME=/usr/local/java/jdk1.8.0_144 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=$PATH:${JAVA_HOME}/bin
7、让文件生效
# source /etc/profile
8、验证java成功安装
# java –version
三、在容器server1中安装配置zookeeper3.5.3
1、解压zookeeper 安装包到/usr/local目录中
# tar -xvf zookeeper-3.5.3-beta.tar.gz -C /usr/local/
2、创建zookeeper的data和logs目录,确保拥有读写权限
# mkdir -p /home/tank/zookeeper/data# mkdir -p /home/tank/zookeeper/log
3、将zookeeper安装目录下conf文件夹中的zoo_sample.cfg重命名为zoo.cfg
# cd /usr/local/zookeeper-3.5.3-beta/conf# mv zoo_sample.cfg zoo.cfg
4、修改zoo.cfg内容,zoo.cfg配置完后如下:
#vim zoo.cfg # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/home/tank/zookeeper/data dataLogDir=/home/tank/zookeeper/log # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 server.1=172.18.0.11:2888:3888 server.2=172.18.0.12:2888:3888
5、进入/home/tank/zookeeper/data中,新建myid文件,写入1
# cd /home/tank/zookeeper/data# echo 1 >> myid
注:其他节点的myid内容应分别是server.1的
四、在solr1容器中安装配置solr-6.6.1
1、解压solr-6.6.1.tgz到/usr/local目录下
# tar -xvf solr-6.6.1.tgz -C /usr/local/
2、创建solrCloud根目录solr_cloud_home文件夹
# mkdir -p /usr/local/solrCloud/solr_cloud_home
3、复制/usr/local/solr-6.6.0/server/solr/目录下的文件到solr_cloud_home中
# cp -r /usr/local/solr-6.6.1/server/solr/* /usr/local/solrCloud/solr_cloud_home/
4、查看solr_cloud_home目录,如图所示:
# ll /usr/local/solrCloud/solr_cloud_home/
5、创建配置存放目录solr_cloud_collection文件夹
# mkdir -p /usr/local/solrCloud/solr_cloud_collection
6、复制/usr/local/solr-6.6.0/example/example-DIH/solr/solr/目录下的文件到solr_cloud_collection/cloud_core中
mkdir -p /usr/local/solr_cloud_collection/cloud_corecp -r /usr/local/solr-6.6.1/example/example-DIH/solr/solr/* /usr/local/solr_cloud_collection/cloud_core/
五、在宿主机提交容器solr1为新的镜像,命名为centos-self-solr
# docker commit server1 centos-self-solrcloud
1、在宿主机启动容器server2,设置IP为172.18.0.12 并指定映射端口号
# docker run -itd –p 8792:8983 --name solr2 --net search_network --ip 172.18.0.12 centos-self-solr /bin/bash
2、将容器solr2中/home/tank/zookeeper/data/myid内容由1改为2
3、在宿主机中查看docker容器运行情况
六、solr1,solr2分别启动zookeeper
# source /etc/profile# cd /usr/local/zookeeper-3.5.3-beta/# bin/zkServer.sh start
七、solr1,solr2启动solr
# cd /usr/local/solr-6.6.1/# bin/solr start -cloud -p 8983 -s "/usr/local/solrCloud/solr_cloud_home/" -z "172.17.0.31:2181,172.17.0.32:2181" -force
1、查看solr日志是否报错:
# cat /usr/local/solr-6.6.1/server/logs/solr.log
八、在容器solr1上创建Collection(只需要在一台solr节点上操作)
# cd /usr/local/solr-6.6.1# bin/solr create_collection -c test_collection -shards 2 -replicationFactor 3 –force
-c 核心名称tar
-shards 分片数量
- replicationFactor 副本数量 (一般指有几台solr集群)
参考:
Ubuntu 14.04下适应Docker搭建solrCloud集群
CentOs7.3 搭建 SolrCloud 集群服务
- 基于Docker 分布式部署solrCloud
- solrCloud分布式集群部署(一)
- SOLRCLOUD分布式集群部署步骤
- solr solrcloud 检索 搜索 zookeeper 分布式 部署
- SolrCloud 分布式集群安装部署以及管理
- solrCloud 4.9 分布式集群部署及注意事项
- solrcloud分布式集群部署&zookeeper集群安装
- solrCloud 4.9 分布式集群部署及注意事项
- solrCloud 4.9 分布式集群部署及注意事项
- SpringBoot37-分布式系统开发-基于Docker部署3
- 基于Docker部署codis
- solrcloud部署
- solrCloud部署
- SolrCloud 分布式集群安装部署(solr4.8.1 + zookeeper +tomcat)
- 【SOLR集群】分布式搜索部署SOLRCLOUD案例图文
- SolrCloud 分布式集群安装部署(solr+ zookeeper +tomcat)
- 基于docker solrcloud方法及配置分词方法
- 基于Solr和Zookeeper的分布式搜索方案SolrCloud
- 常见的激活函数
- AS运行出现Error running app: This version of Android Studio is incompatible with the Gradle
- Android关于Theme.AppCompat相关问题的深入分析
- CRNN论文笔记
- datatable第二次绑定先销毁原datatable
- 基于Docker 分布式部署solrCloud
- quill富文本编辑器
- Ubuntu 16.04 SPARK 开发环境搭建-- 伪分布版 与新建一个Spark版本的WordCount
- js中数组操作
- 线程安全和线程不安全理解
- Android第三方框架 Universal-Image-Loader的使用,进一步封装
- 反向代理为何叫反向代理?
- 利用fnd_flex_keyval包轻松获取关键性弹性域组合描述字段
- Java中集合(一)Collection 、List<E> 、ArrayList<E>