centos7搭建Linux集群,CentOS 7下Kafka集群安装

一、环境操作系统和软件版本介绍

1.环境操作系统为CentOS Linux release 7.2.1511 (Core)

可用cat /etc/RedHat-release查询

9b6e12a2d63c20238e17cef9dad93fde.png

2.软件版本

Kafka版本为:0.10.0.0

二、软件的基础准备

由于Kafka集群需要依赖ZooKeeper集群来协同管理,所以需要事先搭建好ZK集群。此文主要介绍搭建Kafka集群环境。

三、详细安装搭建步骤

1.下载压缩包kafka_2.10-0.10.0.0.tgz到/data/soft目录

0eab26653dd634d5ec48510199cbb15d.png

2.将kafka_2.10-0.10.0.0.tgz解压到/data/app/Kafka目录

tar –xzf kafka_2.10-0.10.0.0.tgz –C /data/app/kafkacluster

把文件夹重命名为19092,进入config目录,修改server.properties文件

34abb58457bb2e3825cb61d0a0cb0645.png

3.用vi命令打开server.properties

1 [root@centos7 config]# vi server.properties

117f78e699bd49cfbc35642dfbe95132.png

4.修改如下:

1 broker.id=0

2 port=19092

3 log.dirs=/data/app/kafkacluster/19093/bin/kafka-logs190924 zookeeper.connect=192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003

3f60b3ab461a5275b791b79a2c849ad5.png

b4deac2a6e59d5a819a51f4e39677ae9.png

89c4a65b24c9d211574721d6a7bd1f24.png

其他两台服务器上的kafka同上,先修改文件夹名称(在此文另外两个文件夹名称为19093和19094)

5298a4aed95d0a3945541efdf884bf1b.png

再进入config目录,分别改server.properties名称为server1.properties和server2.properties

server1.properties中的配置需要改:

1 broker.id=1

2 port=19093

3 log.dirs=/data/app/kafkacluster/19093/bin/kafka-logs190934 zookeeper.connect=192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003

server2.properties中的配置需要改:

1 broker.id=2

2 port=19094

3 log.dirs=/data/app/kafkacluster/19094/bin/kafka-logs190944 zookeeper.connect=192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003

四、启动kafka&测试验证

1.首先启动独立的ZK集群,三台都要启动(./zkServer.sh start)

2.进入到kafka的bin目录,然后启动服务./kafka-server-start.sh ../config/server.properties (三台服务器都要启动)

1 ./kafka-server-start.sh ../config/server1.properties2 ./kafka-server-start.sh ../config/server2.properties

42153fa0b16a26b1364ec1f893852d55.png

另外,启动其他节点的时候,在最先开始启动的节点会显示其它节点加入的信息记录,如下所示:

1 [2017-01-18 14:44:24,352] INFO Partition [aaa,0] on broker 0: Expanding ISR for partition [aaa,0] from 0 to 0,1(kafka.cluster.Partition)2 [2017-01-18 14:44:37,065] INFO Partition [aaa,0] on broker 0: Expanding ISR for partition [aaa,0] from 0,1 to 0,1,2 (kafka.cluster.Partition)

d5d9e398426f500e83f440bda506515f.png

3.验证启动进程

1 [root@centos7 bin]# jps2 25778Kafka3 26132Jps4 25285Kafka5 25014QuorumPeerMain6 25064QuorumPeerMain7 25531Kafka8 25116 QuorumPeerMain

8bb8deb095a3d3c34dfbe0951a50e549.png

4.使用客户端进入zk

1 [root@centos7 bin]# ./zkCli.sh -server 192.168.1.18:3001

2 Connecting to 192.168.1.18:3001

f2906fa26c74224f6f6b59bf1c36e5bd.png

5.查看目录情况

1 [zk: 192.168.1.18:3001(CONNECTED) 0] ls /

2 [controller_epoch, controller, brokers, zookeeper, test, admin, isr_change_notification, consumers, config]3 [zk: 192.168.1.18:3001(CONNECTED) 1]

f67802a00a464579eab9d25f0898d57b.png

上面的显示结果中:只有zookeeper是zookeeper原生的,其他都是Kafka创建的

6. 创建一个topic:

1 [root@centos7 bin]# ./kafka-topics.sh --create --zookeeper 192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003 --replication-factor 3 --partitions 1 --topic test6662 Created topic "test666".

cd4061b57b11c5247d65983530211da7.png

7. 查看topic状态:

1 [root@centos7 bin]# ./kafka-topics.sh --describe --zookeeper 192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003 --topic test6662 Topic:test666 PartitionCount:1 ReplicationFactor:3Configs:3 Topic: test666 Partition: 0 Leader: 0 Replicas: 0,2,1 Isr: 0,2,1

6b3a4716068c4434c323e7cbf5feddfb.png

输出参数解释:

第一行是对所有分区的一个描述,然后每个分区都会对应一行,因为我们只有一个分区所以下面就只加了一行。

Leader:负责处理消息的读和写,Leader是从所有节点中随机选择的。

Replicas:列出了所有的副本节点,不管节点是否在服务中

Isr:是正在服务中的节点

由上可见,此时的leader是0

下文会kill 0,看leader是否更改

8.往test666中发送消息:

1 [root@centos7 bin]# ./kafka-console-producer.sh --broker-list localhost:19092,localhost:19093,localhost:19094 --topic test6662 hello kafka!

3 hello littleMonster!

4 hello world!

fe2960c536d93376e5e26cc969fd3a28.png

9.接收消息:

1 [root@centos7 bin]# ./kafka-console-consumer.sh --zookeeper 192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003 --topic test666 --from-beginning2 hello kafka!

3 hello littleMonster!

4 hello world!

743bdda32c79c3978acc1c109271a66c.png

消息接收成功。

10.找到为0的leader的进程,并杀死

1 [root@centos7 /]# ps -ef | grep ka

61b8d439f4179c6089b9b0fb8478f6c8.png

1 [root@centos7 /]# kill -9 25285

11.再次查看topic状态:

1 [root@centos7 bin]# ./kafka-topics.sh --describe --zookeeper 192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003 --topic test6662 Topic:test666 PartitionCount:1 ReplicationFactor:3Configs:3 Topic: test666 Partition: 0 Leader: 2 Replicas: 0,2,1 Isr: 2,1

24d7a7d9b179fcadc886d3ec3d3b4234.png

由此可见,在Isr(正在服务中的节点)项,0已消失,新选举出的leader是2。

12.再次发送消息

cde8c608143016efd478081a0350b17c.png

接收消息

72a0e48a719aaa50d4a39863ec0ddf32.png

消息正常接收,该测试通过。

CentOS 7.2部署Elasticsearch+Kibana+Zookeeper+Kafka  http://www.linuxidc.com/Linux/2016-11/137636.htm

Kafka 的详细介绍:请点这里

Kafka 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值