Zookeeper

zookeeper安装配置

准备4台机器(4台虚拟机)

安装zookeeper之前先安装jdk

下载zookeeper,apache-zookeeper-3.5.10-bin.tar.gz ,放到 /home/ludalong/zookeeper 解压,

本地虚拟机安装的zookeeper目录 /home/ludalong/zookeeper

编辑 zoo.cfg (在config目录下)

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/var/dalong/zk
# 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
server.1=192.168.37.131:2888:3888
server.2=192.168.37.132:2888:3888
server.3=0.0.0.0:2888:3888
server.4=192.168.37.134:2888:3888

建文件myid

创建/var/dalong/zk 目录(对应zoo.cfg文件中的dataDir路径) 再创建文件myid,写入内容 1,1是当前zookeeper的id

将zookeeper home写入环境变量

vi /etc/profile


export JAVA_HOME=/home/ludalong/zookeeper/jdk-11.0.15.1
export CLASSPATH=$JAVA_HOME/lib
export ZOOKEEPER_HOME=/home/ludalong/zookeeper/apache-zookeeper-3.5.10-bin
export KAFKA_HOME=/var/dalong/kafka
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$KAFKA_HOME/bin

//让配置文件生效

source /etc/profile

zookeeper的命令


[root@k8s-master01 zk]# zkServer.sh
ZooKeeper JMX enabled by default
Using config: /home/ludalong/zookeeper/apache-zookeeper-3.5.10-bin/bin/../conf/zoo.cfg
Usage: /home/ludalong/zookeeper/apache-zookeeper-3.5.10-bin/bin/zkServer.sh [--config ] {start|start-foreground|stop|restart|status|print-cmd}

启动命令

zkServer.sh start-foreground

zoo.cfg文件里写了4台,只有超过半数,即达到3台即可以投票选举leader,zookeeper可正常运行

zkCli.sh 进入zookeeper

zookeeper内部命令

[zk: localhost:2181(CONNECTED) 3] ls /
[admin, brokers, cluster, config, consumers, controller_epoch, feature, isr_change_notification, kafka, latest_producer_id_block, log_dir_event_notification, zookeeper]
[zk: localhost:2181(CONNECTED) 4] create  /test  "test123"
Created /test
[zk: localhost:2181(CONNECTED) 5] get /test
test123
[zk: localhost:2181(CONNECTED) 6] ls /
[admin, brokers, cluster, config, consumers, controller_epoch, feature, isr_change_notification, kafka, latest_producer_id_block, log_dir_event_notification, test, zookeeper]
[zk: localhost:2181(CONNECTED) 7] help
ZooKeeper -server host:port cmd args
        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
        delquota [-n|-b] path
        get [-s] [-w] path
        getAcl [-s] path
        history
        listquota path
        ls [-s] [-w] [-R] path
        ls2 path [watch]
        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]
        rmr path
        set [-s] [-v version] path data
        setAcl [-s] [-v version] [-R] path acl
        setquota -n|-b val path
        stat [-w] path
        sync path
Command not found: Command not found help
[zk: localhost:2181(CONNECTED) 8] get /test -s
test123
cZxid = 0x1500000005
ctime = Thu Mar 16 16:06:51 PDT 2023
mZxid = 0x1500000005
mtime = Thu Mar 16 16:06:51 PDT 2023
pZxid = 0x1500000005
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
[zk: localhost:2181(CONNECTED) 9]

[zk: localhost:2181(CONNECTED) 0] create -s  /test/xxx
Created /test/xxx0000000001
[zk: localhost:2181(CONNECTED) 1] ls /test
[xxx0000000000, xxx0000000001]

上面命令行中 cZxid = 0x1500000005 是事务id

create -s 创建目录防止重命名

Zookeeper是一个目录树结构

node可以存储1M数据

Zookeeper_第1张图片

Zookeeper有两种状态 1.可用状态 2 不可以状态 当leader挂了即不可用

写的请求都进入leader,按顺序写入

你可能感兴趣的:(Zookeeper,zookeeper)