zookeeper-3.7.0安装

博客主要介绍了Zookeeper的安装过程,包括解压、修改hadoop主机权限、配置服务器编号、添加环境变量、修改配置文件等步骤。还阐述了集群操作,如分别启动Zookeeper、查看状态,最后介绍了启动客户端的内容。

zookeeper安装

1.解压
[root@hadoop001 /]# cd /usr/
[root@hadoop001 usr]# ls
bin  etc  games  hadoop330  include  java  lib  lib64  libexec  local  sbin  share  src  tmp
[root@hadoop001 usr]# mkdir zookeeper370
[root@hadoop001 usr]# ls
bin  etc  games  hadoop330  include  java  lib  lib64  libexec  local  sbin  share  src  tmp  zookeeper370
[root@hadoop001 usr]# cd ..
[root@hadoop001 /]# cd /opt/
[root@hadoop001 opt]# ls
apache-hive-3.1.2-bin.tar.gz       hbase-2.4.2-bin.tar.gz  VMwareTools-10.3.21-14772444.tar.gz
apache-zookeeper-3.7.0-bin.tar.gz  rh                      vmware-tools-distrib
[root@hadoop001 opt]# tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz -C /usr/zookeeper370
其他两台操作一样
2.如果不是root需要修改hadoop主机的权限
[root@hadoop001 opt]# sudo chown -R hadoop:hadoop /usr/zookeeper370/apache-zookeeper-3.7.0-bin/
3.配置服务器编号
[root@hadoop001 apache-zookeeper-3.7.0-bin]# mkdir -p zkData
[root@hadoop001 apache-zookeeper-3.7.0-bin]# ls
bin  conf  docs  lib  LICENSE.txt  NOTICE.txt  README.md  README_packaging.md  zkData
[root@hadoop001 apache-zookeeper-3.7.0-bin]# cd zkData/
[root@hadoop001 zkData]# touch myid
[root@hadoop001 zkData]# vi myid 
[root@hadoop001 zkData]# cat myid 
001

其他两台002,003
[root@hadoop002 apache-zookeeper-3.7.0-bin]# cd zkData/
[root@hadoop002 zkData]# touch myid
[root@hadoop002 zkData]# vi myid 
[root@hadoop002 zkData]# cat myid 
002


[root@hadoop003 apache-zookeeper-3.7.0-bin]# cd zkData/
[root@hadoop003 zkData]# touch myid
[root@hadoop003 zkData]# vi myid 
[root@hadoop003 zkData]# cat myid 
003
添加环境变量
[root@hadoop001 etc]# vi /etc/profile

#zookeeper3.7.0
export ZOOKEEPER_HOME=/usr/zookeeper370/apache-zookeeper-3.7.0-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH

[root@hadoop001 ~]# source /etc/profile
[root@hadoop001 etc]# 

[root@hadoop001 conf]# scp -r /etc/profile root@hadoop002:/etc/

[root@hadoop002 conf]# source /etc/profile

[root@hadoop001 conf]# scp -r /etc/profile root@hadoop003:/etc/

[root@hadoop003 conf]# source /etc/profile
4.修改配置文件
[root@hadoop001 apache-zookeeper-3.7.0-bin]# cd /usr/zookeeper370/apache-zookeeper-3.7.0-bin/conf/
[root@hadoop001 conf]# ls
configuration.xsl  log4j.properties  zoo_sample.cfg
[root@hadoop001 conf]# cp zoo_sample.cfg zoo.cfg
[root@hadoop001 conf]# vim zoo.cfg
[root@hadoop001 conf]# cat zoo.cfg 
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/usr/zookeeper370/apache-zookeeper-3.7.0-bin/zkData
dataLogDir=/usr/zookeeper370/apache-zookeeper-3.7.0-bin/tmp/logs

##########cluster##########
server.001=hadoop001:2888:3888
server.002=hadoop002:2888:3888
server.003=hadoop003:2888:3888

# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

[root@hadoop001 conf]# 

[root@hadoop001 conf]# cd ..

[root@hadoop001 conf]# scp -r /usr/zookeeper370 root@hadoop002:/usr/
[root@hadoop001 conf]# scp -r /usr/zookeeper370 root@hadoop003:/usr/

[root@hadoop001 hbase-2.4.2]# scp -r /usr/hbase242 root@hadoop003:/usr/

5.集群操作
分别启动Zookeeper
查看状态
[root@hadoop001 apache-zookeeper-3.7.0-bin]# bin/zkServer.sh start
[root@hadoop001 apache-zookeeper-3.7.0-bin]# bin/zkServer.sh status
启动客户端
[root@hadoop001 apache-zookeeper-3.7.0-bin]# bin/zkCli.sh

#或者
[root@hadoop001 apache-zookeeper-3.7.0-bin]# bin/zkCli.sh -server localhost:2181

[zk: localhost:2181(CONNECTED) 0] help
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper]

[zk: localhost:2181(CONNECTED) 2] ls2 /
ZooKeeper -server host:port -client-configuration properties-file cmd args
        addWatch [-m mode] path # optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSISTENT_RECURSIVE
        addauth scheme auth
        close 
        config [-c] [-w] [-s]
        connect host:port
        create [-s] [-e] [-c] [-t ttl] path [data] [acl]
        delete [-v version] path
        deleteall path [-b batch size]
        delquota [-n|-b|-N|-B] path
        get [-s] [-w] path
        getAcl [-s] path
        getAllChildrenNumber path
        getEphemerals path
        history 
        listquota path
        ls [-s] [-w] [-R] path
        printwatches on|off
        quit 
        reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
        redo cmdno
        removewatches path [-c|-d|-a] [-l]
        set [-s] [-v version] path data
        setAcl [-s] [-v version] [-R] path acl
        setquota -n|-b|-N|-B val path
        stat [-w] path
        sync path
        version 
        whoami 
Command not found: Command not found ls2
[zk: localhost:2181(CONNECTED) 3] 


### 解决网络连接问题(`java.net.NoRouteToHostException`) #### 1. 网络连通性测试 使用 `ping` 命令测试 ZooKeeper 节点之间的网络连通性,例如: ```bash ping 192.168.88.162 ping 192.168.88.163 ``` 如果相互 `ping` 没问题,说明网络基本连通,但仍可能存在端口不通的问题。若 `ping` 不通,则需要检查网络设备、IP 地址配置等。 #### 2. 防火墙检查 查看防火墙状态,若防火墙开启,可能会阻止 ZooKeeper 节点之间的通信。可以临时关闭防火墙进行测试,以 CentOS 为例: ```bash systemctl stop firewalld.service systemctl disable firewalld.service ``` 如果关闭防火墙后问题仍然存在,需要进一步检查其他因素。同时,也可以开放 ZooKeeper 使用的端口,如 2181、2888、3888: ```bash firewall-cmd --zone=public --add-port=2181/tcp --permanent firewall-cmd --zone=public --add-port=2888/tcp --permanent firewall-cmd --zone=public --add-port=3888/tcp --permanent firewall-cmd --reload ``` #### 3. SELinux 检查 SELinux 可能会限制网络连接,可查看 SELinux 状态: ```bash /usr/sbin/sestatus -v getenforce ``` 若 SELinux 状态为 `enabled`,可以临时关闭或修改配置文件: ```bash # 临时关闭(不用重启机器) setenforce 0 # 修改配置文件需要重启机器 # 修改 /etc/selinux/config 文件将 SELINUX=enforcing 改为 SELINUX=disabled # 重启机器 ``` #### 4. 路由表检查 使用 `route -n` 或 `ip route show` 命令查看系统的路由表,确保存在到目标 IP 地址的有效路由: ```bash route -n ip route show ``` 若路由表中缺少到目标 IP 地址的路由,可以添加静态路由: ```bash ip route add <目标网络地址>/<子网掩码> via <网关地址> ``` #### 5. 配置文件检查 确保 `zoo.cfg` 配置文件中 `server.x` 配置项的 IP 地址和端口正确: ```plaintext server.1=S241592401901:2888:3888 server.2=S241592401902:2888:3888 server.3=S241592401903:2888:3888 ``` 若使用主机名配置 `server.x`,要确保主机名能正确解析为 IP 地址,可以通过 `ping` 主机名或查看 `/etc/hosts` 文件进行验证。 ### 解决命令执行错误(如 `cd ./zookeeper-3.7.0/ls` 报错) `cd ./zookeeper-3.7.0/ls` 报错是因为 `cd` 命令用于切换目录,而 `ls` 不是一个有效的目录名。正确的操作应该是先使用 `cd` 命令切换到 `zookeeper-3.7.0` 目录,再使用 `ls` 命令列出该目录下的文件和文件夹: ```bash cd ./zookeeper-3.7.0 ls ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值