0. 简介

这是Hadoop echosystem中非常重要的组件,主要功能是为分布式系统提供一致性协调服务。他是开源的应用程序协调服务,是基于Google中chubby的实现。

1. 安装zookeeper

配置zoo.cfg文件


servser.1=mastsr:2888:3888
servser.2=slave0:2888:3888
servser.3=slave1:2888:3888


[wangguowei@master conf]$ 

创建节点标识文件

2. 启动和测试

zookeeper集群的启动

在安装目录下的bin目录执行命令无法识别

[wangguowei@master bin]$ zkServer.sh start
-bash: zkServer.sh: command not found

以另一种方式写一下命令

[wangguowei@master bin]$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/wangguowei/zookeeper-3.4.9/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

可能的原因:地址在此

  • 先检查你的防火墙状态,一点要是关闭状态!
  • 检查你是否安装了jdk,因为zookeeper的运行需要JVM环境,可以使用java和java version命令来验证,如下所示,可以看到JDK已经正确安装。
  • 查看端口是否被占用,因为我们配置文件中的端口号为2181
wangguowei@master bin]$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/wangguowei/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[wangguowei@master bin]$ 

【待改进】运行结果

follower节点的运行状况

[wangguowei@slave0 conf]$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/wangguowei/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: follower
[wangguowei@slave0 conf]$ 

leader节点的运行

[wangguowei@slave1 conf]$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/wangguowei/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: leader
[wangguowei@slave1 conf]$ 

3. 【待改进】zookeeper客户端的测试

用户使用客户端进行交互式操作

使用该命令可以使用zookeeper提供的客户端交互
还是有点问题,待改进

[wangguowei@slave0 bin]$ ./zkCli.sh -server master:2181
Connecting to master:2181
2022-10-13 12:29:54,478 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT
2022-10-13 12:29:54,482 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=slave0
2022-10-13 12:29:54,482 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_171
2022-10-13 12:29:54,485 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2022-10-13 12:29:54,485 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/java/jdk1.8.0_171/jre
2022-10-13 12:29:54,485 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/home/wangguowei/zookeeper-3.4.9/bin/../build/classes:/home/wangguowei/zookeeper-3.4.9/bin/../build/lib/*.jar:/home/wangguowei/zookeeper-3.4.9/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/wangguowei/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/home/wangguowei/zookeeper-3.4.9/bin/../lib/netty-3.10.5.Final.jar:/home/wangguowei/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/home/wangguowei/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/home/wangguowei/zookeeper-3.4.9/bin/../zookeeper-3.4.9.jar:/home/wangguowei/zookeeper-3.4.9/bin/../src/java/lib/*.jar:/home/wangguowei/zookeeper-3.4.9/bin/../conf:
2022-10-13 12:29:54,485 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2022-10-13 12:29:54,485 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2022-10-13 12:29:54,486 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2022-10-13 12:29:54,486 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2022-10-13 12:29:54,486 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2022-10-13 12:29:54,487 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=2.6.32-642.el6.x86_64
2022-10-13 12:29:54,487 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=wangguowei
2022-10-13 12:29:54,487 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/home/wangguowei
2022-10-13 12:29:54,487 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/home/wangguowei/zookeeper-3.4.9/bin


关于不同系统的交互

Linux

在该系统中,最重要的就是终端,Linux记住一句话,一切皆文件,万物都可以在终端中操作。
如果不是必要的话,没必要使用GUI

Windows

我们当然承认Windows是非常优秀的操作系统,也是图形化页面操作系统中的佼佼者,其中还保留了当年的DOS操作系统,虽然用起来很少了,但是如果会一点DOS命令的话,和在Linux中操作起来还是有点感觉的。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐