ubuntu下面搭建SolrCloud集群
首先要先把ubuntu环境搭建好,配置好静态IP,我这边配置的是3台机子,solr搭建集群至少是2台。
192.168.0.15 主机
192.168.0.16 从机
192.168.0.17 从机
下面操作每个机子都要执行。
一:配置静态IP
1. sudo -i 获取最高用户级别
2.nano /etc/network/interface,把IP改成静态的,加上address,netmask,gateway,修改完以后ctrl+o保存,
然后回车,ctrl+x切换到输入行。
3.nano /etc/resolv.conf
4.reboot 重新启动
启动完把网络转成桥接网卡,试试看能不能上网,如果网不能上,你在查看下第3步有没有改成功。
在这里我们假设可以OK上网了
做好准备工作,下载jdk-7u3-linux-i586.tar 这个软件包和solr-4.7.2.tgz软件包
二,配置java环境
1.tar zxvf jdk-7u3-linux-i586.tar.gz 解压jdk
2.sudo -i
3.nano /etc/profile,在最下面加入这几句话,保存
export JAVA_HOME=/home/solr/jdk1.7.0_03
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
验证jdk是否安装成功,敲命令
java -version
代码jdk安装成功。
三,如何在tomcat下安装solr
1,下载apache-tomcat-7.0.47.tar.gz安装包,记住是linux版本
tar zxvf apache-tomcat-7.0.47.tar.gz 解压tomcat
2.将下载的solr-4.7.2.tgz在你本地解压
3.在linux上创建solr根目录,例如/home/solr/solrhome,(solr是用户名,solrhome是我创建的根目录),在本地解压solr安装包目录下的 example 文件夹下找到名为 solr 的文件夹,将其整个复制到已经创建好的 solrHome 文件夹下。
4.在solr安装包目录下的dist文件夹内找到名为solr-4.7.2.war的文件,将其也复制到solrHome文件夹下(此文件可根据自己的要求任意放置,本例是为了方便管理);
例如:
5.从这步开始,将 solr 部署到 tomcat 下
(1) 还是回到本地 solr 解压包目录下,按此目录结构依次打开文件夹(example/lib/ext),将 ext 文件夹下的所有 jar 包复制到 tomcat 根目下的 lib 文件夹下,
在此目录下(example/resources)将名为log4j.properties 的文件也复制到 lib 文件夹下,打开 log4j.properties 文件,并修改属性
log4j.appender.file.File 的值,例如:/home/solr/solrhome/solr.log
(2) 回到tomcat根目录下,在此目录下(conf/Catalina/localhost)新建一个solr.xml文件,名字可任意,其内容格式为
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="/home/solr/solrhome/solr-4.7.2.war" debug="0" crossContext="true">
<Environment name="solr/home" value="/home/solr/solrhome" type="java.lang.String" override="false"/>
</Context>
注:路径分隔符必须为"/",override 的值必须为 false
(3) 启动tomcat,在浏览器中键入地址http://localhost:8080/solr(与定义的solr.xml文件名对应)即可访问. 记住:每台自己都是这样子操作的
四.多台 zookeeper 服务器,多台 solr 服务器的安装
1.更改192.168.0.15服务器:更改 /home/solr/solrHome/目录下的 solr.xml 文件,主要是修改host地址和端口号
- <solr>
- <solrcloud>
- <str name="host">${host:192.168.0.15}</str>
- <int name="hostPort">${jetty.port:8080}</int>
- <str name="hostContext">${hostContext:solr}</str>
- <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
- <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
- </solrcloud>
- <shardHandlerFactory name="shardHandlerFactory"
- class="HttpShardHandlerFactory">
- <int name="socketTimeout">${socketTimeout:30000}</int>
- <int name="connTimeout">${connTimeout:30000}</int>
- </shardHandlerFactory>
- </solr>
更改 /home/solr/solrHome/目录下的 zoo.cfg 文件,这个是配置zookeeper文件
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/home/solr/solrHome/data
- clientPort=2181
- server.1=192.168.0.15:2888:3888
- server.2=192.168.0.16:2888:3888
- server.3=192.168.0.17:2888:3888
注意:创建dataDir参数指定的目录,创建data文件夹,在这个文件夹下,还要创建一个文本myid
cd /home/solr/solrHome 进入到solrHome 目录
mkdir data 创建data文件夹
cd /home/solr/solrHome/data 进入data文件夹下
touch myid 创建文本myid,在这个文本内写入1,因为server.1=192.168.0.15:2888:3888 server指定的是1,所以myid写入的是1.如果一会在从机配置,192.168.0.16下面的myid是2,192.168.0.17下面myid是3。
2.更改192.168.0.16服务器:更改 /home/solr/solrHome/目录下的 solr.xml 文件
- <solr>
- <solrcloud>
- <str name="host">${host:192.168.0.16}</str>
- <int name="hostPort">${jetty.port:8080}</int>
- <str name="hostContext">${hostContext:solr}</str>
- <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
- <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
- </solrcloud>
- <shardHandlerFactory name="shardHandlerFactory"
- class="HttpShardHandlerFactory">
- <int name="socketTimeout">${socketTimeout:30000}</int>
- <int name="connTimeout">${connTimeout:30000}</int>
- </shardHandlerFactory>
- </solr>
更改 /home/solr/solrHome/目录下的 zoo.cfg 文件,这个是配置zookeeper文件
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/home/solr/solrHome/data
- clientPort=2181
- server.1=192.168.0.15:2888:3888
- server.2=192.168.0.16:2888:3888
- server.3=192.168.0.17:2888:3888
记住:在/home/solr/solrHome/目录下要创建data文件,myid为2
3.更改192.168.0.17服务器:更改 /home/solr/solrHome/目录下的 solr.xml 文件
- <solr>
- <solrcloud>
- <str name="host">${host:192.168.0.17}</str>
- <int name="hostPort">${jetty.port:8080}</int>
- <str name="hostContext">${hostContext:solr}</str>
- <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
- <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
- </solrcloud>
- <shardHandlerFactory name="shardHandlerFactory"
- class="HttpShardHandlerFactory">
- <int name="socketTimeout">${socketTimeout:30000}</int>
- <int name="connTimeout">${connTimeout:30000}</int>
- </shardHandlerFactory>
- </solr>
更改 /home/solr/solrHome/目录下的 zoo.cfg 文件,这个是配置zookeeper文件
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/home/solr/solrHome/data
- clientPort=2181
- server.1=192.168.0.15:2888:3888
- server.2=192.168.0.16:2888:3888
- server.3=192.168.0.17:2888:3888
记住:在/home/solr/solrHome/目录下要创建data文件,myid为3
4.在192.168.0.15服务器上,到/home/solr/apache-tomcat-7.0.47/bin目录下,编辑 catalina.sh 文件,在文件#!/bin/sh的下面,添加
JAVA_OPTS="-Dbootstrap_confdir=/home/solr/solrHome/collection1/conf -Dcollection.configName=cluster -DzkRun -DzkHost=192.168.0.15:2181,192.168.0.16:2181,192.168.0.17:2181 -DnumShards=1"
5.在192.168.0.16服务器上,也到/home/solr/apache-tomcat-7.0.47/bin目录下,编辑 catalina.sh 文件,在文件#!/bin/sh的下面,添加
JAVA_OPTS="-DzkRun -DzkHost=192.168.0.15:2181,192.168.0.16:2181,192.168.0.17:2181"
6.在192.168.0.17服务器上,也到/home/solr/apache-tomcat-7.0.47/bin目录下,编辑 catalina.sh 文件,在文件#!/bin/sh的下面,添加
JAVA_OPTS="-DzkRun -DzkHost=192.168.0.15:2181,192.168.0.16:2181,192.168.0.17:2181"
这样子配置就完成了,在每台机子上都启动tomcat
bin/startup.sh
输入:192.168.0.15:8080/solr ,下面是我以前的图,搭建2台机子的
记住: 重启时,必须清理之前运行时 zookeeper 生成的节点信息内容。删除下各个/home/solr/solrHome/下的
data 文件中的 version-2 文件夹即可。
ubuntu下面搭建SolrCloud集群的更多相关文章
- 【solr】Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群
Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群 SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力 ...
- ubuntu14.04环境下利用docker搭建solrCloud集群
在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...
- CentOs7.3 搭建 SolrCloud 集群服务
一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机Master-Slaver方式.C ...
- 快速简单高效的搭建 SolrCloud 集群
转https://segmentfault.com/a/1190000008634902 集群配置 集群中的每台机器都要按照以下说明进行配置启动 首先到 solr 安装目录的 bin 下,编辑 sol ...
- Ubuntu下搭建Kubernetes集群(3)--k8s部署
1. 关闭swap并关闭防火墙 首先,我们需要先关闭swap和防火墙,否则在安装Kubernetes时会导致不成功: # 临时关闭 swapoff -a # 编辑/etc/fstab,注释掉包含swa ...
- Ubuntu下搭建Kubernetes集群(4)--部署K8S Dashboard
K8S Dashboard是官方的一个基于WEB的用户界面,专门用来管理K8S集群,并可展示集群的状态.K8S集群安装好后默认没有包含Dashboard,我们需要额外创建它. 首先我们执行命令: wg ...
- Ubuntu中搭建Hadoop集群(简记)
stp1:在Vmware虚拟机上创建Ubantu.2环境 步骤:文件—>新建虚拟机—>典型(下一步)—>下一步——>位置(不建议放c盘,文件地址一定要全英文)—>下一步— ...
- Ubuntu下搭建Kubernetes集群(2)--docker基本操作
查看当前的容器和images docker ps -a docker images 1.创建新的容器 docker run -it --name 容器名 镜像名 /bin/bash # 挂载目录和端口 ...
- Ubuntu下搭建Kubernetes集群(1)--安装docker
可以使用物理机,也可以使用虚拟机. 首先参考https://docs.docker.com/install/linux/docker-ce/ubuntu/ 官方文档学会安装docker. 1.首先移除 ...
随机推荐
- 2017-2018-2 20165202 实验三《敏捷开发与XP实践》实验报告
一.实验报告封面 二.实验内容 XP基础 XP核心实践 相关工具 三.实验步骤 (一)格式化代码 实验要求: 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化 ...
- a的样式
.myAucCItem a { color: rgb(71,71,71);} .myAucCItem a:hover { color: rgb(71,71,71); text-decoration: ...
- css hover伪类选择器与JQuery hover()方法
css hover伪类选择器 它属于anchor伪类 在支持 CSS 的浏览器中,<a>标签链接的不同状态都可以以不同的方式显示,常常用来改链接的颜色效果 实例 a:link {color ...
- HM安装和使用方法
此文为学习JVET参考了HM的安装方法,转载自岳麓吹雪大牛的博客,膜拜. 早期的HM解决方案包含了7个工程:1. TAppCommon 2. TAppDecoder 3. TAppEncoder 4. ...
- Redis的集群安装以及rehash重新迁移教程指南
1. Redis的cluster集群 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生存的看家本领,增加集群 ...
- Vim技能修炼教程(1) - 使用vundle管理插件
世界上有两个伟大的编辑器:一个是emacs,一个是vi.它们从诞生以来,一直在Unix/Linux世界得到最广泛的支持. 尽管过了几十年,在Windows平台上和跨平台上有层出不穷的后起之秀不断挑战它 ...
- Qt jsoncpp 对象拷贝、删除、函数调用 demo
/*************************************************************************************************** ...
- 关于dyld: Library not loaded
在接入智凡迪的sdk过程中,遇到以下问题: dyld: Library not loaded: @rpath/SDKFramework.framework/SDKFramework Referen ...
- 一个MySql Sql 优化技巧分享
有天发现一个带inner join的sql 执行速度虽然不是很慢(0.1-0.2),但是没有达到理想速度.两个表关联,且关联的字段都是主键,查询的字段是唯一索引. sql如下: SELECT p_it ...
- hdu1575 Tr A 矩阵初识
A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973. Input数据的第一行是一个T,表示有T组数据. 每组数据的第一行有n(2 <= n <= ...