部署分布式kafka集群
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署分布式kafka集群相关的知识,希望对你有一定的参考价值。
一、kafka、zookeeper分布式集群简介
一句话概括kafka:
kafka是一个具备很强容错能力和实时处理能力的分布式流数据平台。
Kafka的应用场景:
kafka可在以下场景中应用:基于流数据的发布订阅消息系统、基于流数据的高效异步通信中间件、基于流数据的高可用分布式存储;可以替代传统的消息队列和企业级消息系统;
二、所需软件环境:
三台Redhat6.6主机
kafka_2.10-0.9.0.0.tgz 、 zookeeper-3.4.8.tar.gz 、jdk-8u131-linux-x64.tar.gz
三、安装步骤
①准备工作
1.修改主机名,配置各主机映射。修改hosts文件,添加各主机ip及主机名
2.安装jdk,配置系统环境变量(三台主机同样配置,这里以一台主机为例)
解压缩jdk到/usr/local下,并重命名为java(重命名只是个人习惯)
使环境变量生效,并测试
3.安装配置zookeeper
重命名zookeeper主配置文件,因为官方zookeeper主配文件命名规则就是zoo.cfg
执行以下命令创建zookeeper数据目录和日志目录:
[[email protected] zookeeper-3.4.8]# cd zk_data/
[[email protected] zk_data]# echo 1 > myid
[[email protected] zk_data]# cat myid
1
修改zookeeper配置文件zoo.cfg如下:
并添加以下选项:
server.1=192.168.1.216:2888:3888
server.2=192.168.1.217:2888:3888
server.3=192.168.1.218:2888:3888
拷贝配置文件到其他节点。
注意:每个节点的myid不能相同!!!!
2.启动zookeeper集群
为zookeeper开启相应端口或关闭防火墙!!!
在Zookeeper集群中各节点执行以下命令启动Zookeeper服务:
zookeeper-3.4.8/bin/zkServer.sh start
使用jps命令查看Zookeeper进程
5607 Jps
5470 QuorumPeerMain
Server2的主机为leader
[[email protected] bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: leader
杀死server2的zookeeper进程
Leader变成了server1
[[email protected] bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: leader
至此zookeeper集群搭建完成,准备工作完成。
②.配置kafka集群
1.解压安装包
修改配置文件,简单配置只需要修改/config/server.properties文件即可。
需要修改的内容:
broker.id(标示当前server在集群中的id,唯一性);port;host.name(当前的server host name或主机ip);zookeeper.connect(连接的zookeeper集群);log.dirs(log的存储目录,需要提前创建)。
Eg:
把配置好的kafka上传到其他节点上
for ip in 217 218 ;do scp /usr/local/kafka_2.10-0.9.0.0/config/server.properties [email protected]$ip ; done
二、
(1).首先启动Zookeeper,之后使用一下命令启动Kafka(其他两个节点相同配置),启动成功之后会有信息提示
出现以下信息说明启动成功
2.对Kafka进行测试。分别创建topic,producer,consumer,最好是在不同的节点上创建。在producer的控制台上输入信息,观察consumer控制台是否能够接收到。
(server1能够收到,再看其他的)
Server2也可以
server3同样
经过以上配置和测试,Kafka已经初步部署好了,接下来可以根据具体的需求配置和操作Kafka。
在server2上生产消息。
PS:出现以下提示是因为该主题没有事先创建好,配置文件中也没有开启自动创建主题,可以手动创建。
去其他服务器上消费消息
OK!至此为止完整的kafka分布式集群就配置好啦~
本文出自 “清风与你” 博客,请务必保留此出处http://super12138.blog.51cto.com/12190541/1950885
以上是关于部署分布式kafka集群的主要内容,如果未能解决你的问题,请参考以下文章