安裝前需要安裝好jdk
檢測集群時間是否同步
檢測防火牆是否關閉
檢測主機 ip對映有沒有配置
tar -zxvf zookeeper-3.4.5.tar.gz
修改環境變數(注意:3臺zookeeper都需要修改)
vim /etc/profile.d/zookeeper.sh
export zookeeper_home=zookeeper安裝目錄的絕對路徑
export path=$path:$zookeeper_home/bin
source /etc/profile
修改zookeeper配置檔案
(1) cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改:datadir=zookeeper安裝目錄的絕對路徑/zkdata
新增:server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
(2) cd zookeeper安裝目錄的絕對路徑
mkdir zkdata
cd zkdata
在data資料夾下新建myid檔案,myid的檔案內容為:
echo '1' > myid
分發安裝包和環境變數檔案(記得source)到其他機器
修改其他機器的配置檔案
修改myid檔案
到node02上 修改myid為:2
到node03上 修改myid為:3
啟動(每台機器)
zkserver.sh start
或者編寫乙個指令碼來批量啟動所有機器:
for host in node01 node02 node03
do ssh $host "source /etc/profile;zookeeper安裝目錄的絕對路徑/bin/zkserver.sh start"
done
檢視集群狀態
jps(檢視程序)
zkserver.sh status(檢視集群狀態,主從資訊)
如果啟動不成功,可以觀察zookeeper.out日誌,檢視錯誤資訊進行排查
配置檔案中引數說明:
ticktime這個時間是作為zookeeper伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是說每個ticktime時間就會傳送乙個心跳。
initlimit這個配置項是用來配置zookeeper接受客戶端(這裡所說的客戶端不是使用者連線zookeeper伺服器的客戶端,而是zookeeper伺服器集群中連線到leader的follower 伺服器)初始化連線時最長能忍受多少個心跳時間間隔數。
當已經超過10個心跳的時間(也就是ticktime)長度後 zookeeper 伺服器還沒有收到客戶端的返回資訊,那麼表明這個客戶端連線失敗。總的時間長度就是 10*2000=20秒。
synclimit這個配置項標識leader與follower之間傳送訊息,請求和應答時間長度,最長不能超過多少個ticktime的時間長度,總的時間長度就是5*2000=10秒。
datadir顧名思義就是zookeeper儲存資料的目錄,預設情況下zookeeper將寫資料的日誌檔案也儲存在這個目錄裡;
clientport這個埠就是客戶端連線zookeeper伺服器的埠,zookeeper會監聽這個埠接受客戶端的訪問請求;
server.a=b:c:d中的a是乙個數字,表示這個是第幾號伺服器,b是這個伺服器的ip位址,c第乙個埠用來集群成員的資訊交換,表示這個伺服器與集群中的leader伺服器交換資訊的埠,d是在leader掛掉時專門用來進行選舉leader所用的埠。
大資料環境搭建之安裝zookeeper
安裝zookeeper之前 一定要安裝好jdk 不會安裝jdk的兄弟們可以進鏈結 安裝jdk1.8 解壓包tar zxvf zookeeper 刪除這兩個資料夾 進入 conf目錄 修改zoo sample.cfg 名字 配置好這兩個後儲存 esc wq 建立 zkdata 建立myid 新增值為1...
大資料系列 之Hive DDL and DML
hive定義了一套自己的sql,簡稱hql,它與關係型資料庫的sql略有不同,但支援了絕大多數的語句如ddl dml以及常見的聚合函式 連線查詢 條件查詢。ddl操作 資料定義語言 包括 create alter show drop等。1 create database 建立新資料庫 2 alter...
大資料ZooKeeper快速入門
zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務,是google的chubby乙個開源的實現,是hadoop和hbase的重要元件。它是乙個為分布式應用提供一致性服務的軟體,提供的功能包括 配置維護 網域名稱服務 分布式同步 組服務等。zookeeper的目標就是封裝好複雜易出錯...