对 zookeeper 和 dubbo 问题总结
最近在搭建 zookeeper 和 dubbo 的环境时候,踩过很多坑,所以在此总结下!
一、zookeeper 问题总结
zookeeper 是一个注册中心,注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。
zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbo 服务的注册中心,工业强度较高,可用于生产环境。
0、zookeeper 在Linux系统的安装和启动
-
推荐使用 WinSCP+Putty(集成使用) : WinSCP 可视化界面可以直接将文件拖入 /root/ 根目录下。
-
将 zookeeper 的压缩包直接拖入 /root/ 根目录,在WinSCP 打开 putty 输入命令解压 zookeeper :
tar -zxvf zookeeper-3.4.14.tar.gz。
-
zookeeper--3.4.14 目录下,创建 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 服务启动
进入bin目录,./zkServer.sh start、./zkServer.sh stop、./zkServer.sh status
1、 zookeeper 客户端连接错误: Will not attempt to authenticate using SASL(unknown error),如下图:
解决方法
- 查看 zookeeper 客户端是否已经启动,如下图:
- 如果 zookeeper 客户端已经启动但是依旧连接失败,请检查 linux 的防火墙是否关闭,如下图:
-
再次启动 zookeeper ,就不会报图1的错误了。
还有一种可能就是代码中的 zookeeper 的 IP 填写错误,导致连接不上,同学们要仔细检查。
二、Dubbo 问题总结
Dubbo 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo。Dubbo 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
简单的说,Dubbo 就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有 Dubbo 这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。
0、Dubbo 如何本地打包启动(Dubbo-admin搭建过程)?
-
下载dubbo-admin :git clone https://github.com/apache/dubbo-admin.git。
-
解压下载下来的包,进入 dubbo-admin 文件夹,执行命令:mvn clean package。
-
在执行
mvn clean package
命令过程中,耗时比较长(亲测耗时 12 分钟),如果出现如下图所示错误,可忽略(只列出一部分,仅供参考)。
- 等待了漫长的过程后,直到出现下图所示即算打包成功。
-
启动 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
,可以设置。