centos7安装kafka_2.11-1.0.0 新手入门

系统环境

一、操做系统:64位CentOS Linux release 7.2.1511 (Core)html

二、jdk版本:1.8.0_121apache

三、zookeeper版本:zookeeper-3.4.9.tar.gzbootstrap

四、三台服务器:192.168.1.91; 192.168.1.92; 192.168.1.93;windows

说明:确保zookeeper集群已经在上面三台服务器上部署成功。可参考以前的文章:centos7安装zookeeper3.4.9集群centos

下载kafka

访问网址:http://kafka.apache.org/服务器

左侧导航栏最下面有个Download按钮,点进去tcp

进入网址:http://kafka.apache.org/downloads工具

我写这篇笔记的时候,官方建议下载 kafka_2.11-1.0.0.tgz,咱们选择编译好的tar包,即上图中红色框框标记的。学习

拷贝到centos系统

首先还得说明一下,由于咱们要作集群,因此每台服务器的配置基本同样,只须要在一台服务器上安装好kafka,而后利用scp命令,拷贝到其它两台服务器,最后修改下参数就好了。因此我只将tar包拷贝到192.168.1.91这台服务器,在这台机器安装好后,拷贝到另外两台机器。fetch

建立软件目录/soft,由于配置zookeeper时,已经建立了/soft目录,因此咱们在这里不须要建立了

将在windows系统下载好的tar包利用WinSCP工具拷贝到centos系统(192.168.1.91)的/soft目录

解压kafka

[root@localhost data]# cd /soft

解压

[root@localhost soft]# tar -zxvf kafka_2.11-1.0.0.tgz

移动

[root@localhost soft]# mv kafka_2.11-1.0.0 /usr/local/kafka

配置kafka

[root@localhost local]# cd /usr/local/kafka/config/

[root@localhost config]# vi server.properties

Kafka的配置信息就是在server.properties里面配置的

找到下面两行代码并分别注释

#broker.id=0

#zookeeper.connect=localhost:2181

在文件底部添加以下三个配置:

broker.id=1

zookeeper.connect=192.168.1.91:2181,192.168.1.92:2181,192.168.1.93:2181

listeners = PLAINTEXT://192.168.1.91:9092

说明:若是是单机版的话,默认便可,咱们什么都不须要改动。如今咱们是要配置集群,因此须要配置一些参数

一、broker.id:每台机器不能同样

二、zookeeper.connect:由于我有3台zookeeper服务器,因此在这里zookeeper.connect设置为3台,必须所有加进去

三、listeners:在配置集群的时候,必须设置,否则之后的操做会报找不到leader的错误

 WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 40 : {test=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

4、看好这一点,另外两台服务器,zookeeper.connect的配置跟这里的同样,可是broker.id和listeners不能同样

拷贝kafka到另外两台服务器

[root@localhost config]# scp -r /usr/local/kafka root@192.168.1.92:/usr/local/

[root@localhost config]# scp -r /usr/local/kafka root@192.168.1.93:/usr/local/

中间会要求输入目标机器的密码,按提示操做就好了,而后修改这两台服务器的broker.id和listeners,以下:

192.168.1.92

[root@localhost data]# cd /usr/local/kafka/config/

[root@localhost config]# vi server.properties

而后按Ctrl+D键,一直定位到文件最底部,修改broker.id和listeners:

broker.id=2

zookeeper.connect=192.168.1.91:2181,192.168.1.92:2181,192.168.1.93:2181

listeners = PLAINTEXT://192.168.1.92:9092

192.168.1.93

[root@localhost data]# cd /usr/local/kafka/config/

[root@localhost config]# vi server.properties

而后按Ctrl+D键,一直定位到文件最底部,修改broker.id和listeners:

broker.id=3

zookeeper.connect=192.168.1.91:2181,192.168.1.92:2181,192.168.1.93:2181

listeners = PLAINTEXT://192.168.1.93:9092

开启相关端口

三台机器都要开启,kafka通讯默认是经过9092端口,也就是咱们上面配的listeners

[root@localhost config]# firewall-cmd --zone=public --add-port=9092/tcp --permanent

[root@localhost config]# firewall-cmd --reload

启动zookeeper

三台都要启动

[root@localhost config]# /usr/local/zookeeper/bin/zkServer.sh start

启动kafka,

三台都要启动

[root@localhost config]# /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

jps命令检查是否启动成功

[root@localhost config]# jps

4352 Kafka

4416 Jps

4088 QuorumPeerMain

表示启动成功

建立topic

[root@localhost ~]# cd /usr/local/kafka/

[root@localhost kafka]# bin/kafka-topics.sh --create --zookeeper 192.168.1.91:2181 --replication-factor 1 --partitions 1 --topic test

若是成功的话,会输出:Created topic "test".

查看topic

虽然在192.168.1.91上建立的topic,可是另外两台机器上也能看到

到192.168.1.93客户端

[root@localhost ~]# cd /usr/local/kafka/

[root@localhost kafka]# bin/kafka-topics.sh --list --zookeeper 192.168.1.92:2181

这里的IP能够是192.168.1.9一、192.168.1.9二、192.168.1.93中的任何一个,在三台服务器中的任何一台均可以看到

我这里是在93机器上查看92的

建立发布

在192.168.1.91上建立

[root@localhost kafka]# bin/kafka-console-producer.sh --broker-list 192.168.1.91:9092 --topic test

你会看到:

建立消费

在192.168.1.92上消费

[root@localhost kafka]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.92:9092 --topic test --from-beginning

你会看到:

好,至此大功告成

参考网址

参考地址:http://www.cnblogs.com/luotianshuai/p/5206662.html

学习地址:http://orchome.com/kafka/index

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

相关文章
相关标签/搜索