CentOS7安装kafka集群(TODO)

参考文章: Centos7.4安装kafka并简单使用

Kafka集群部署

一 下载kafka

下载地址:http://kafka.apache.org/downloads

记住 千万不能下载源码,下载编译过的

二 安装kafka单机

将kafka上传到 Linux里面并解压,kafka需要JDK的环境。

#解压kafka
tar -zxvf kafka_2.12-2.2.0.tgz

#重命名
mv kafka_2.12-2.2.0 kafka

配置config下面的server.properties文件

broker.id=1    #改为1

增加ip映射,如果不增加就是locahost。这样没办法使用java连接
host.name=192.168.100.129

三 kafka的一些基本命令

#启动zk
bin/zookeeper-server-start.sh  config/zookeeper.properties

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

#创建tocic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

#查询topic列表
bin/kafka-topics.sh --list --zookeeper localhost:2181

#启动 Producer
bin/kafka-console-producer.sh --broker-list 192.168.100.129:9092 --topic test

#启动 Consumer
bin/kafka-console-consumer.sh --bootstrap-server 192.168.100.129:9092 --topic test --from-beginning

#topic的信息
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

三  安装kafka集群

3.1 前提条件

  1. 部署Kafka集群搭建需要服务器至少3台,奇数台
  2. Kafka的安装需要java环境,jdk1.8
  3. Kafka安装包版本:kafka_2.11-0.10.0.1.tar.gz
  4. 假设3台服务器分别为:kafka1、kafka2、kafka3
kafka服务器名 IP 域名
     
     

二、Zookeeper集群搭建5、增加host配置:

直接使用kafka自带的zookeeper建立zk集群

1、将安装包kafka_2.11-0.10.0.1.tar.gz上传到/opt 目录下

2、解压:tar -zxvf kafka_2.11-0.10.0.1.tar.gz

3、进入目录:cd /opt/kafka_2.11-0.10.0.1/

4、创建zookeeper目录:mkdir zk_kfk_data

5、进入目录:cd /opt/kafka_2.11-0.10.0.1/config

6、修改zookeeper.properties文件:

三台机器上的zookeeper.properties文件配置相同,data.Dir 为zk的数据目录,server.1、server.2、server.3 为集群信息。

2888端口号是zookeeper服务之间通信的端口

3888端口是zookeeper与其他应用程序通信的端口。

tickTime:CS通信心跳数

Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

      tickTime以毫秒为单位。

      tickTime:该参数用来定义心跳的间隔时间,zookeeper的客户端和服务端之间也有和web开发里类似的session的概念,而zookeeper里最小的session过期时间就是tickTime的两倍。

initLimit:LF初始通信时限

集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)

syncLimit:LF同步通信时限

集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)

7、创建myid文件:进入/opt/kafka_2.11-0.10.0.1/zk_kfk_data目录,创建myid文件,将三台服务器上的myid文件分别写入1,2,3。myid是zookeeper集群用来发现彼此的标识,必须创建,且不能相同。

8、执行启动zookeeper命令:

nohup /opt/kafka_2.11-0.10.0.1/bin/zookeeper-server-start.sh /opt/kafka_2.11-0.10.0.1/config/zookeeper.properties &>> /opt/kafka_2.11-0.10.0.1/zookeeper.log &

三台机器都执行启动命令,查看zookeeper的日志文件,没有报错就说明zookeeper集群启动成功了。

三、Kafka集群搭建

1、进入目录:cd /opt/kafka_2.11-0.10.0.1/
2、创建kafka日志数据目录:mkdir kafka-logs-1
3、进入目录:cd /opt/kafka_2.11-0.10.0.1/config
4、修改server.properties配置文件:

修改参数如下:

参数名称

参数值

备注

broker.id

0

broker.id的值三个节点要配置不同的值,分别配置为0,1,2

advertised.host.name

kafka1.sd.cn

在hosts文件配置kafka1域名,另外两台分别为:kafka2.sd.cn,kafka3.sd.cn

advertised.port

9092

默认端口,不需要改

log.dirs

/opt/kafka_2.11-0.10.0.1/kafka-logs-1

Kafka日志数据目录

num.partitions

40

分区数,根据自行修改

log.retention.hours

24

日志保存时间

zookeeper.connect

kafka1.sd.cn:3181,kafka2.sd.cn:3181,kafka3.sd.cn:3181

zookeeper连接地址,多个以逗号隔开

5、 启动kafka集群:
nohup /opt/kafka_2.11-0.10.0.1/bin/kafka-server-start.sh /opt/kafka_2.11-0.10.0.1/config/server.properties &>> /opt/kafka_2.11-0.10.0.1/kafka.log &

三个节点均要启动;启动无报错,即搭建成功。

四、测试Kafka集群

1、创建topic:test

/opt/kafka_2.11-0.10.0.1/bin/kafktopics.sh --create --zookeeper kafka1.sd.cn:3181,kafka2.sd.cn:3181,kafka3.sd.cn:3181 --replication-factor 1 --partitions 1 --topic test

2、列出已创建的topic列表

/opt/kafka_2.11-0.10.0.1/bin/kafka-topics.sh --list --zookeeper localhost:3181

3、模拟客户端去发送消息

/opt/kafka_2.11-0.10.0.1/bin/kafka-console-producer.sh --broker-list kafka1.sd.cn:9092,kafka2.sd.cn:9092,kafka3.sd.cn:9092 --topic test

4、模拟客户端去接受消息

/opt/kafka_2.11-0.10.0.1/bin/kafka-console-consumer.sh --zookeeper kafka1.sd.cn:3181,kafka2.sd.cn:3181,kafka3.sd.cn:3181 --from-beginning --topic test
 

发布了85 篇原创文章 · 获赞 138 · 访问量 64万+

猜你喜欢

转载自blog.csdn.net/justlpf/article/details/104443454
今日推荐