Centos下安装Zookeeper和Kafka

Centos下安装Zookeeper和Kafka


前言

         Zookeeper和Kafka安装练习,ZooKeeper是用Java编写的,运行在Java环境上,因此,在部署zookeeper的机器上需要安装Java运行环境。为了正常运行zookeeper,我们需要JRE1.6或者以上的版本。


一、单机版模式

1、zookeeper安装

        (1)这里使用的是 apache-zookeeper-3.5.8-bin.tar.gz 这个版本,如有需要新本可自行下载,下载地址

#在安装插件之前,我会在当前目录/home/nsm下创建一个log文件夹,便于以后其它插件日志都存在该文件夹下,寻找方便
mkdir /home/nsm/all-logs/zookeeper

#在目录/home/nsm下,解压压缩包
tar -xvf apache-zookeeper-3.5.8-bin.tar.gz

        (2)进入到config下,查看该文件夹下是否有zoo.cfg文件,若没有则创建一个,修改配置文件。

#创建一个zoo.cfg文件
cp zoo_sample.cfg zoo.cfg

       (3)修改完毕后,保存 :wq 退出。

       (4)启动zookeeper,在bin目录下,后台启动zookeeper服务。

报错一:若出现启动失败情况,这里未截图,情况为 FAILER TO STARTED,那么进入到/home/nsm/all-logs/zookeeper下,将该目录下的所有日志全部删除。

原因:可能是zookeeper异常关闭时,日志记录就会出现异常,所以会把当时的情况记录到该目录下的日志中,重新启动zookeeper时此文件会对启动造成影响。

 

2、Kafka安装

       (1)Kafka的前置依赖组件为zookeeper,因此须先安装部署zookeeper后在安装部署kafka,这里使用的是 kafka_2.12-2.5.0.tar.gz 这个版本,如有需要新本可自行下载,下载地址

#在/home/nsm/all-logs目录下创建一个文件夹
mkdir /home/nsm/all-logs/kafka

#在/home/nsm/下解压压缩包
tar -xvf kafka_2.12-2.5.0.tar.gz

#在/home/nsm/kafka_2.12-2.5.0/config目录下编辑server.properties文件
vim server.properties
#以下内容需要修改
broker.id=0
log.dir=/home/nsm/all-logs/kafka       ## 统一管理日志的地方
zookeeper.connect=192.40.10.189:2181   ## 即安装启动的zookeeper地址

#可选择性修改配置文件如下内容,若配置文件中没有则添加
num.network.threads =4             ## broker处理消息的最大线程数,一般情况下数量为cpu核数
num.io.threads =8                  ## broker处理磁盘IO的线程数,数值一般为cpu核数2倍
auto.create.topics.enable =true    ## 是否允许自动创建topic,若是false,就需要通过命令创建topic

#添加配置内容:
listeners=PLAINTEXT\://192.40.10.88\:6667
port=6667    ##  服务端端口

        (2)启动kafka,进入到kafka的bin目录

#启动kafka
./kafka-server-start.sh ../config/server.properties 

        报错一:出现以下错误说明zookeeper未启动。

        解决方法:启动zookeeper后在启kafka。

        报错二:启动kafka时出现以下情况。

        原因:kafka配置日志路径,用来保存执行过程中的各种信息,当kafka异常关闭时,日志记录就会出现异常,会把当时的情况记录到meta.properties文件中,重新启动时此文件会对启动造成影响,kafka重启报错的原因就在这里。

        解决方法:删除配置文件配置的日志路径的文件,以上配置的路径为 /home/nsm/all-logs/kafka。

 

二、集群版安装

       在具有java环境的前提下,我们来部署kafka的集群环境。使用的kafka版本,kafka_2.13-2.8.0.tgz,需要其它版本的往上走点击提供的下载地址。

 

2.1 准备3个环境

192.168.3.85、192.168.3.86、192.168.3.87

 

2.2 解压并重命名

tar -xvf kafka_2.13-2.8.0.tgz

mv kafka_2.13-2.8.0  /usr/kafka

 

2.3 hosts添加映射

vi /etc/hosts

# 添加以下参数映射
192.168.3.85 kafka1
192.168.3.86 kafka2
192.168.3.87 kafka3

 

2.4 zookeeper.properties 配置

(1)进入到 /usr/kafka/config 目录下,修改 zookeeper.properties 配置文件。

# 添加如下参数,存在的参数不需要重复添加

# zookeeper 数据存放位置
dataDir=/tmp/zookeeper
clientPort=2181
maxClientCnxns=60
tickTime=2000
initLimit=10
syncLimit=5

# 集群映射
server.1=kafka1:2888:3888
server.2=kafka2:2888:3888
server.3=kafka3:2888:3888

(2)进入到 /tmp/zookeeper 目录下,创建一个myid文件,并设置一个值,在其它的节点中设置时类似,但不能设置为同一个数字,可在/tmp/zookeeper下直接执行以下一条命令。

192.168.3.85中执行: echo 1 > myid

192.168.3.86中执行: echo 2 > myid

192.168.3.87中执行: echo 3 > myid

 

2.5 server.properties 配置

(1)需要修改以下内容

# kafka的id,唯一值,每个节点的这个参数不能一样
broker.id=0

# 访问地址修改为自己的
host.name=192.168.3.85
listeners=PLAINTEXT://192.168.3.85:9092
advertised.listeners=PLAINTEXT://192.168.3.85:9092
log.dirs=/tmp/kafka-logs/kafka

# zookeeper的连接地址
zookeeper.connect=192.168.3.85:2181,192.168.3.86:2181,192.168.3.87:2181

(2)修改完后将kafka整个文件夹拷贝到其它两个节点中,其它的两个节点需要重复 2.3 、 2.4 和 2.5  的操作。

 

2.6 启动zookeeper集群

(1)通过命令执行,切换到 /usr/kafka 目录下,每个节点都需要启动,刚开始启动时会报错,因为在推选主节点。

直接启动:./bin/zookeeper-server-start.sh ./config/zookeeper.properties

后台启动:./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties

&号启动:./bin/zookeeper-server-start.sh ./config/zookeeper.properties & 

 

2.7 启动kafka集群

(1)通过命令启动kafka集群,每个节点都需要启动。

直接启动:./bin/kafka-server-start.sh ./config/kafka.properties

后台启动(常用):./bin/kafka-server-start.sh -daemon ./config/kafka.properties

&号启动:./bin/kafka-server-start.sh ./config/kafka.properties & 

 

2.8 测试

(1)创建生产者

./bin/kafka-console-producer.sh --broker-list 192.168.3.85:9092 --topic test

(2)创建消费者

./bin/kafka-console-consumer.sh --bootstrap-server 192.168.3.85:9092 --topic test --from-beginning

(3)topic 创建 

./bin/kafka-topics.sh --create --zookeeper 192.168.3.85:2181 --replication-factor 1 --partitions 2 --topic test

(4)topic 删除

./bin/kafka-topics.sh --delete --topic test6 --zookeeper 192.168.3.85:2181

(5)topic 查看

./bin/kafka-topics.sh --list --zookeeper 192.168.3.85:2181

(6)偏移量查询

./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 192.168.3.85:9092 --topic test --time -1

(7)查看所有分组

./bin/kafka-consumer-groups.sh --bootstrap-server 192.168.3.85:9092 --list

(8)查看消费情况

./bin/kafka-consumer-groups.sh --describe --bootstrap-server 192.168.3.85:9092 --group test

 

2.9 添加安全认证

看看另一篇文章:  https://blog.csdn.net/qq_42057890/article/details/117564848?spm=1001.2014.3001.5501

 

三、独立安装zookeeper集群

3.1 下载安装包

我使用的版本为 apache-zookeeper-3.6.3-bin.tar.gz,大家可以根据上面提供的官网地址访问选择最新最稳定的版本使用。

 

3.2 准备3个环境

192.168.3.85、192.168.3.86、192.168.3.87

 

3.3 hosts添加映射

vi /etc/hosts

# 添加以下参数映射
192.168.3.85 kafka1
192.168.3.86 kafka2
192.168.3.87 kafka3

 

3.4 解压并重命名

tar -xvf apache-zookeeper-3.6.3-bin.tar.gz

mv apache-zookeeper-3.6.3-bin  /usr/zookeeper

 

3.5 zoo.cfg 配置

# 进入到 /usr/zookeeper/conf 目录下 
cd /usr/zookeeper/conf/

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg

# 需要有如下配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181

server.1=kafka1:2888:3888
server.2=kafka2:2888:3888
server.3=kafka3:2888:3888

进入到 /tmp/zookeeper 目录下,创建一个myid文件,并设置一个值,在其它的节点中设置时类似,但不能设置为同一个数字,可在/tmp/zookeeper下直接执行以下一条命令。

192.168.3.85中执行: echo 1 > myid
192.168.3.86中执行: echo 2 > myid
192.168.3.87中执行: echo 3 > myid

 

3.6 zoo.cfg 启动

# 进入bin目录
cd /usr/zookeeper/bin/

# 启动zk
./zkServer.sh start

# 查看状态
./zkServer.sh status

# 停止zk
./zkServer.sh stop

 

 

 


总结

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值