zookeeper 安装及集群
一、zookeeper介紹
????????zookeeper是一個中間件,為分布式系統提供協調服務,可以為大數據服務,也可以為java服務。
????? ? 分布式系統,很多計算機組成一個整體,作為一個整體一致對外并處理同一請求,內部每臺計算機都可以相互通信,客戶端到服務器端的依次請求到響應結束會經歷多個計算機。
特性:一致性。數據一致性,數據按照順序分批入庫,
????????? ? 原子性:事務要么成功要么失敗
????????????單一試圖:客戶端連接集群人一個節點,數據都是一致的。
????????????可靠性:每次對zk操作狀態都會保存在服務端
????????????實時性:客戶端可以獨到zk服務端最新數據
二、環境安裝?
?本博主安裝環境:linux ,centos6.7, jdk1.8,zookeeper3.4.9?
?
????java環境的jdk的安裝
? ? 安裝之前可以先卸載掉
? ? 查看系統的jdk rpm 版本:rpm -qa | grep jdk
? ? 卸載原有的:
????yum remove java-1.6.0-openjdk
????yum remove java-1.7.0-openjdk
? ? 下載安裝新的1.8的JDK:
????官網上下載jdk-8u171-linux-i586.rpm,并拷貝的linux的home文件夾下
?? ? cd /home
? ? ?cp jdk-8u171-linux-i586.rpm /usr/loacal/jdk1.8
??????rpm?? -ivh??jdk-8u171-linux-i586.rpm
命令: rpm?? -ivh?? package.ix86.rpm ?的意思如下:
?
在上面的命令中,package是個假定的名字,ix86是這個包為特定的CPU做了優化處理的意思。例如,package可能是ldconfig-1.9.5-14,而ix86是i386這樣的。??
“-i”參數指明是要安裝這個package,而“-v”這個參數則使輸出信息增加,“-h”表示在安裝過程中顯示hashes作為在安裝過程的一個進度條。 ?
java -version 查看安裝成功。
三、zookeeper 安裝及集群?
我們在linux上創建三個虛擬機,如下:
從上到下對應的ip地址分別是
192.168.10.185,192.168.10.174,192.168.10.127
首先在127上進行安裝。
1. 從官網下載并上傳zookeeper-3.4.9.tar.gz 到linux的home目錄下,在usr/local下面創建zookeeper文件夾,拷貝zookeeper3.4.9.tar.gz到zookeeper文件夾下。
2.解壓 tar -zxvf zookeeper3.4.9.tar.gz,解壓完成如下:
3.配置相應配置文件
????1)進行zoo.cfg配置
解壓后zookeeper文件夾下出現解壓后的文件夾zookeeper-3.4.9。在zookeeper下創建data文件夾作為數據目錄。
cd zookeeper-3.4.9/conf ?修改zoo_sample.cfg文件名為zoo.cfg并vim進行編輯配置
集群配置信息格式為:server.id=host:port:port
其中,id被稱為Server ID,用來標識該機器在集群中的機器序號,兩個port是用來系統間通信的。
同時,在每臺zookeeper機器上,我們都需要在數據目錄dataDir指定的目錄下創建一個myid文件,該文件只有一行內容,并且只是一個數字,即是對應的每臺機器的Server ID——id。需要注意的是每臺機器的myid文件中的數字不同,id的范圍是1~255。
? ? 2)進行myid文件配置
進入dataDir目錄下,vim myid ,然后寫入id即可在dataDir下面創建了一個寫入id的myid文件。
這樣一臺機器配置就完成了,然后為他兩臺機器配置zoo.cfg(完全相同)和myid(id號不同)。
四、啟動服務,可以按順序啟動
啟動成功。
四、集群驗證
????????驗證集群是否成功,在相應bin目錄下輸入 ./zkServer.sh status 命令,但是在查看狀態時卻??Error contacting service.it is probably not running
網上原因有可能有如下幾種:
?
- 原因一:防火墻攔截,需要關閉防火墻
- 原因二:缺少 zookeeper 集群所需的文件(如缺少myid文件,本博主不缺)
- 原因三:zoo.cfg 配置文件中指向的路徑錯誤(本博主檢查也完全正確)
- 原因四:zookeeper 客戶端端口被占用(這個可以通過命令查看,本博主確定沒有運行相關占用端口的程序)
經過排除,本博主鎖定原因一,
解決:關閉三臺機器的防火墻 命令:service iptables stop,如下:
然后再次查看狀態
192.168.10.127
192.168.10.174
192.168.10.185
至此,zookeeper集群成功。
?
?
?
轉載于:https://www.cnblogs.com/xiaoyao-001/p/9184785.html
總結
以上是生活随笔為你收集整理的zookeeper 安装及集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Node 连接Mysql并进行增删改查
- 下一篇: 关于HashSet