Zookeeper搭建实验报告

wget http://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz 

zookeeper下载地址:

http://archive.apache.org/dist/zookeeper/

参考 centos7上安装zookeeper - web_bird - 博客园 (cnblogs.com)

centos7上安装zookeeper

1 准备工作

  • 1、准备服务器,本次安装采用 centos7系统、内存2G、存储60G的虚拟机服务器一台;

  • 2、服务器安装java环境: 参考文章《centos7上安装jdk8》博文;

  • 3、准备zookeeper安装包, 本次采用 zookeeper-3.4.11.tar.gz 版本的包

2 安装zookeeper

2.1、 解压zookeeper安装包,使用tar命令:

tar -zxvf zookeeper-3.4.11.tar.gz

我们看下解压完成后,zookeeper文件夹的内容:

2.2、 修改配置文件:
  • 1、我们进入 conf 文件夹下,可以看到该文件夹的内容如下:

  • 2、这里,我们将 zoo_sample.cfg 复制一份并命名为 zoo.cfg

cp zoo_sample.cfg zoo.cfg

  • 3、使用vi 命令打开zoo.cfg 并修改配置:

这里,我们需要注意上图标白的dataDir位置对应的目录,如果对应的目录不存在,我们需要修改该路径,我们先在zookeeper的解压路径下创建一个新的文件夹 data。

然后,我们将刚刚创建的文件夹路径设置到 dataDir 下:

其中,可以通过修改clientPort后面的值,修改zookeeper启动端口,默认为2181.

  • 4、启动zookeeper
    在zookeeper目录下的bin文件夹中,使用以下命令启动zookeeper:

./zkServer.sh start

-5 检查zookeeper启动情况
我们可以使用以下命令查看zookeeper的启动状态:

./zkServer.sh status

除此之外,我们也可以通过查看zookeeper的进程来判断其是否启动成功!

ps -ef | grep zookeeper

3 设置zookeeper开机自启动

我们可以将zookeeper作为一个服务,设置其开机自启,这样每次我们打开虚拟机就可以开启zookeeper,彻底解放双手!设置zookeeper开机自启需要以下几个步骤:

  • 1、进入 /etc/init.d 目录:

  • 2、创建文件zookeeper,并添加脚本:

vi zookeeper

脚本内容为:

#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
ZK_PATH=/opt/soft/zookeeper-3.4.11
export JAVA_HOME=/opt/soft/jdk1.8.0_152
case $1 in
         start) sh  $ZK_PATH/bin/zkServer.sh start;;
         stop)  sh  $ZK_PATH/bin/zkServer.sh stop;;
         status) sh  $ZK_PATH/bin/zkServer.sh status;;
         restart) sh $ZK_PATH/bin/zkServer.sh restart;;
         *)  echo "require start|stop|status|restart"  ;;
esac

注意:上图的脚本中需要修改正确的zk和jdk安装路径!

  • 3、保存脚本之后,执行以下指令将其注册为服务:

chkconfig --add zookeeper

  • 4、测试其是否生效,这里采用先停服务,再使用命令启动,注意需要修改创建的zookeeper服务权限:

[root@zhiyou init.d]# service zookeeper start
env: /etc/init.d/zookeeper: 权限不够
[root@zhiyou init.d]# 
[root@zhiyou init.d]# chmod +x zookeeper 
[root@zhiyou init.d]# 
[root@zhiyou init.d]# service zookeeper start
ZooKeeper JMX enabled by default
Using config: /opt/soft/zookeeper-3.4.11/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@zhiyou init.d]# 
[root@zhiyou init.d]# service zookeeper status
ZooKeeper JMX enabled by default
Using config: /opt/soft/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: standalone
[root@zhiyou init.d]# 
[root@zhiyou init.d]# ps -ef|grep zookeeper

至此,我们已经完成了在centos7下安装zookeeper的全部步骤,以及设置了zookeeper开机自启动!

在每台机器修改主机名字:hostnamectl set-hostname hadoop1

                                          hostnamectl set-hostname hadoop2

                                         hostnamectl set-hostname hadoop3

1-3先在一台机器上完成

  1. 下载zookeeper:

    wget http://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz   

       注意啦:是下载编译过的这个包,不是那个源码包哈

  2. 解压缩

    mkdir -p /export/servers

    tar zxvf  apache-zookeeper-3.7.0-bin.tar.gz -C /export/servers 

mv apache-zookeeper-3.7.0-bin zookeeper

3.配置文件

进入zookeeper所在目录后

mkdir zkdatas  或者mkdir -p /export/servers/zookeeper/zkdatas

cd conf

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

dataDir=/export/servers/zookeeper/zkdatas

#保留多少个快照

autopurge.snapRetainCount=3

#日志多少小时清理一次

autopurge.purgeInterval=1

#集群中服务器地址

server.1=hadoop1:2888:3888

server.2=hadoop2:2888:3888

server.3=hadoop3:2888:3888

注意啦,这里的hadoop1,hadoop2,hadoop3需要改成你自己三台机器名字

进入zookeeper目录:

cd zkdatas/

  vim myid 

   填入值1    2  3

4登录另外两台机器,执行完 mkdir -p /export/servers后,返回第一台机器执行如下:

方法一:把 hadoop1的zookeeper上传到hadoop2,3

 scp -r /export/servers/zookeeper/ root@hadoop2:/export/servers/

 scp -r /export/servers/zookeeper/ root@hadoop3:/export/servers/

方法二:在hadoop2,3上下载hadoop1的文件目录zookeeper

scp -r root@hadoop1:/export/servers/zookeeper  /export/servers/

5 登录到hadoop2上

vim myid 修改成2

登录到hadoop3上

vim myid修改3

6在hadoop1,hadoop2,hadoop3上都执行以下命令

setenforce 0

systemctl stop firewalld      临时关闭防火墙

systemctl disable firewalld  关闭开机自启动防火墙

7在hadoop1,hadoop2,hadoop3上都执行以下命令

/export/servers/zookeeper/bin/zkServer.sh start

8 在hadoop2或者3上客户端连接

bin/zkCli.sh -server hadoop1:2181

命令说明参数
create [-s] [-e] path data acl创建Znode

-s指定是顺序节点

-e指定是临时节点

ls path[watch]列出Path下所有子Znode
get path[watch]获取Path对应的Znode的数据和属性
ls2 path[watch]查看Path下所有子Znode以及子Znode的属性
set path data [version]更新节点version数据版本
delete path [version]删除节点,如果要删除的节点子Znode则无法删除version数据版本
rmr path删除节点,如果有子Znode则递归删除
setquota -n|b val path修改Znode配额

-n设置子节点最大个数

-b设置节点数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值