Zookerper在Linux上的安裝 最近在項目的時候,遇到一些linux的相關安裝,雖然不難,但是步驟不少,一不小心就會出錯,這樣去找錯誤費時費力,所以一般都是需要重新再來,實在是讓人頭疼,所以這裡做個總結,為需要的朋友留下一個參考,也給自己加深一下印象。 先來說一下zookeeper的安裝 要 ...
Zookerper在Linux上的安裝
最近在項目的時候,遇到一些linux的相關安裝,雖然不難,但是步驟不少,一不小心就會出錯,這樣去找錯誤費時費力,所以一般都是需要重新再來,實在是讓人頭疼,所以這裡做個總結,為需要的朋友留下一個參考,也給自己加深一下印象。
先來說一下zookeeper的安裝
要安裝zookeeper在Linux的虛擬機上,就必須要先安裝jdk,
1,在這之前,要先配置虛擬機的IP相關的設置:
命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改: DEBOOT=yes ,BOOTPROTO=static ,IPADDR=172.18.26.1,
NETMASK=255.255.255.0, DNS1=8.8.8.8。
- 在修改完以後,記得執行這個命令讓修改生效:
- service network restart
2,修改完這些設置以後,就可以在CRT中來執行linux命令,相對來說會方便了很多。
3,接下來,我們來安裝jdk。
- 這裡需要說一下的是,如果安裝的是多個虛擬機,在修改了ip之後,可以用ping 加上你的本機的ip地址來測試一下是否能夠連接。如果需要ping的是外網,記得關閉防火牆。命令:service iptables start/stop。
- 上傳jdk的壓縮文件,我們在/usr目錄下創建一個java目錄:
- [root@localhost ~]# mkdir /usr/local/java
- 解壓jdk文件,然後將解壓後的文件拷貝到/usr/local/java目錄下,並重命名為jdk1.7
- [root@localhost ~]# mv jdk1.7.0_55 /usr/local/java/jdk1.7
- 然後設置環境變數:
命令: [root@localhost java]# vi /etc/profile
將下邊的代碼複製到文件中:
#set java environment
JAVA_HOME=/usr/local/java/jdk1.7
JRE_HOME=/usr/local/java/jdk1.7/jre
CLASS_PATH=.:\(JAVA_HOME/lib/dt.jar:\)JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=\(PATH:\)JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH- 讓修改生效: 這一步一定要記住,否則會連接不上,
- 命令: [root@localhost java]# source /etc/profile
- 驗證JDK是否有效:
- 命令: [root@localhost java]# java -version
出現如下代碼就說明配置成功:
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) Client VM (build 24.55-b03, mixed mode)
接下來安裝zookeeper
- 1.把zookeeper的壓縮包上傳到Linux系統上.
- 建議到官網下載:zookeeper-3.4.6.tar.gz
2,解壓壓縮包: tar -zxvf zookeeper-3.4.6.tar.gz
註意: 在解壓的時候,不同類型的文件的解壓方式不同,以.tar結尾的文件時,使用的是tar ...方式來解壓, 但是如果是zip格式的壓縮包,就提前解壓,然後將裡邊的jar包上傳到Linux.
- 3,解壓完成以後,在local下邊創建zookeeper目錄:
- [root@localhost local]# mkdir zookeeper
- 4,然後複製zookeeper-3.4.6到如下目錄下,並重命名為zk_single
- [root@localhost ~]# cp zookeeper-3.4.6 /usr/local/zookeeper/zk_single -r
- 5,進入到zk_single目錄下邊的conf,將zoo_sample.cfg文件重命名為zoo.cfg
- [root@localhost conf]# mv zoo_sample.cfg zoo.cfg
- 6,然後進到zk_single 下邊的bin,執行運行的命令
- [root@localhost zk_single]# cd bin
- [root@localhost bin]# ls
README.txt zkCli.cmd zkEnv.cmd zkServer.cmd zookeeper.out
zkCleanup.sh zkCli.sh zkEnv.sh zkServer.sh - 7,開始運行: [root@localhost bin]# ./zkServer.sh start
- 8,查看狀態: [root@localhost bin]# ./zkServer.sh status
9,永久關閉--修改配置開機不啟動防火牆: chkconfig iptables off
Zookeeper集群的搭建
- 1,在安裝了jdk的基礎上,以及zookeeper解壓完成.
2,將zookeeper複製三份
[root@localhost ~]# mkdir /usr/local/solr-cloud
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper01
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper02
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper03
3,在每個 zookeeper 目錄下創建一個 data 目錄。
[root@localhost solr-cloud]# mkdir /usr/local/solr-cloud/zookeeper01/data
[root@localhost solr-cloud]# mkdir /usr/local/solr-cloud/zookeeper02/data
[root@localhost solr-cloud]# mkdir /usr/local/solr-cloud/zookeeper03/data
4,在 data 目錄下創建一個 myid 文件,文件名就叫做“myid”。內容就是每個實例的id。例如 1、 2、 3
[root@localhost solr-cloud]# echo 1 > zookeeper01/data/myid
[root@localhost solr-cloud]# echo 2 > zookeeper02/data/myid
[root@localhost solr-cloud]# echo 3 > zookeeper03/data/myid
[root@localhost solr-cloud]# cat zookeeper01/data/myid
1
註意: echo 命令的功能是在顯示器上顯示一段文字,一般起到一個提示的作用。echo 1 > zookeeper01/data/myid,將在顯示器上要顯示的文字等信息寫入到 myid 文件中,
如果文件不存在則創建,如果存在則重寫。
- 5,修改配置文件。把 conf 目錄下的 zoo_sample.cfg 文件改名為 zoo.cfg
- 6,然後對zoo.cfg進行修改:
- vi zoo.cfg
- 以 zookeeper01 為例, zookeeper02, zookeeper03 類似配置
- 需要修改的如下:
- dataDir是數據保存的目錄,
dataDir=/usr/local/solr-cloud/zookeeper01/data - 客戶端連接zookeeper的埠號,保證每個示例介面不衝突
clientPort=2181 - 集群中的節點列表,1,2,3代表節點的id, IP後的埠號是zookeeper內部通訊的埠,和投票選舉的埠,每個埠都不能重覆.
server.1=172.18.88.160:2881:3881
server.2=172.18.88.160:2882:3882
server.3=172.18.88.160:2883:3883
7,啟動每個 zookeeper 實例。編寫腳本進行批處理: start-all-zookeeper.sh
[root@localhost solr-cloud]# vi start-all-zookeeper.sh
cd zookeeper01/bin/
./zkServer.sh start
cd ../../
cd zookeeper02/bin/
./zkServer.sh start
cd ../../
cd zookeeper03/bin/
./zkServer.sh start
cd ../../
- 8,給文件添加可執行許可權
- [root@localhost solr-cloud]# chmod u+x start-all-zookeeper.sh
- 9.啟動:
- [root@localhost solr-cloud]# ./start-all-zookeeper.sh
- 10,查看zookeeper的狀態:
- [root@localhost solr-cloud]# zookeeper03/bin/zkServer.sh status
完畢!