kafka的安装和基本操作

一、kafka概述

kafka是什么
1)kafka是一个分布式消息队列。
2)kafka对消息保存时根据topic进行分类,发送消息者为producer,接收消息者为consumer
3)kafka集群依赖zookeeper集群保存meta信息

二、服务器规划

kafka1(192.168.79.160) zookeeper kafka
kafka2(192.168.79.161) zookeeper kafka
kafka3(192.168.79.162) zookeeper kafka

三、三台服务器基本设置

3.1 关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
sed -i s/SELINUX=enforcing/SELINUX=permissive/g /etc/selinux/config

3.2 服务器改名

vim /etc/hosts

192.168.79.160 kafka1
192.168.79.161 kafka2
192.168.79.162 kafka3

vim /etc/sysconfig/network

HOSTNAME=kafka1
###3.3 重启服务器

reboot

四、 三台机子均安装jdk

4.1 解压

tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local

4.2 配置环境变量

vim /etc/profile

#JDK
JAVA_HOME=/usr/local/jdk1.8.0_121
PATH= P A T H : PATH: PATH:JAVA_HOME/bin

4.3 加载

source /etc/profile

4.4 验证

java -version

java version “1.8.0_121”
Java™ SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot™ 64-Bit Server VM (build 25.121-b13, mixed mode)

五、 三台机子均安装zookeeper

5.1 解压

tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/

5.2 创建数据目录和备份配置文件

mkdir -p /usr/local/zookeeper-3.4.14/zkData
cp /usr/local/zookeeper-3.4.14/conf/zoo_sample.cfg /usr/local/zookeeper-3.4.14/conf/zoo.cfg

5.3 修改配置文件

vim /usr/local/zookeeper-3.4.14/zoo.cfg

dataDir=/usr/local/zookeeper-3.4.14/zkData

server.1=kafka1:2888:3888
server.2=kafka2:2888:3888
server.3=kafka3:2888:3888
在这里插入图片描述

解释:server.A=B:C
A是一个数字,表示服务器的编号
B是服务器的ip,因为设置了服务器名,所以用服务器名替代
C是服务器与集群leader通讯的端口
D是集群leader挂了,选举新leader时通讯的端口

5.4 创建myid

这边注意,每台服务器的myid值必须不一致,与server.值 对应(server.1=kafka1:2888:3888
)

vim /usr/local/zookeeper-3.4.14/zkData/myid

在这里插入图片描述

5.5 启动zk

/usr/local/zookeeper-3.4.14/bin/zkServer.sh start

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/…/conf/zoo.cfg
Starting zookeeper … STARTED
###5.6 查看集群状态

/usr/local/zookeeper-3.4.14/bin/zkServer.sh status

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.14/bin/…/conf/zoo.cfg
Mode: leader

六、三台kafka集群部署

6.1 解压

tar -zxvf kafka_2.11-2.1.1.tgz -C /usr/local/

6.2 重命名

mv /usr/local/kafka_2.11-2.1.1/ /usr/local/kafka

6.3 创建日志目录

mkdir -p /usr/local/kafka/logs

6.4 修改配置文件

vim /usr/local/kafka/config/server.properties

修改以下参数,这边要注意,broker.id值 每台服务器上必须不一致
#broker全局唯一编号
broker.id=1
#启用删除topic功能,没有则添加
delete.topic.enable=true
#指定kafka运行日志目录
log.dirs=/usr/local/kafka/logs
#配置zookeeper集群地址
zookeeper.connect=kafka1:2181,kafka2:2181,kafka3:2181

6.5 设置环境变量

vim /etc/profile

#KAFKA
KAFKA_HOME=/usr/local/kafka
PATH= P A T H : PATH: PATH:KAFKA_HOME/bin

source /etc/profile

6.6 三台服务器上分别启动

/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &

七、kafka命令行操作

7.1 创建topic

/usr/local/kafka/bin/kafka-topics.sh --zookeeper kafka1:2181 --create --topic zhangsan --replication-factor 1 --partitions 1

7.2 查看当前服务器的topic

/usr/local/kafka/bin/kafka-topics.sh --zookeeper kafka1:2181 --list

7.3 一台服务器上执行,发送消息

/usr/local/kafka/bin/kafka-console-producer.sh --topic zhangsan --broker-list kafka1:9092 

输入hello world

7.4 另一台服务器上执行,消费消息

/usr/local/kafka/bin/kafka-console-consumer.sh --topic zhangsan --bootstrap-server kafka1:9092 --from-beginning

7.5 显示hello world

/usr/local/kafka/bin/kafka-topics.sh --zookeeper kafka1:2181 --describe --topic zhangsan

7.6 删除该topic

/usr/local/kafka/bin/kafka-topics.sh --zookeeper kafka1:2181 --delete --topic zhangsan
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘蛋蛋时代

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值