zookeeper配置

本文详细介绍了Zookeeper的安装步骤,包括解压安装包、配置环境变量、设置配置文件、启动服务以及检查服务状态。重点讲解了配置文件zoo.cfg的参数设置,如dataDir、dataLogDir、server配置等,并提到了集群中防火墙的端口开放问题。此外,还提供了一个用于集群启停及状态查看的脚本。
摘要由CSDN通过智能技术生成

zookeeper安装教程

1.上传zookeeper安装包并解压tar 

tar -zxvf apache-zookeeper-3.8.0-bin..tar.gz

2.配置zookeeper环境变量

sudo vim /etc/profile

# 配置zookeeper环境变量

export  ZOOKEEPER_HOME=/export/server/apache-zookeeper-3.8.0-bin

export PATH=$PATH:$ZOOKEEPER/bin

使配置生效 source /etc/profile

3.修改/创建zookeeper配置文件

1)在zookeeper目录下新建data目录和logs目录 mkdir data logs

在data中新建myid文件,在其中填入数字1(对应zoo.cfg文件的server编号)

2)由于conf目录下没有zoo.cfg文件,所以复制zoo_sample.cfg成zoo.cfg:

cp zoo_sample.cfg zoo.cfg

注意一定要删除原有内容后(否则集群会报错myid could not be determined),

再添加内容

#指定数据日志目录

dataDir=/export/server/apache-zookeeper-3.8.0-bin/data

dataLogDir=/export/server/apache-zookeeper-3.8.0-bin/logs

#node1对应于在hosts里面配置的主机映射 2888是数据同步和消息传递端口,3888是选举端口

server.1=node1:2888:3888

server.2=node2:2888:3888

server.3=node3:2888:3888

server.4=node4:2888:3888

#session的会话时间 以ms为单位

tickTime=2000

#服务器启动以后,master和slave通讯的时间

initLimit=10

#master和slave之间的心跳检测时间,检测slave是否存活

syncLimit=5

#客户端访问zk的端口

clientPort=2181

拷贝zookeeper目录到其他节点,并分别更改data/myid的值为2~4:

xsync /export/server/apache-zookeeper-3.8.0-bin 

4. 启动服务 $ZOOKEEPER_HOME/bin/zkServer.sh start

zookeeper负责协调hbase之间的通信,所以需要在每个节点上分别启动zookeeper服务,在bin目录下启动服务:

5.查看zookeeper服务状态

$ZOOKEEPER_HOME/bin/zkServer.sh status

当出现Mode:follower/leader时,集群才算真正配置成功,如果没出现该内容,且已经关闭防火墙,检查配置文件无误;)需要说明的是,只有当你启动集群所有节点后才会查看到Mode:follower/leader的出现)

如果有以下的问题:myid could not be determined,will not able to locate clientPort in the server configs,首先应该是配置文件zoo.cfg中的主机名写错了或者myid文件的映射值写错了;再则是防火墙的问题(当然是在集群启动的前提下考虑),则需要开启端口(或者测试环境下直接关闭防火墙)

开启端口的方法:

# 首先停掉服务

zkServer.sh stop

# 改用zkServer.sh start-foreground方式启动,可以看到具体错误日志

zkServer.sh start-foreground

# 接着配置防火墙

systemctl start firewalld

#开放端口2888/3888(add为添加,remove为移除)

firewall-cmd --zone=public –add/remove-port=2888/tcp --permanent

firewall-cmd --zone=public –add/remove-port=3888/tcp --permanent

# 并重载入添加的端口:

firewall-cmd --reload

# 再次查询端口开放情况,确定2888和3888开放

firewall-cmd --zone=public --list-ports

6.关闭服务命令:$ZOOKEEPER_HOME/bin /zkServer.sh  stop

7.zookeeper集群启停及状态查看脚本

#!/bin/bash

# 需要先修zookeeper bin目录下的zxEnv.sh文件,在前面添加JAVA_HOME=

# /export/server/jdk1.8.0_131

case $1 in

"start")

              echo ---------- zookeeper $i 启动 ------------

       {

        for i in node1 node2 node3 node4

        do

                `ssh $i "/export/server/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start >&/dev/null"`

        done

}     

       {     

          for i in node1 node2 node3 node4

        do

                echo ---------- zookeeper $i 状态 ------------

                ssh $i "/export/server/apache-zookeeper-3.8.0-bin/bin/zkServer.sh status|sed -n '/Mode/p'||zookeeper未启动"

        done

};;

"stop")

              echo ---------- zookeeper $i 停止 ------------

       {

        for i in node1 node2 node3 node4

        do

                ssh $i "/export/server/apache-zookeeper-3.8.0-bin/bin/zkServer.sh stop >&/dev/null&&echo 'zookeeper $i 关闭成功'"

        done

};;

"status"){

          for i in node1 node2 node3 node4

        do

                echo ---------- zookeeper $i 状态 ------------

                ssh $i "/export/server/apache-zookeeper-3.8.0-bin/bin/zkServer.sh status|sed -n '/Mode/p'||zookeeper未启动"

        done

};;

esac

配置Zookeeper的环境变量,你需要进行以下步骤: 1. 打开终端并进入Zookeeper的安装目录: cd zookeeper/apache-zookeeper-3.7.0-bin/ 2. 编辑zookeeper-env.sh文件,该文件用于配置Zookeeper的环境变量: vi conf/zookeeper-env.sh 3. 在文件中添加以下内容,指定Zookeeper的安装路径: export ZOOKEEPER_HOME=/path/to/zookeeper 注意将"/path/to/zookeeper"替换为你的实际安装路径。 4. 保存并退出文件。 5. 在终端中执行以下命令,将Zookeeper的bin目录添加到PATH环境变量中: export PATH=$PATH:$ZOOKEEPER_HOME/bin 这样,你就成功配置Zookeeper的环境变量。 引用中的步骤2提到了编辑zookeeper-env.sh文件来配置环境变量。引用中的步骤2-3创建了一个zkdatas文件夹,这里只是提供了一个额外的操作,与配置环境变量无关。引用中的步骤5关闭了Zookeeper,这也和配置环境变量无关。所以,以上步骤是正确的配置Zookeeper的环境变量的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [zookeeper的安装配置(详细步骤)](https://blog.csdn.net/qq_58768870/article/details/123613564)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值