hadoop集群部署之zookeeper安装(五)

前言

最开始肯定是要了解,zookeeper是什么?其实zookeeper是一个为分布式框架提供协调服务的,这就是为什么大家都说zookeeper是大数据框架的润滑剂。

在这里并不会详细的讲解zookeeper的详细的原理,我们只需要记住,它是对集群内的所有服务器节点进行监控。
那如何监控呢?
既然是监控就得把zookeeper安装到每一台你想要监控的服务器上,这时候服务器就被监控起来了,但是如何汇总这些监控信息呢,所以还需要有一个leader,其他的监控信息会随时汇总到leader服务器上。当服务器出现什么问题时,leader服务器会通知客户端。
在这里插入图片描述

zookeeper安装

1.下载安装包并解压到/opt/module

tar -xvf apache-zookeeper-3.7.0-bin.tar.gz

进入到解压的文件夹看一下
在这里插入图片描述

2.配置变量并刷新配置文件

打开配置文件

 vim /etc/profile.d/my_env.sh

在这里插入图片描述
刷新一下配置

 source /etc/profile

只有你就可以在任何位置都可以输入zk相关的命令了(这些命令其实就是bin文件夹夹下的命令)

3.设置服务器唯一标识id
在zookeeper文件夹下新建zkData文件夹

mkdir zkData

在zkData文件夹下新建myid文件,并写下唯一标识id

vim myid

在这里插入图片描述
注:这里myid文件下我写的是100,其实可以随意写,只要和别的服务器的不一样就行

扫描二维码关注公众号,回复: 13215184 查看本文章

4.修改conf配置文件
跳转到conf文件夹下,修改zoo.cfg

mv zoo_sample.cfg zoo.cfg

打开zoo.cfg,修改配置文件
在这里插入图片描述
**注:**100,99,98,这些数字就是myid下的数字,对应上就行。
hadoop100,hadoop99,hadoop98是系统主机名,如果不知道如何设置,请看:hadoop集群部署之ssh免密登录安装(二),里面有关于主机名的设置。

5.zookeeper分发
将这几个文件分发到三台服务器上,hadoop100,hadoop99,hadoop98

xsync apache-zookeeper-3.7.0-bin

分发后首要就是修改zkData文件夹下的myid,然后要和zoo.cfg文件夹下对应上

注:xsync脚本文件如果不知道如何写,请看:hadoop集群部署之ssh免密登录安装(二)

6.配置文件分发并刷新

xsync /etc/profile.d/my_env.sh
source /etc/profile

zookeeper启停

配置文件已经设置完毕,这时候要开始

启动

zkServer.sh start

停止

zkServer.sh stop

状态查询

zkServer.sh status

**注:**无论是启停,三台服务器都需要独立的去启停,也就是说每条指令都要在每台服务器上执行

脚本补充

以上的启停中,有个问题,就是需要独立的去每台服务器上执行执行,很麻烦,这时候提供一个脚本,只需要在一台服务器上就可以启动整个zookeeper集群。同样是在home目录的bin下(这是在前几期的博文中讲到的)新建zk.sh

#!/bin/bash

case $1 in
        "start"){
    
    
        for i in hadoop100 hadoop99 hadoop98
        do
                echo ---------------zookeeper $i 启动----------------------
                ssh $i "/opt/module/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start"
        done

        };;
        "stop"){
    
    
        for i in hadoop100 hadoop99 hadoop98
        do
                echo ---------------zookeeper $i 停止----------------------
                ssh $i "/opt/module/apache-zookeeper-3.7.0-bin/bin/zkServer.sh stop"
        done

        };;
        "status"){
    
    
        for i in hadoop100 hadoop99 hadoop98
        do
                echo ---------------zookeeper $i 状态----------------------
                ssh $i "/opt/module/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status"
        done

        };;
esac

之后的启停就只需要简单

zk.sh start
zk.sh stop
zk.sh status

注:在以脚本启动后,可能会出现一个问题如下

Error: JAVA_HOME is not set and java could not be found in PATH.
---------------zookeeper hadoop98 停止----------------------
Error: JAVA_HOME is not set and java could not be found in PATH.
leon@hadoop100:/opt/module/apache-zookeeper-3.7.0-bin/bin$ xsync zkEnv.sh

JAVA_HOME没有设置,这时只需要打开bin文件夹下的zkEnv.sh文件
在这里插入图片描述
至此:zookeeper的按照就基本完成啦

猜你喜欢

转载自blog.csdn.net/weixin_41885239/article/details/119696905