最近在搭建 zookeeper 和 dubbo 的環(huán)境時候瞒大,踩過很多坑碌奉,所以在此總結(jié)下!
一姨谷、zookeeper 問題總結(jié)
zookeeper 是一個注冊中心,注冊中心負責服務(wù)地址的注冊與查找映九,相當于目錄服務(wù)梦湘,服務(wù)提供者和消費者只在啟動時與注冊中心交互,注冊中心不轉(zhuǎn)發(fā)請求,壓力較小践叠。
zookeeper 是 Apacahe Hadoop 的子項目,是一個樹型的目錄服務(wù)嚼蚀,支持變更推送禁灼,適合作為Dubbo 服務(wù)的注冊中心,工業(yè)強度較高轿曙,可用于生產(chǎn)環(huán)境弄捕。
0、zookeeper 在Linux系統(tǒng)的安裝和啟動
推薦使用 WinSCP+Putty(集成使用) : WinSCP 可視化界面可以直接將文件拖入 /root/ 根目錄下导帝。
-
將 zookeeper 的壓縮包直接拖入 /root/ 根目錄守谓,在WinSCP 打開 putty 輸入命令解壓 zookeeper :
tar -zxvf zookeeper-3.4.14.tar.gz。
zookeeper--3.4.14 目錄下您单,創(chuàng)建 data 文件夾:mkdir data斋荞。
-
進入conf 目錄 ,把 zoo_sample.cfg 改名為 zoo.cfg虐秦。
mv zoo_sample.cfg zoo.cfg平酿。
-
打開zoo.cfg,修改 data 屬性悦陋。
修改dataDir=/root/zookeeper-3.4.14 /data
-
zookeeper 服務(wù)啟動
進入bin目錄蜈彼,./zkServer.sh start、./zkServer.sh stop俺驶、./zkServer.sh status
1幸逆、 zookeeper 客戶端連接錯誤: Will not attempt to authenticate using SASL(unknown error),如下圖:
解決方法
-
查看 zookeeper 客戶端是否已經(jīng)啟動暮现,如下圖:
- 如果 zookeeper 客戶端已經(jīng)啟動但是依舊連接失敗还绘,請檢查 linux 的防火墻是否關(guān)閉,如下圖:
-
再次啟動 zookeeper 栖袋,就不會報圖1的錯誤了蚕甥。
還有一種可能就是代碼中的 zookeeper 的 IP 填寫錯誤,導(dǎo)致連接不上栋荸,同學(xué)們要仔細檢查菇怀。
二、Dubbo 問題總結(jié)
Dubbo 是一個分布式服務(wù)框架晌块,其前身是阿里巴巴開源項目Dubbo爱沟。Dubbo 致力于提供高性能和透明化的RPC遠程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案匆背。
簡單的說呼伸,Dubbo 就是個服務(wù)框架,如果沒有分布式的需求,其實是不需要用的,只有在分布式的時候球涛,才有 Dubbo 這樣的分布式服務(wù)框架的需求科平,并且本質(zhì)上是個服務(wù)調(diào)用的東東,說白了就是個遠程服務(wù)調(diào)用的分布式框架剩愧。
0、Dubbo 如何本地打包啟動(Dubbo-admin搭建過程)娇斩?
下載dubbo-admin :git clone https://github.com/apache/dubbo-admin.git仁卷。
解壓下載下來的包,進入 dubbo-admin 文件夾犬第,執(zhí)行命令:mvn clean package锦积。
在執(zhí)行
mvn clean package
命令過程中,耗時比較長(親測耗時 12 分鐘)歉嗓,如果出現(xiàn)如下圖所示錯誤丰介,可忽略(只列出一部分,僅供參考)鉴分。
-
等待了漫長的過程后基矮,直到出現(xiàn)下圖所示即算打包成功。
-
啟動 dubbo-admin:打包成功后,啟動 dubbo-admin-distribution/target 下的 jar 包即可冠场。
cd dubbo-admin-distribution/target
java -jar dubbo-admin-0.1.jar
-
啟動成功后訪問:http://localhost:8080 輸入用戶名和密碼(都為root)家浇,即可登陸。
-
重點記錄
zookeeper 的注冊地址 ip 和登陸 dubbo-admin 的用戶名和密碼在
dubbo-admin-server/src/main/resources/application.properties
碴裙,可以設(shè)置钢悲。