linux中搭建zookeeper集群步骤以及报错Error contacting service. It is probably not running.的处理步骤

一、搭建zookeeper集群的搭建步骤

1.1)集群规划

在 hadoop102、hadoop103 和 hadoop104 三个节点机器上部署 Zookeeper。zookeeper官网下载地址
在这里插入图片描述

1.2)解压安装

(1)解压 Zookeeper 安装包到/opt/module/目录下

[atguigu@hadoop102 software]$ tar -zxvf zookeeper-3.5.7.tar.gz -C
/opt/module/

(2)同步/opt/module/zookeeper-3.5.7 目录内容到 hadoop103、hadoop104

1.3)配置服务器编号

(1)在/opt/module/zookeeper-3.5.7/这个目录下创建 zkData

[atguigu@hadoop102 zookeeper-3.5.7]$ mkdir -p zkData

(2)在/opt/module/zookeeper-3.5.7/zkData 目录下创建一个 myid 的文件

[atguigu@hadoop102 zkData]$ touch myid
添加 myid 文件,注意一定要在 linux 里面创建,在 notepad++里面很可能乱码

(3)编辑 myid 文件(每个机器单独的编号,对应下面zoo.cfg中配置的集群server内容后面的数字)

[atguigu@hadoop102 zkData]$ vi myid
在文件中添加与 server 对应的编号:
2

(4)拷贝配置好的 zookeeper 到其他机器上
[atguigu@hadoop102 zkData]$ xsync myid
并分别在 hadoop103、hadoop104 上修改 myid 文件中内容为 3、4

1.4)配置zoo.cfg文件

(1)重命名/opt/module/zookeeper-3.5.7/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg

[atguigu@hadoop102 conf]$ mv zoo_sample.cfg zoo.cfg
(2)打开 zoo.cfg 文件
[atguigu@hadoop102 conf]$ vim zoo.cfg
修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.5.7/zkData

zoo.cfg中 增加如下配置

#######################cluster##########################
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888   hadoop102这些表示对应机器的域名,需提前配置hosts映射,后面表示启动后占用的2个端口

上述配置完成后启动即可(本人启动后遇到下述启动失败的问题)

二、报错场景处理:

2.1、概述

在搭建hbase集群前需要部署启动zookeeper,启动zookeeper集群的时候发现每台机器启动出现如下报错:

:./zkServer.sh start   
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

2.2、原因分析(存在以下几种原因):

1)、集群各机器没有配置对应的hostname并且没有配置各机器hosts
查看:vim /etc/hosts ,应该余zoo.cfg中集群配置的域名映射对应
2)、没有配置java的环境变量
zookeeper安装前需提前配置java环境变量vim /etc/profile 加入以下内容

export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
export PATH=$JAVA_HOME/bin:$PATH

3)、没有关闭防火墙和selinux

三、本人解决步骤:

3.1、先查看zookeeper的运行日志

日志在安装目录的logs目录中,查看报以下错误
在这里插入图片描述
试了单机启动依然报错,用telnet 单机zookeeper 的2181端口还是不通 ,可能是防火墙或者selinux导致的

3.2、上述安装步骤没问题,映射也配置了,查看防火墙和selinux

命令:

systemctl status firewalld.service   ##发现防火墙未启动

/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态 

发现自己的selinux是开启状态,开始关闭selinux

1)修改配置文件需要重启机器: vim /etc/selinux/config 文件
2)将SELINUX=enforcing改为SELINUX=disabled
3)重启机器

再次启动集群(注意使用./zkService.sh start 命令)没有报错信息,查看状态./zkService.sh status 发现选举成功出现leader ,follow信息。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值