Zookeeper集群部署及给dubbo节点加auth认证

起因:安全漏洞扫描 zookeeper 没有设置任何安全验证

环境:System:Centos7     Java:1.8     Zookeeper:3.6

Server.1

192.168.45.243

Server.2

192.168.44.24

Server.3

192.168.44.117

一、zk集群部署

1.1 部署jdk

把jdk包分别上传至三台节点/opt/app目录下解压

tar -xf jdk1.8.0_77.tar.gz

设置环境变量,在.bash_profile文件里添加如下设置

vim ~/.bash_profile
export JAVA_HOME=/opt/app/jdk1.8.0_77
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source ~/.bash_profile

验证java环境

java -version

1.2 部署zk集群

下载zk包至/opt/app目录(三台节点执行相同的操作)
cd /opt/app
下载zk
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.6.0/apache-zookeeper-3.6.0-bin.tar.gz
# 解压
tar -xf apache-zookeeper-3.6.0-bin.tar.gz 
# 修改名字
mv apache-zookeeper-3.6.0-bin zookeeper
# 创建data目录
cd /opt/app/zookeeper
mkdir data
# 在data目录下创建myid文件
touch myid

在server.1节点myid文件输入1

在server.2节点myid文件输入2

在server.3节点myid文件输入3

# 修改配置文件

cd /opt/app/zookeeper/conf

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

1.3 关闭防火墙

此项是为了防止查看zk集群状态时出现“Error contacting service. It is probably not running.”错误,不关闭防火墙前提需要配置防火墙规则。

查看firewalld运行状态
systemctl status firewalld.service
关闭firewalld
systemctl stop firewalld.service
永久关闭
systemctl disable firewalld.service

1.4 启动zk

分别启动三台节点

cd /opt/app/zookeeper/bin

./ zkServer.sh start

查看集群状态

./zkServer.sh status

server.1

server.2

server.3

此时server.3为领导者

1.5 停止zk

cd /opt/app/zookeeper/bin

./zkServer.sh stop

1.6 重启后查看集群选举是否正常

server.1

server.2

server.3

此时server.2为领导者,集群选举正常

1.7 zk客户端使用

cd /opt/app/zookeeper/bin

./zkCli.sh -server 192.168.45.243:2181      //连本地节点

./zkCli.sh -server 192.168.45.243       //不带端口就采用默认2181端口

./zkCli.sh                     //不带参数回车默认连接本地IP和2181端口

./zkCli.sh -server 192.168.44.24        //也可以连接节点2的zk

二、Zookeeper给dubbo节点加auth认证

2.1 登陆Zookeeper客户端

执行命令: ./zkCli.sh -server localhost:2181

2.2 查看Zookeeper下节点

执行命令:ls /

注:如没有dubbo节点,则可执行create /dubbo来创建dubbo节点

执行命令:create /dubbo

2.3 添加用户名、密码

执行命令: addauth digest admin:P@ssw0rd

2.4 授予/dubbo auth权限

执行命令: setAcl /dubbo auth:admin:P@ssw0rd:rwadc

2.5 修改dubbo-config.xml配置文件

vim dubbo-config.xml

<dubbo:registry protocol="zookeeper" address="${zookeeper.ip}" client="curator"/>

修改为:

<dubbo:registry protocol="zookeeper" address="${zookeeper.ip}" username="admin" password="P@ssw0rd"  client="curator"/>

posted @ 2022-03-17 16:53  sxFu9528  阅读(1198)  评论(0编辑  收藏  举报