kafka的安装与使用

目前项目中使用的是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

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.gz2. 解压安装包  tar -zxvf zookeeper-3.4.10.tar.gz3. 重命名: 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=0listeners=PLAINTEXT://192.168.184.145:9092zookeeper.connect=192.168.184.145:2181,192.168.184.145:2181,192.168.184.145:2181

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

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

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

broker.id=2listeners=PLAINTEXT://192.168.184.147:9092zookeeper.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:$PATHPATH=${KAFKA_HOME}/bin:$PATHexport PATH

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

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

yml中配置

原文发布于微信公众号 - java部落(zhuyuansj)

原文发表时间:2019-02-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券