【大数据】Zookeeper的学习与安装(附加脚本全启动)

1. Zookeeper概念简介

Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务

  • zookeeper是为别的分布式程序服务的
  • Zookeeper**本身就是一个分布式程序**(只要有半数以上节点存活,zk就能正常服务,zookeeper适合装在奇数台机器上!!!)
  • Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务……
  • 虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:
    • 管理(存储,读取)用户程序提交的数据;
    • 并为用户程序提供数据节点监听服务;

2. Zookeeper的安装

2.1 Linux下新增用户

输入命令:
新增用户:useradd 用户名
设置密码:passwd 用户名
切换用户:su 用户名
这里写图片描述

2.2 Zookeeper的安装

注意:本次安装是安装到3台虚拟机上,还要安装好JDK

首先将Zookeeper的包上传并解压tar -zxvf zookeeper-3.4.5.tar.gz
这里我将Zookeeper解压到/home/hadoop/文件夹下 ,将路径添加到环境变量中vi /etc/profile
添加内容

export ZOOKEEPER_HOME=/home/hadoop/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

然后重新编译文件source /etc/profile

然后修改Zookeeper的配置文件:

cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg

在这里添加内容:

dataDir=/home/hadoop/zookeeper/data
dataLogDir=/home/hadoop/zookeeper/log
server.1=zkmini1:2888:3888 (主机名, 心跳端口、数据端口)
server.2=zkmini2:2888:3888
server.3=zkmini3:2888:3888

括号中的注释要去掉。。。。。。。。。。

之后继续创建我们设置了但是并没有的文件夹:

cd /home/hadoop/zookeeper/
mkdir -m 755 data
mkdir -m 755 log

之后在data文件夹下新建myid文件vi data/myid,myid的文件内容为:1,这代表当前主机的id号,同理在其他两台机器上则为2、3

最后就可以将配置好的Zookeeper文件夹发送到其他机器上了:

scp -r /home/hadoop/zookeeper hadoop@zkmini2:/home/hadoop/
scp -r /home/hadoop/zookeeper hadoop@zkmini3:/home/hadoop/

然后其他两台机器上,vi zookeeper/data/myid将其id改为2和3。

最最后烧柱高香,就开心的启动Zookeeper吧:zkServer.sh start(配置了/etc/profile 就可以直接执行zkServer.sh,否则就是/home/hadoop/zookeeper/bin/zkServer.sh start),每台机器都要启动的哦!
这里写图片描述

最最最后可以用jps或者zkServer.sh status查看是否安装成功
这里写图片描述
这里写图片描述
问题1:注意这里如果出现:
这里写图片描述
还是能正常启动,原因是/home/hadoop/zookeeper/conf/zoo.cfg文件中还有dataDir、dataLogDir参数,注释掉就可以了。

问题2:“啊,我三台机器都启动成功了,但是我查看zkServer.sh有问题啊。”
这里写图片描述
那么你的问题可能出现在防火墙把端口过滤了,你要么添加规则,要么关掉防火墙,
我选择后者service iptables stop
这里写图片描述
这就OK拉


这里三台机器的话我们还可以一台一台的启动Zookeeper,但是随着业务量增加,我们可能会有很多的服务器需要启动Zookeeper,这里我们就可以通过脚本来启动

ssh免密登陆

关于ssh免密登陆网上就有很多教程了,我这里就简单描述一下:
首先生成密钥:ssh keygen(中间会有几次问询,不清楚就按回车就可以了)
这里写图片描述
之后将公钥传到其他机器上就可以了(不要忘了传到自己机器上,我这里有三台机器zkmini1、zkmini2、zkmini3),命令ssh-copy-id zkmini1…..
这里写图片描述

制作全启动脚本

#!/bin/bash
echo "start zkServer..."
for i in 1 2 3
do
ssh zkmini$i "source /etc/profile;zkServer.sh start"
done

然后给文件加上可执行权限chmod +x bin/zkstart-all.sh,最后执行就可以了哈./bin/zkstart-all.sh
这里写图片描述

这就OK拉!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值