centos7安装kafka

下载kafka
网址:http://kafka.apache.org/
进入网址:http://kafka.apache.org/downloads

系统环境
1、操作系统:64位CentOS7
2、jdk版本:1.8.0_271
3、zookeeper版本:zookeeper-3.4.6
4、三台服务器部署成功:192.168.192.150; 192.168.192.152; 192.168.192.155;

前置设置:

1、设置时区和查看时区
[root@localhost /]# timedatectl set-timezone Asia/Shanghai
[root@localhost /]# timedatectl

同步时钟
[root@master /]# yum -y install ntp
ntp1到ntp7都可以
[root@master /]# ntpdate ntp1.aliyun.com
13 Jan 21:50:10 ntpdate[15275]: step time server 120.25.115.20 offset -1.294833 sec

2、设置主机名,分别在150、152和155机器上设置
hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2

3、设置本机的hosts , 三台机器都设置
vi /etc/hosts
192.168.192.150 master
192.168.192.152 node1
192.168.192.155 node2

在windows10下C:\Windows\System32\drivers\etc加入如下信息:
127.0.0.1   localhost
::1             localhost
192.168.93.150 master
192.168.93.152 node1
192.168.93.155 node2
说明:修改windows10 中的hosts可以把这个文件复制到桌面上之后加入上面的内容后再替换掉C:\Windows\System32\drivers\etc下的hosts文件
要不修改hosts文件会提示没权限。

这样代码就可直接写主机名了,就是windows和centos下创建了双向的主机与IP的映射
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,"node1:9092,node2:9092");

----------------------------------------------------------安装部份---------------------------------------------------------------------------------------

1、解压kafka
tar -zxvf /usr/local/soft/kafka_2.11-2.2.0.tgz -C /usr/local/

2、配置kafka
[root@localhost]# vi /usr/local/kafka_2.11-2.2.0/config/server.properties

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

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

#broker.id=0
#zookeeper.connect=localhost:2181

修改存放日志的目录

log.dirs=/kafka_2.11-2.2.0/kafka-logs

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

broker.id=1
zookeeper.connect=192.168.192.150:2181,192.168.192.152:2181,192.168.192.155:2181

下面必须是主机名,master,master是自己起的名
listeners = PLAINTEXT://master:9092

3、创建修改后的日志目录
[root@localhost local]# cd kafka_2.11-2.2.0/
[root@localhost kafka_2.11-2.2.0]# mkdir kafka-logs


说明:如果是单机版的话,默认即可,我们什么都不需要改动。现在我们是要配置集群,所以需要配置一些参数

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

2)、zookeeper.connect:因为我有3台zookeeper服务器,所以在这里zookeeper.connect设置为3台,必须全部加进去

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不能一样

5、拷贝kafka到另外两台服务器
[root@localhost config]# scp -r /usr/local/kafka_2.11-2.2.0 root@192.168.192.152:/usr/local/
[root@localhost config]# scp -r /usr/local/kafka_2.11-2.2.0 root@192.168.192.155:/usr/local/

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

6、192.168.192.152
[root@localhost]# vi /usr/local/kafka_2.11-2.2.0/config/server.properties

然后修改一下broker.id=2和listeners = PLAINTEXT://192.168.192.152:9092,zookeeper.connect不需要改都一样

broker.id=2
zookeeper.connect=192.168.192.150:2181,192.168.192.152:2181,192.168.192.155:2181
listeners = PLAINTEXT://node1:9092

7、192.168.192.155
[root@localhost]# vi /usr/local/kafka_2.11-2.2.0/config/server.properties

然后修改一下broker.id=3和listeners = PLAINTEXT://192.168.192.155:9092,zookeeper.connect不需要改都一样

broker.id=3
zookeeper.connect=192.168.192.150:2181,192.168.192.152:2181,192.168.192.155:2181
listeners = PLAINTEXT://node2:9092

8、开启相关端口如果防火墙已经关才的话此部可以忽略
三台机器都要开启,kafka通信默认是通过9092端口,也就是我们上面配的listeners

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

9、启动zookeeper
三台都要启动
[root@localhost /]# /usr/local/zookeeper-3.4.6/bin/zkServer.sh start

10、启动kafka,
三台都要启动
[root@localhost /]# /usr/local/kafka_2.11-2.2.0/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.11-2.2.0/config/server.properties

11、jps命令检查是否启动成功
[root@localhost /]# jps
9287 Jps
9224 Kafka
8329 QuorumPeerMain

12、创建topic
[root@localhost /]# cd /usr/local/kafka_2.11-2.2.0/
[root@localhost kafka_2.11-2.2.0]# bin/kafka-topics.sh --create --zookeeper 192.168.192.150:2181 --replication-factor 1 --partitions 1 --topic test
Created topic test.

如果成功的话,会输出:Created topic "test".

13、查看topic
虽然在192.168.192.150上创建的topic,但是另外两台机器上也能看到,到192.168.192.152客户端

[root@localhost /]# cd /usr/local/kafka_2.11-2.2.0/
[root@localhost kafka_2.11-2.2.0]# bin/kafka-topics.sh --list --zookeeper 192.168.192.152:2181
test

备注:这里的IP可以是192.168.192.150、192.168.192.152、192.168.192.155中的任何一个,在三台服务器中的任何一台都可以看到主题

14、创建发布
在192.168.192.150上创建
[root@localhost kafka_2.11-2.2.0]# bin/kafka-console-producer.sh --broker-list 192.168.192.150:9092 --topic test
>a
>b
>c

15、创建消费
在192.168.192.152上消费
[root@localhost kafka_2.11-2.2.0]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.192.152:9092 --topic test --from-beginning
a
b
c

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值