ZooKeeper環境搭建
ZooKeeper版本:3.4.6
解壓縮zookeeper-3.4.6.tar.gz
建立配置檔案
zookeeper-3.4.6/conf/zoo.cfg:
tickTime=2000
dataDir=/home/zookeeper/data/
clientPort=2181
initLimit=5
syncLimit=2
maxClientCnxns=1000
server.105=192.168.1.105:2888:3888
server.106=192.168.1.106:2888:3888
server.108=192.168.1.108:2888:3888
server.109=192.168.1.109:2888:3888
server.110=192.168.1.110:2888:3888
然後將目錄複製到各臺伺服器.
啟動ZooKeeper服務
./zkServer.sh start
ACL配置
作為配置中心,許可權控制肯定是必要的.否則一旦出現問題...畫面太美
zookeeper目前支援下面一些許可權:
CREATE(c): 建立許可權,可以在在當前node下建立child node
DELETE(d): 刪除許可權,可以刪除當前的node
READ(r): 讀許可權,可以獲取當前node的資料,可以list當前node所有的child nodes
WRITE(w): 寫許可權,可以向當前node寫資料
ADMIN(a): 管理許可權,可以設定當前node的permission
許可權模式
IP,Digest帳號密碼,World預設都開放,Super超級許可權.
以如下節點為例
/service/vdfs/upload/default
我需要建立一個讀寫帳號,和一個只讀帳號.
服務提供者用讀寫帳號(vdfs)
服務呼叫者用只讀帳號(vdfsreadonly)
使用程式計算密碼摘要
設定節點ACL
setAcl /service/vdfs/upload/default digest:vdfs:8bD/0+39dpuh0wUiFnwt1yY1Lu0=:cdrwa,digest:vdfsreadonly:1VzGwZ3x8y+8/yvHeRaqa4hNs+4=:r
digest:vdfs:8bD/0+39dpuh0wUiFnwt1yY1Lu0=:cdrwa
digest說明是帳號密碼認證
vdfs是帳號名稱
8bD/0+39dpuh0wUiFnwt1yY1Lu0= 是密碼摘要
cdrwa 表示許可權
兩個帳號之間,用逗號分隔.
檢視節點ACL
[zk: localhost:2181(CONNECTED) 2] getAcl /service/vdfs/upload/default
'digest,'vdfs:8bD/0+39dpuh0wUiFnwt1yY1Lu0=
: cdrwa
'digest,'vdfsreadonly:1VzGwZ3x8y+8/yvHeRaqa4hNs+4=
: r
登入vdfsreadonly帳號,可以檢視資料,不能新建資料.
而登入vdfs帳號,則有讀寫許可權
增加ACL之後,運維會比較麻煩,需要反覆切換帳號。
ZooKeeper提供了一個Super帳號,用於運維人員.
同樣需要根據密碼先計算一個摘要.
假如設定super的密碼為123456,其摘要為 1VzGwZ3x8y+8/yvHeRaqa4hNs+4=
修改zkServer.sh檔案
大致109行的位置,
增加如下內容
nohup "$JAVA" -Xmx2G -Xms512m -Dzookeeper.DigestAuthenticationProvider.superDigest=super:1VzGwZ3x8y+8/yvHeRaqa4hNs+4= "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
重啟ZooKeeper節點
然後登入zkCli.sh
使用Super認證,既獲得管理員超級許可權.
addauth digest super:123456
解壓縮zookeeper-3.4.6.tar.gz
建立配置檔案
zookeeper-3.4.6/conf/zoo.cfg:
tickTime=2000
dataDir=/home/zookeeper/data/
clientPort=2181
initLimit=5
syncLimit=2
maxClientCnxns=1000
server.105=192.168.1.105:2888:3888
server.106=192.168.1.106:2888:3888
server.108=192.168.1.108:2888:3888
server.109=192.168.1.109:2888:3888
server.110=192.168.1.110:2888:3888
然後將目錄複製到各臺伺服器.
啟動ZooKeeper服務
./zkServer.sh start
ACL配置
作為配置中心,許可權控制肯定是必要的.否則一旦出現問題...畫面太美
zookeeper目前支援下面一些許可權:
CREATE(c): 建立許可權,可以在在當前node下建立child node
DELETE(d): 刪除許可權,可以刪除當前的node
READ(r): 讀許可權,可以獲取當前node的資料,可以list當前node所有的child nodes
WRITE(w): 寫許可權,可以向當前node寫資料
ADMIN(a): 管理許可權,可以設定當前node的permission
許可權模式
IP,Digest帳號密碼,World預設都開放,Super超級許可權.
以如下節點為例
/service/vdfs/upload/default
我需要建立一個讀寫帳號,和一個只讀帳號.
服務提供者用讀寫帳號(vdfs)
服務呼叫者用只讀帳號(vdfsreadonly)
使用程式計算密碼摘要
設定節點ACL
setAcl /service/vdfs/upload/default digest:vdfs:8bD/0+39dpuh0wUiFnwt1yY1Lu0=:cdrwa,digest:vdfsreadonly:1VzGwZ3x8y+8/yvHeRaqa4hNs+4=:r
digest:vdfs:8bD/0+39dpuh0wUiFnwt1yY1Lu0=:cdrwa
digest說明是帳號密碼認證
vdfs是帳號名稱
8bD/0+39dpuh0wUiFnwt1yY1Lu0= 是密碼摘要
cdrwa 表示許可權
兩個帳號之間,用逗號分隔.
[zk: localhost:2181(CONNECTED) 2] getAcl /service/vdfs/upload/default
'digest,'vdfs:8bD/0+39dpuh0wUiFnwt1yY1Lu0=
: cdrwa
'digest,'vdfsreadonly:1VzGwZ3x8y+8/yvHeRaqa4hNs+4=
: r
登入vdfsreadonly帳號,可以檢視資料,不能新建資料.
而登入vdfs帳號,則有讀寫許可權
增加ACL之後,運維會比較麻煩,需要反覆切換帳號。
ZooKeeper提供了一個Super帳號,用於運維人員.
同樣需要根據密碼先計算一個摘要.
假如設定super的密碼為123456,其摘要為 1VzGwZ3x8y+8/yvHeRaqa4hNs+4=
修改zkServer.sh檔案
大致109行的位置,
增加如下內容
nohup "$JAVA" -Xmx2G -Xms512m -Dzookeeper.DigestAuthenticationProvider.superDigest=super:1VzGwZ3x8y+8/yvHeRaqa4hNs+4= "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
重啟ZooKeeper節點
然後登入zkCli.sh
使用Super認證,既獲得管理員超級許可權.
addauth digest super:123456
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2096025/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Zookeeper 叢集環境搭建
- ZooKeeper 系列(二)—— Zookeeper單機環境和叢集環境搭建
- Mesos+Zookeeper+Marathon+Docker環境搭建Docker
- Zookeeper環境搭建及簡單練習
- Hadoop叢集之 ZooKeeper和Hbase環境搭建Hadoop
- Zookeeper原始碼分析(一) ----- 原始碼執行環境搭建原始碼
- Windows單機配置Zookeeper環境Windows
- 環境搭建
- windows環境下Django環境搭建WindowsDjango
- zookeeper安裝和使用 windows環境Windows
- react環境搭建React
- LNMP 環境搭建LNMP
- 搭建Java環境Java
- Vagrant 環境搭建
- Flutter環境搭建Flutter
- swoft 環境搭建
- OpenGL 環境搭建
- 搭建gym環境
- 搭建lnmp環境LNMP
- Angular環境搭建Angular
- JDK環境搭建JDK
- keil環境搭建
- Dubbo環境搭建
- mac搭建環境Mac
- FNA 環境搭建
- FNA環境搭建
- Maven 環境搭建Maven
- spark環境搭建Spark
- Hive環境搭建Hive
- centosLAMP環境搭建CentOSSLAMLAMP
- lnmp環境搭建LNMP
- lnamp環境搭建
- java 環境 搭建Java
- MAVEN環境搭建Maven
- App環境搭建APP
- gogs環境搭建Go
- Windows環境下的Nginx環境搭建WindowsNginx
- Hadoop-2.6.0 + Zookeeper-3.4.6 + HBase-0.98.9-hadoop2環境搭建示例Hadoop