問題場景:由於項目注冊到zookeeper中的地址錯誤,所以想要直接修改zookeeper中對應項目的節點,或者新增對應的正確節點。
1>總結:
由於剛開始對 zkCli.sh 操作不太熟悉,導致把修改節點和修改節點的值給搞混了,所以在此記錄一下,如果有和我一樣的小伙伴,可以早早的明白過來,避免踏坑。
2>所遇問題:
2.1:不知道zookeeper 的端口號???
查看 zookeeper 端口號,可以通過在zookeeper配置文件中查看;如下是我操作的過程:
查看配置文件的未知:
查看配置文件中的zookeeper端口號:
注:-v 是取反;就是查詢文件中所有沒有#號的行;
2.2:創建節點問題???
我使用 create /test 命令無法創建 test 節點,如下圖:
這樣操作不報錯,也不會創建節點,可以使用 ls / 命令去查看;
原因是需要設置節點的值,如果節點的值為空,則命令為 create /test ""
雙引號不能省略;
有的時候還會報如下錯誤:
原因也是沒有加節點的值,如下命令運行就可以成功創建節點了:
3>命令:
連接客戶端:./zkCli.sh -server 0.0.0.0:2181
連接到客戶端之后的命令:
顯示命令列表:help
下面根據自己的理解說一下我用到的幾個:
查看節點(只是查看節點):ls path [watch] demo: ls /
查看節點中的值: get path [watch] demo: get /
一般根目錄是沒有值的,如下圖紅框標識:
設置節點中的值:set path data [version] demo: set / "aaa"
在此查看如下圖:
創建節點:create [-s] [-e] path data acl demo: create /test/app ""
注意創建節點時,一定要加最后的 “”,不然不會創建成功,如下這種不可以:
這種並沒有創建成功,你使用 ls /test 查看,test節點下是沒有子節點的;
如果要在/test/app 目錄下創建web子節點,命令如下:
刪除節點:delete path [version] demo: delete /test/app/web
注意 delete 刪除的節點下不能再有節點,否則無法刪除;如果想要刪除一個目錄及目錄下的子節點,可以使用 rmr path
由於對zookeeper使用不太熟悉,如果有描述的錯誤的,歡迎大家指正,共同進步。