对 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 和 dubbo 问题总结

解决方法

  • 查看 zookeeper 客户端是否已经启动,如下图:

对 zookeeper 和 dubbo 问题总结

  • 如果 zookeeper 客户端已经启动但是依旧连接失败,请检查 linux 的防火墙是否关闭,如下图:

对 zookeeper 和 dubbo 问题总结

  • 再次启动 zookeeper ,就不会报图1的错误了。

    还有一种可能就是代码中的 zookeeper 的 IP 填写错误,导致连接不上,同学们要仔细检查。

二、Dubbo 问题总结

Dubbo 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo。Dubbo 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

简单的说,Dubbo 就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有 Dubbo 这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。

对 zookeeper 和 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 分钟),如果出现如下图所示错误,可忽略(只列出一部分,仅供参考)。

对 zookeeper 和 dubbo 问题总结

  • 等待了漫长的过程后,直到出现下图所示即算打包成功。

对 zookeeper 和 dubbo 问题总结

  • 启动 dubbo-admin:打包成功后,启动 dubbo-admin-distribution/target 下的 jar 包即可。

    cd dubbo-admin-distribution/target

    java -jar dubbo-admin-0.1.jar

  • 启动成功后访问:http://localhost:8080 输入用户名和密码(都为root),即可登陆。

对 zookeeper 和 dubbo 问题总结

  • 重点记录

    zookeeper 的注册地址 ip 和登陆 dubbo-admin 的用户名和密码在 dubbo-admin-server/src/main/resources/application.properties,可以设置。