linux环境使用SolrCloud和Zookeeper搭建分布式集群系统
使用虚拟机(本例VMware)安装CentOS6后修改网络配置
编辑--->虚拟网络编辑器,选中类型为NAT模式下的虚拟网络,将子网ip改为形如192.168.30.0
DHCP设置中开始ip地址和结束ip地址可以分别设置为192.168.30.100和192.168.30.254
NAT设置中网关ip可以设置为192.168.30.2
然后启动虚拟系统,登陆之后设置系统网络:
vi etc/sysconfig/network-scripts/ifcfg-eth0
重启网络设置使配置生效
service network restart
分别ping本机ip和百度地址都成功后才算设置成功
接下来可以使用远程工具连接使用,登陆主机名是192.168.30.100
首先安装传输工具
wget -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum makecache
yum install lrzsz
将环境包都导入/usr/local/src/下的新建的myapp目录下(包括jdk、tomcat、mysql、solr、zookeeper),并解压
配置jdk
vim /etc/profile
在最下面添加
export JAVA_HOME=/usr/local/src/myapp/jdk1.7.0_71
export PATH=$PATH:$JAVA_HOME/bin
使之生效并测试
source /etc/profile
java -version
安装mysql
在myapp下新建文件夹mysql,压缩包导入这个目录后
解压 tar -zxvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar
删除压缩包 rm -rf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar
删除自带的mysql
rpm -qa | grep mysql
如果存在mysql-libs-5.1.71-1.el6.i686则
rmp -e --nodeps mysql-libs-5.1.71-1.el6.i686
安装服务端 rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
安装客户端 rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
添加并启动 chkconfig --add mysql
chkconfig mysql on
service mysql start
得到MySQL随机密码用于登录
cat /root/.mysql_secret
登录 mysql –u root –p
输入密码进入
设置密码 set password = password('root');
设置权限 grant all privileges on *.* to 'root' @'%' identified by 'root';
刷新设置 flush privileges;
退出 quit;
开放端口号 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
保存设置 /etc/rc.d/init.d/iptables save
可以在windows下的第三方数据库测试连接,完成
Solr设置
1.将solr中的solr.war复制到tomcat的webapps中
cp /usr/local/src/myapp/solr-4.10.2/example/webapps/solr.war /usr/local/src/myapp/apache-tomcat-7.0.57/webapps/
2.到目标位置 cd /usr/local/src/myapp/apache-tomcat-7.0.57/webapps
解压 unzip -oq solr.war -d solr
3.将需要的包拷贝到tomcat中
cp /usr/local/src/myapp/solr-4.10.2/example/lib/ext/* /usr/local /src/myapp/apache-tomcat-7.0.57/webapps/solr/WEB-INF/lib/
4.配置 vi /usr/local/src/myapp/apache-tomcat-7.0.57/bin/catalina.sh
第二行加 export JAVA_OPTS="-Dsolr.solr.home= /usr/local src/myapp/solr-4.10.2/example/solr"
保存退出
Zookeeper设置
1.复制出能够被识别的zoo.cfg文件
cp /usr/local/src/myapp/zookeeper-3.4.5/conf/zoo_sample.cfg /usr/local /src/myapp/zookeeper-3.4.5/conf/zoo.cfg
2.到目录下创建配置文件夹
cd /usr/local/src/myapp/zookeeper-3.4.5
3.创建两个文件夹
mkdir -m 755 data
mkdir -m 755 log
4.在data创建myid,并编辑内容为数字1
cd data/
touch myid
vi myid
5.转到conf中,配置zoo.cfg
cd ../conf
vi zoo.cfg
在倒数第三行添加如下内容
dataDir=/usr/local/src/myapp/zookeeper-3.4.5/data
dataLogDir=/usr/local/src/myapp/zookeeper-3.4.5/log
server.1=192.168.30.100:2888:3888
server.2=192.168.30.101:2888:3888
server.3=192.168.30.102:2888:3888
保存退出
6.配置ZOOKEEPER_HOME
vi /etc/profile
在配置的JAVA_HOME后面添加 export ZOOKEEPER_HOME=/usr/local/src/myapp/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_HOME/bin
到此关闭虚拟系统,第一个服务器暂时配置完成。
接下来就是拷贝
进入系统
以此类推克隆出CentOS_102服务器
三个服务器都得更改的配置
启动每个服务器的zkserver
sh /usr/local/src/myapp/solr-4.10.2/example/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.30.100:2181,192.168.30.101:2181,192.168.30.102:2181 -cmd upconfig -confdir /usr/local/src/myapp/solr-4.10.2/example/solr/collection1/conf -confname solrconf
打开solr首页看到solrCloud里有图显示就成功了
附上管理代码
创建core命令
http://192.168.11.100:8080/solr/admin/collections?action=CREATE&nam
e=collection2&numShards=2&replicationFactor=3&maxShardsPerNode=
8&property.schema=schema.xml&property.config=solrconfig.xml
删除 Collection 命令
http://192.168.11.100:8080/solr/admin/collections?action=DELETE&nam
e=collection1
查询所有的 Collection
http://192.168.11.100:8080/solr/admin/collections?action=LIST
显示集群的状态
http://192.168.11.100:8080/solr/admin/collections?action=CLUSTERSTA
TUS
分裂 shard
http://192.168.11.100:8080/solr/admin/collections?action=SPLITSHARD
&collection=collection2&shard=shard2