淘先锋技术网

首页 1 2 3 4 5 6 7

只是简单记录搭建的过程,有时间再详细说明。

前置环境

kafka集群安装

下载kafka

[root@node01 soft]# wget https://www.apache.org/dyn/closer.cgi?path=/kafka/2.1.0/kafka_2.12-2.1.0.tgz
[root@node01 soft]# tar -zxvf kafka_2.12-2.1.0.tgz
[root@node01 soft]# mv kafka_2.12-2.1.0 /opt/bigdata/
[root@node01 soft]#

修改配置文件

修改配置/opt/bigdata/kafka/config/server.properties
每个kafka实例单独配置其独有的本地broker.id 和listeners

[root@node01 soft]# vi /opt/bigdata/kafka/config/server.properties

broker.id=0
listeners=PLAINTEXT:node01:9092
log.dirs=/var/kafka/data
zookeeper.connect=node02:2181,node03:2181,node04:2181/kafka
[root@node01 soft]#
[root@node01 soft]#
[root@node01 soft]#

配置环境变量

[root@node01 soft]# vi /etc/profile
export JAVA_HOME=/usr/java/default
export ZOOKEEPER_HOME=/opt/mmm/zk/apache-zookeeper-3.7.0-bin
export KAFKA_HOME=/opt/bigdata/kafka_2.12-2.1.0
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$KAFKA_HOME/bin
[root@node01 soft]# source /etc/profile

分发kafka安装文件到其他节点

[root@node01 soft]# cd /opt/bigdata
[root@node01 bigdata]# scp -r kafka_2.12-2.1.0 node02:`pwd`
[root@node01 bigdata]# scp -r kafka_2.12-2.1.0 node03:`pwd`

修改node(02~03)配置文件

[root@node02 ~]# vi /opt/bigdata/kafka/config/server.properties
broker.id=1
listeners=PLAINTEXT:node02:9092
log.dirs=/var/kafka/data
zookeeper.connect=node02:2181,node03:2181,node04:2181/kafka
[root@node03 ~]# vi /opt/bigdata/kafka/config/server.properties
broker.id=2
listeners=PLAINTEXT:node03:9092
log.dirs=/var/kafka/data
zookeeper.connect=node02:2181,node03:2181,node04:2181/kafka

配置环境变量

[root@node02 ~]# vi /etc/profile
export JAVA_HOME=/usr/java/default
export ZOOKEEPER_HOME=/opt/mmm/zk/apache-zookeeper-3.7.0-bin
export KAFKA_HOME=/opt/bigdata/kafka_2.12-2.1.0
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$KAFKA_HOME/bin
[root@node02 ~]# source /etc/profile
[root@node03 ~]# vi /etc/profile
export JAVA_HOME=/usr/java/default
export ZOOKEEPER_HOME=/opt/mmm/zk/apache-zookeeper-3.7.0-bin
export KAFKA_HOME=/opt/bigdata/kafka_2.12-2.1.0
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$KAFKA_HOME/bin
[root@node03 ~]# source /etc/profile

使用kafka

启动kafka

[root@node01 ~]# kafka-server-start.sh /opt/bigdata/kafka/config/server.properties
[root@node02 ~]# kafka-server-start.sh /opt/bigdata/kafka/config/server.properties
[root@node03 ~]# kafka-server-start.sh /opt/bigdata/kafka/config/server.properties

创建topic

生产者消费者

生产者生产消息,消费者消费消息

  • 启动一个生产者,启动一个消费者
    • 生产者生产消息后,在消费者中消费到到了消息
  • 在启动一个消费者,生产者连续生产消息1,2,3,4,5,6,7,8
    • 两个消费者中均衡的消费消息,一个消费者消费1,3,5,7;另一个消费者消费2,4,6,8

生产者生产消息

[root@node01 conf]# kafka-console-producer.sh --broker-list node02:9092,node03:9092 --topic hello 
hello1
hello2
1
2
3
4
5
6
7
8

消费者消费消息

[root@node01 ~]# kafka-console-consumer.sh --bootstrap-server node02:9092,node03:9092 --topic hello --group mmm 
hello1
hello2
1
3
5
7
[root@node03 ~]# kafka-console-consumer.sh --bootstrap-server node02:9092,node03:9092 --topic hello --group mmm 
2
4
6
8