首页 > 编程知识 正文

zk集群搭建,群晖套件中心连接失败

时间:2023-05-06 05:55:15 阅读:150033 作者:297

文章目录1 .构建前准备1.1 ssh无密码登录配置方法安装1.2JDK1.3构建zookeeper 2.zookeeper集群2.1zookeeper服务3 .启动问题

1 .构建前准备1.1 ssh无密码注册配置方法

至少准备三台主机服务器。 例如,我的主机服务器分别是:

服务器名称IP服务器master81.68.172.91服务器slave1121.43.177.90服务器slave2114.132.222.63首先在服务器master服务器上生成私钥,然后生成私钥

3358 www.Sina.com/[ root @ master~] $ ssh-keygengeneratingpublic/privatersakeypair.enterfileinwhichtosavethethekey 330 3360 entersamepassphraseagain : youridentificationhasbeensavedin/home/usera/. ssh/id _ RSA.yourpublickeyhasbeeeensansssatin id _ RSA.pub.thekeyfingerprintis 3360393360 f 2: fc 336070: ef : e 933605336005:0403:6 e 33603603600 b 03333333333: b 00 b 0330 b 0030 b 003030 b 030304030 b 030 b 040333333333 ndomartimageis :-- [ RSA 2048 ]--|EO *|||||||||oo.|||||----------命令

id_rsa私钥id_rsa.pub公钥(将公钥传输到其他两台服务器并添加到authorized_keys文件中)命令scp id_rsa.pub用户名@ 121.43.177 使用home将公钥分别传输到两个SSA分别登录到slave1和slave2,并检查slave1和slave2下是否有authorized_keys文件。 一般位于. ssh文件夹下。 如果没有,请创建authorized_keys文件。 然后,将权限变更为“600”。 [ usera @ server1~ ] $ touch authorized _ keys [ usera @ server1~ ] $ chmod 600 authorized _ keys分别是slave1和slave2服务器像[ usera @ server 1到authorized _ keys这样,主主机可以在通过scp命令将文件复制到两台slave主机时免除密码。

1.2安装JDK在Linux环境下下载jdk1.8

3358 www.Oracle.com/tech network/Java/Java se/downloads/JDK8- downloads-2133151.html

下载JDK压缩包并将其上载到服务器,然后使用解压缩命令。

[ root @ localhost/home/geek ] # tar-zxvf JDK-8u 181-Linux-x64.tar.gz将解压缩后的文件夹重命名为jdk1.8。

[ root @ localhost/home/geek ] # mv JDK-8u 181-Linux-x64 JDK 1.8然后设置JDK环境变量。

按[ root @ localhost/home/geek ] # vim/etc/profilei进入编辑,在profile文件的末尾添加以下内容

export Java _ home=/home/geek/JDK 1.8 # JDK安装目录export JRE _ home=$ { Java _ home }/jreexportclasspath=.330 lib : $ classpathexportjava _ path=$ { Java _ home }/xsd HJ : $ { JRE _ home }/xsdhjexportpath=$ path 3360 $ {

保存编辑并退出

使用source /etc/profile命令立即启用profile文件

[root@localhost /home/ge

ek]# source /etc/profile

安装好JDK以后,可以将jdk1.8的包用scp命令分别传到slave1和slave2的对应文件夹下,如下:

[root@localhost /home/geek]# scp -r jdk1.8 root@121.43.177.90:/home/geek

需要加上 -r 参数,递归的复制整个jdk1.8文件夹将其复制到slave服务器上,然后在slave服务器上配置好各自的jdk环境变量。

1.3 下载并配置zookeeper

到zookeeper官网的下载页面下载zookeeper的压缩包,此时注意,官网有两种zookeeper压缩包,带xsdhj的是直接使用的非源码包(我们需要下载这个zookeeper),而另一个不带xsdhj的压缩包是源码包,需要编译才能运行。
下载好后将其在master主机上解压缩:

[root@localhost /home/geek]# tar -zxvf apache-zookeeper-3.5.8-xsdhj.tar.gz

然后将其重命名为zookeeper文件名:

[root@localhost /home/geek]# mv apache-zookeeper-3.5.8-xsdhj zookeeper

然后进入conf文件夹,复制zoo_sample.cfg为zoo.cfg:

[root@localhost /home/geek/zookeeper/conf]# cp zoo_sample.cfg zoo.cfg

修改zoo.cfg配置文件中以下内容:
dataDir=/opt/zookeeper/data
配置环境变量:
转到root用户,首先进入到 /etc/profile 目录,添加相应的配置信息:

#set zookeeper environment

export ZK_HOME=/opt/soft/zookeeper/apache-zookeeper-3.5.8-xsdhj/export PATH=$PATH:$ZK_HOME/xsdhj

然后通过如下命令使得环境变量生效:

source /etc/profile 2.zookeeper集群搭建

进入zookeeper的conf文件夹,编辑zoo.cfg配置文件,如下:
增加以下信息:比如配置master
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
master、slave1和slave2分别代表三个服务器IP,需要通过修改hosts文件加入master、slave1和slave2与三个服务器的IP映射,然后通过scp将hosts文件分别复制并覆盖slave1和slave2对应hosts文件。
zookeeper 的三个端口作用

1、2181 : 对 client 端提供服务
2、2888 : 集群内机器通信使用
3、3888 : 选举 leader 使用
按 server.id = ip:port:port 修改集群配置文件

dataDir 指定的目录下,创建 myid 文件
对应主机中该文件中写上server.x 即可,如master写1

[root@master /opt/zookeeper/data]# echo 1 > myid [root@master /opt/zookeeper/data]# cat myid 1

通过scp命令将zookeeper复制到其他slave主机对应位置。

搞好以后,分别启动master、slave1和slave2主机的zookeeper:
============================================================

2.1 启动zookeeper服务

============================================================
启动命令:

zkServer.sh start

停止命令:

zkServer.sh stop

重启命令:

zkServer.sh restart

查看集群节点状态:

zkServer.sh status 启动成功以后在各个服务器用查看状态命令查询如果分别出现flower/leader两种mode模式,即表示成功: root@VM-8-13-ubuntu:/home/geek/zookeeper/logs# zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /home/geek/zookeeper/xsdhj/../conf/zoo.cfgClient port found: 2181. Client address: localhost. Client SSL: false.Mode: follower root@linuxprobe:/home/geek/zookeeper/logs# zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /home/geek/zookeeper/xsdhj/../conf/zoo.cfgClient port found: 2181. Client address: localhost. Client SSL: false.Mode: follower root@iZbp10sz66ubwpdg3fy8zwZ:/home/geek# zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /home/geek/zookeeper/xsdhj/../conf/zoo.cfgClient port found: 2181. Client address: localhost. Client SSL: false.Mode: leader leader—领导者 只有一个flower—留胡子的菠萝 多个 3. 启动问题

启动前需要关闭防火墙(生产环境需要打开对应端口)
systemctl stop firewalld
如果部署在云服务上,需要到云平台的服务器防火墙那里设置开放2188、2888和3888端口,master、slave1、slave2三个服务器都要开放对应端口。

云服务上搭建zookeeper集群,Zookeeper启动失败,报错 Cannot open channel to 3 at election address
解决思路:
在每个znode上。我修改了配置文件$ ZOOKEEPER_HOME / conf / zoo.cfg,将机器IP设置为“0.0.0.0”,同时保持其他2个znode的IP地址。见下文

master服务器部署zookeeper1,配置文件server如下:

server.1=0.0.0.0:2888:3888
server.2=120.78.123.192:2888:3888
server.3=192.168.11.108:2888:3888

slave1部署zookeeper2,配置文件server如下:

server.1=47.106.132.191:2888:3888
server.2=0.0.0.0:2888:3888
server.3=192.168.11.108:2888:3888

slave2部署zookeeper3.配置文件的server如下:

server.1=47.106.132.191:2888:3888
server.2=120.78.123.192:2888:3888
server.3=0.0.0.0:2888:3888

如果启动时报错,可以通过查看zookeeper文件夹里面的logs日志,来找到zookeeper集群出错原因:

root@VM-8-13-ubuntu:/home/geek/zookeeper/logs# cat zookeeper-root-server-VM-8-13-ubuntu.out

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。