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