一.單機版
1,下載: wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
2,解壓: tar -zxvf zookeeper-3.4.10.tar.gz
3,在 zookeeper-3.4.10/conf 下拷貝 zoo_sample.cfg 並命名爲 zoo.cfg 作爲單機版的配置文件
4,創建一個data文件夾放內容,假設放在/usr/local/zk/下,則修改zoo.cfg裏面的 dataDir=/usr/local/zk/data (路徑按照自己的實際情況)
5,到 zookeeper-3.4.10/bin 目錄下,執行 ./zkServer.sh start ../conf/zoo.cfg (這裏使用相對路徑,zoo.cfg的位置視具體情況而定),一般到這裏zookeeper啓動成功
6,進入客戶端,到 zookeeper-3.4.10/bin 目錄下,執行 ./zkCli.sh -server 127.0.0.1:2181 (這裏的2181是zoo.cfg的clientPort參數)
CRUD : 增:create /node_1 123 , 查: get /node_1 (ls / 可以查詢到所有的根節點) , 改: set /node_1 , 刪: delete /node_1
7.Java代碼連接zookeeper
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.3.6</version>
</dependency>
public static void main(String[] args) throws Exception {
String conn = "************:2181";//根據自己的實際ip而定
ZooKeeper zooKeeper = new ZooKeeper(conn, 20000, null);
Thread.sleep(1000);
zooKeeper.create("/node_5", "444".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
Thread.sleep(1000);
zooKeeper.close();
}
已經進去了
二,僞集羣版
即在 一臺機器上 搭建三個 zookeeper 節點
1,在 zookeeper-3.4.10/conf 下拷貝三份 zoo_sample.cfg 文件並命名爲 zoo1.cfg,zoo2.cfg,zoo3.cfg 作爲三個zookeeper節點的啓動文件
2,分別修改這三個zookeeper節點建立內容文件夾和日誌文件夾: 路徑隨意
3.修改 zoo1.cfg,zoo2.cfg,zoo3.cfg內容,將zoo1.cfg修改爲
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk/data_1
clientPort=2182
dataLogDir=/usr/local/zk/logs_1
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
zoo2.cfg設置爲
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk/data_2
clientPort=2183
dataLogDir=/usr/local/zk/logs_2
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
zoo3.cfg設置爲
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk/data_3
clientPort=2184
dataLogDir=/usr/local/zk/logs_3
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
4.分別在data_1,data_2,data_3下都創建一個文件myid,內容分別爲1,2,3(對應上面zoo1.cgf的server.1中的1, zoo2.cgf的server.2中的2, zoo3.cgf的server.3中的3)
5.分別啓動三個zookeeper節點
集羣搭建成功