zookeeper從3.4.8升級到3.4.14


升級背景說明

最近在做系統安全掃描時,掃出來zookeeper存在安全漏洞

Apache Zookeeper 緩沖區溢出漏洞(CVE-2016-5017)

官方給出的升級建議

地址:https://zookeeper.apache.org/security.html#CVE-2016-5017

Mitigation: It is important to use the fully featured/supported Java cli shell rather than the C cli shell independent of version.

  • ZooKeeper 3.4.x users should upgrade to 3.4.9 or apply this patch

  • ZooKeeper 3.5.x users should upgrade to 3.5.3 when released or apply this patch

即:升級到較高版本或者打補丁。由於當前環境中使用的版本是3.4.8.所以,將zk升級到3.4版本當前的最新版本。3.4.14

環境說明

  當前運行的zookeeper版本:3.4.8

升級過程

總:本次升級采用的是,新舊版本配置相同,不不使用舊節點的數據,關閉舊節點,啟動新節點,新節點啟動之后,自動同步數據。

1.下載zookeeper 3.4最新的版本3.4.14

下載地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

2.將軟件上傳到zookeeper所在的服務器

3.解壓縮

tar -C ../app/ -zxf zookeeper-3.4.14.tar.gz 

4.增加配置文件,創建數據目錄,創建id文件

cp zookeeper-3.4.8/conf/zoo.cfg zookeeper-3.4.14/conf/
mkdir zookeeper-3.4.14/data
cp zookeeper-3.4.8/data/myid zookeeper-3.4.14/data/

備注:直接將原來zk版本中的配置文件拷貝到新版本目錄下,同時,id文件必須要拷貝。

5.修改zoo.cfg配置文件中的dataDir配置,變更為新版本的data目錄

[aiprd@host-10-124-163-135 app]$ grep dataDir zookeeper-3.4.14/conf/zoo.cfg 
dataDir=/mnt/aiprd/app/zookeeper-3.4.14/data
# The number of snapshots to retain in dataDir

備注:修改為新版本的data目錄

6.關閉舊節點,啟動新節點,並查看節點的狀態

zookeeper-3.4.8/bin/zkServer.sh stop
zookeeper-3.4.14/bin/zkServer.sh start
[aiprd@host-10-124-163-135 app]$ zookeeper-3.4.14/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /mnt/aiprd/app/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower

備注:節點已經啟動成功,可以通過zkCli.sh腳本查看其中的配置

zookeeper-3.4.14/bin/zkCli.sh -server 10.124.163.135:2181
#查看其中注冊的regionserver的信息。已經有數據,說明升級成功。
[zk: 10.124.163.135:2181(CONNECTED) 15] ls /hbase/rs        
[host-10-124-163-134,16020,1562122185977, host-10-124-163-135,16020,1562122203415, host-10-124-163-136,16020,1562122183160]

7.通過滾動升級的方式,將其他的節點進行升級,升級的過程中,如果是leader,關閉之后,則會自動重新選舉出新的leader

8.同樣,可以通過hbase-hmaster的監控查看使用的zk的版本的信息

http://10.124.163.134:16010/master-status

 

備注:經過查看,hbase使用的zookeeper的版本是3.4.14.並且有連接,本次升級成功。

 

另外:如果升級失敗,將原有版本啟動,關閉新版本即可,因為zookeeper是集群模式,因此,對於生產,也是可以滾動升級的。

 

文檔創建時間:2019年8月13日16:47:48


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM