升級背景說明:html
最近在作系統安全掃描時,掃出來zookeeper存在安全漏洞git
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.shell
ZooKeeper 3.4.x users should upgrade to 3.4.9 or apply this patchapache
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服務器
環境說明:app
當前運行的zookeeper版本:3.4.8this
升級過程:spa
總:本次升級採用的是,新舊版本配置相同,不不使用舊節點的數據,關閉舊節點,啓動新節點,新節點啓動以後,自動同步數據。3d
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