1. 程式人生 > >linux環境使用SolrCloud和Zookeeper搭建分散式集群系統

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