前言

前面说到kafka使用自带的zookeeper进行主题,元数据进行监控,由于真实环境至少是一个单节点,现在进行zookeeper服务centos7.6上安装,然后将kafka切换过来,后期将搭建kafka,zookeeper集群。

Zookeeper简介

zookeeper从这个单词来看就是动物园管理者,抽象到IT界就是服务资源协调监控相关嘛。看下官网的介绍
官网介绍
简单点说:ZooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务,管理,协调服务之间的关系。

下载配置

Apache官方提供的下载镜像查看 release版本,然后下载稳定版本到服务器合适的位置。

$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
$ tar -xvf apache-zookeeper-3.5.5-bin.tar.gz
$ cd apache-zookeeper-3.5.5-bin

然后去目录conf配置zoo.cfg

$ cd conf/ && ls
configuration.xsl log4j.properties zoo_sample.cfg
#拷贝能识别的配置文件zoo.cfg
$ cp zoo_sample.cfg zoo.cfg 

如果有需要可以对配置文件zoo.cfg进行编辑(建议修改dataDir),tickTime 指定客户端服务器心跳频率(毫秒),dataDir指定存储内存数据库(版本,日志,集群中的myid文件等)快照的位置,clientPort指定客户端连接的端口,initLimit指定follower服务器(F)与leader服务器(L)之间 初始连接最多能容忍的心跳数(集群中使用),syncLimit指定flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数(集群中使用)
To get a ZooKeeper distribution, download a recent stable release from one of the Apache Download Mirrors.

启动服务

启动就比较简单了,到$ZOOKEEPER_HOME目录下执行bin/zkServer.sh即可。

$ bin/zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /data/app/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看logs下生成的日志

$ tail -f logs/zookeeper-app-server-reportweb1.out
2019-06-03 19:12:57,504 [myid:] - INFO [NIOWorkerThread-13:ZooKeeperServer@1032] - Refusing session request for client /127.0.0.1:33180 as it has seen zxid 0x8a our last zxid is 0x2 client must try another server
2019-06-03 19:12:59,089 [myid:] - INFO [NIOWorkerThread-14:ZooKeeperServer@1032] - Refusing session request for client /127.0.0.1:33182 as it has seen zxid 0x8a our last zxid is 0x2 client must try another server

测试(kafka)

$ bin/zkCli.sh -server 127.0.0.1:2181

使用bin/zkCli.sh连接客户端,-server指定zookeeper服务,成功之后会打印如下消息

/usr/bin/java
Connecting to 127.0.0.1:2181
2019-06-03 19:19:24,619 [myid:] - INFO [main:Environment@109] - Client environment:zookeeper.version=3.5.5-390fe37ea45dee01bf87dc1c042b5e3dcce88653, built on 05/03/2019 12:07 GMT
WATCHER::
...
WatchedEvent state:SyncConnected type:None path:null
[zk: 127.0.0.1:2181(CONNECTED) 0]

至此,zookeeper单节点版已经搭建完毕。

下面将kafka使用zookeeper切换过来,使用刚刚搭建的Zookeeper服务。

  1. 切换到kafka目录,修改配置文件config/server.properties中属性zookeeper.connect<ip>:2181
cd $KAFKA_HOME
$ vi config/server.properties

在这里插入图片描述
2. 启动KafkaServer并成功打印如下

$ bin/kafka-server-start.sh config/server.properties
[2019-06-03 19:33:47,871] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[2019-06-03 19:33:48,365] INFO starting (kafka.server.KafkaServer)
[2019-06-03 19:33:48,367] INFO Connecting to zookeeper on 10.231.129.20:2181 (kafka.server.KafkaServer)
[2019-06-03 19:33:48,384] INFO [ZooKeeperClient] Initializing a new session to 10.231.129.20:2181. (kafka.zookeeper.ZooKeeperClient)

OK,本文结束!

参考文章

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐