Kafka集群部署

  • MQ, Server
  • 1,071 clicked

1. 部署JAVA JDK

kafka需要依赖java,所以先确认已安装java

1.1. 检查并清空JDK

首先检测系统是否安装JDK,如已安装则卸载.

官方下载地址:https://www.oracle.com/java/technologies/javase-downloads.html

1.2. 安装JAVA JDK

1.3. 验证JAVA JDK

1.4. 配置环境变量(/etc/profile)

使修改生效

2. 安装部署Kafka集群

2.1. 下载并安装

2.2. 修改配置文件

2.2.1. 修改zookeeper配置文件

因为kafka建立集群依赖zookeer集群进行选举,所以这里可以提前先配置zookeeper集群.

  1. tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime

  2. dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。

  3. client:监听客户端连接的端口。

  4. initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。

  5. syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。

  • server.A=B:C:D
        A:其中 A 是一个数字,表示这个是服务器的编号
        B:是这个服务器的 ip 地址;
        C:Zookeeper服务器之间的通信端口;
        D:Leader选举的端口。
    我们需要修改的第一个是 dataDir ,在指定的位置处创建好目录。官方文档连接

2.2.2. 创建zookeepera集群中node编号文件

在上一步 dataDir 指定的目录下,创建 myid 文件。
例如在/tmp/zookeeper中创建myid文件,其中内容为对应的主机ID号.
因为配置集群,所以在所有机子11.32.16.13 11.32.16.14 11.32.16.15上分别创建集群中node编号文件

2.2.3. 修改kafka broker配置文件

配置文件用于服务器节点的配置文件,配置服务节点, server.properties

地址可以先不用创建,在首次启动kafka的时候,会自动进行创建

2.3. 启动程序

2.3.1. 启动zookeeper

这个是在启动broker之前需要保证zookeeper集群是运行着的。

2.3.2. 开放端口并查看

2.3.3. 启动kafka broker

先启动一下,开有没有报错。

  • 问题1

    Error creating broker listeners from 'vnet-kafka://:9092':

java.lang.IllegalArgumentException: Error creating broker listeners from 'vnet-kafka://:9092': No security protocol defined for listener VNET-KAFKA

配置文件中如果不采用SSL,需要采用PLAINTEXT://:9092;否则采用主机hostname

  • 问题2

INFO Refusing session request for client /11.32.16.13:47997 as it has seen zxid 0x4000000aa our last zxid is 0x300000000 client must try another server (org.apache.zookeeper.server.ZooKeeperServer)

说明11.32.16.13中仍有程序给zookeeper发送信息,需要关闭它.
这里查看没有关闭kafka,所有关闭它. netstat -tunlp|grep 9092,并关闭它

- 问题3

Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient

2.4. 检查测试Zookeeper集群状态

  连接kafka使用的时候,里面除了zookeeper之外还有其他内容,来查看一下。登录zookeeper(切换到zk的bin目录下),先连接zk


3. 模拟使用Kafka

3.1. 创建topic(使用help帮助)

3.1.1. 创建一个topic

3.1.2. 查看消息topic订阅状态

3.2. 生产者和消费者

3.2.1. 启动消息生产者

  1. 启动消息生产者,将消息发送到kafka的topic上

3.2.2. 启动消息消费者


4. 参考文档

Kafka官网:http://kafka.apache.org/

学习推荐 :http://orchome.com/kafka/index

官网下载 :http://kafka.apache.org/downloads

赞赏

微信赞赏支付宝赞赏

发表评论

邮箱地址不会被公开。 必填项已用*标注