kafka的安装与使用

2 篇文章 0 订阅
1 篇文章 0 订阅

目前项目中使用的是activemq和rabbitmq,现在简单学习一下kafka.搭了个zokeeper集群,kafka集群,作为自己kafka的一个入门.
kafka的使用场景:

- 日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。
- 消息系统:解耦和生产者和消费者、缓存消息等。
- 用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。
- 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。
- 流式处理:比如spark streaming和storm
- 事件源

服务器环境准备

使用vwmare虚拟了三台linux主机
192.168.184.145
192.168.184.146
192.168.184.147
image.png

###Zookeeper集群环境搭建
1.每台服务器节点上安装jdk1.8环境
使用java -version命令查看
2.每台服务器节点上安装Zookeeper

1.下载并且安装zookeeper安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
2. 解压安装包  tar -zxvf zookeeper-3.4.10.tar.gz
3. 重命名: mv zookeeper-3.4.10 zookeeper

3.搭建Zookeeper集群环境
修改zoo_sample.cfg文件

cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
修改conf: vi zoo.cfg 修改两处
(1) dataDir=/usr/local/zookeeper/data(注意同时在zookeeper创建data目录)
(2)最后面添加
server.0=192.168.184.145:2888:3888
server.1=192.168.184.146:2888:3888
server.2=192.168.184.147:2888:3888

4.创建服务器标识
服务器标识配置:
创建文件夹: mkdir data(就是/usr/local/zookeeper/data)
创建文件myid并填写内容为0: vi
myid (内容为服务器标识 : 0) 我这里145是0,146是1,147是2
5.关闭每台服务器节点防火墙,systemctl stop firewalld.service(我的版本是Linux version 2.6.32-431.el6.x86_64, 所以只能用service iptables stop)

###启动zookeeper
启动zookeeper:
路径: /usr/local/zookeeper/bin
执行: zkServer.sh start
(注意这里3台机器都要进行启动)
状态: zkServer.sh status(在三个节点上检验zk的mode,一个leader和俩个follower)

Kafka集群环境搭建
3台虚拟机均进行以下操作:(这里建议搭一台,然后另外两台用clone,只需要修改broker.id,listeners, zookeeper/data/myid )
3台虚拟机均进行以下操作:

// 解压下载好的kafka压缩包并重命名
cd /usr/local
wget http://mirror.bit.edu.cn/apache/kafka/1.0.2/kafka_2.12-1.0.2.tgz 
tar -zxvf kafka_2.12-1.0.2.tgz
mv kafka_2.12-1.0.2 kafka
// 修改配置文件
vi ./kafka/config/server.properties

###需要修改的内容如下(192.168.184.145)

broker.id=0
listeners=PLAINTEXT://192.168.184.145:9092
zookeeper.connect=192.168.184.145:2181,192.168.184.145:2181,192.168.184.145:2181

###需要修改的内容如下(192.168.184.146)

broker.id=1
listeners=PLAINTEXT://192.168.184.146:9092
zookeeper.connect=192.168.184.145:2181,192.168.184.145:2181,192.168.184.145:2181

###需要修改的内容如下(192.168.184.147)

broker.id=2
listeners=PLAINTEXT://192.168.184.147:9092
zookeeper.connect=192.168.184.145:2181,192.168.184.145:2181,192.168.184.145:2181

// 在系统环境中配置kafka的路径
vi /etc/profile

// 在文件最下方添加kafka路径
export KAFKA_HOME=/usr/local/kafka
// 多路径PATH写法为PATH=${ZOOKEEPER_HOME}/bin:${KAFKA_HOME}/bin:$PATH
PATH=${KAFKA_HOME}/bin:$PATH
export PATH

// 使修改完的环境变量生效
source /etc/profile

image.png
###Kafka集群环境测试
1、开启3台虚拟机的zookeeper程序
/usr/local/zookeeper/bin/zkServer.sh start
开启成功后查看zookeeper集群的状态
/usr/local/zookeeper/bin/zkServer.sh status
出现Mode:follower或是Mode:leader则代表成功
2、在后台开启3台虚拟机的kafka程序(cd /usr/local/kafka)
./bin/kafka-server-start.sh -daemon config/server.properties
3、在其中一台虚拟机(192.168.184.145)创建topic
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor
4 --partitions 3 --topic my_test
// 查看创建的topic信息
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.184.145:2181 --topic my_test
###SpringBoot整合kafka
image.png

yml中配置
image.png
image.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值