Kafka安装与配置
Java环境为前提
-
- 上传jdk-8u261-linux-x64.rpm到服务器并安装:
1
rpm -ivh jdk-8u261-linux-x64.rpm
-
- 配置环境变量并⽣效
1
2
3
4
5
6
7
8
9
10vim /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/lagou/servers/jdk1.8.0_231
export PATH=$PATH:$JAVA_HOME/bin
# ⽣效
source /etc/profile
# 验证
java -version
Zookeeper的安装配置
-
- 上传zookeeper-3.4.14.tar.gz到服务器,解压到/opt:
1
2
3
4
5
6
7
8
9
10
11
12tar -zxf zookeeper-3.4.14.tar.gz -C /opt
cd /opt/zookeeper-3.4.14/conf
# 复制zoo_sample.cfg命名为zoo.cfg
cp zoo_sample.cfg zoo.cfg
# 编辑zoo.cfg⽂件
vim zoo.cfg
# 修改Zookeeper保存数据的⽬录,dataDir
dataDir=/var/lagou/zookeeper/data -
- 编辑/etc/profile并⽣效
1
2
3
4
5
6
7
8
9
10vim /etc/profile
# ZOOKEEPER_PREFIX指向Zookeeper的解压⽬录
export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14
# 将Zookeeper的bin⽬录添加到PATH中
export PATH=$PATH:$ZOOKEEPER_PREFIX/bin
# 设置环境变量ZOO_LOG_DIR,指定Zookeeper保存⽇志的位置
export ZOO_LOG_DIR=/var/lagou/zookeeper/log
source /etc/profile -
- 验证
1
zkServer.sh status
Kafka的安装与配置
-
- 上传kafka_2.12-1.0.2.tgz到服务器并解压
1
tar -zxf kafka_2.12-1.0.2.tgz -C /opt/lagou/server
-
- 配置环境变量并⽣效
1
2
3
4
5vim /etc/profile
#KAFKA_HOME
export KAFKA_HOME=/opt/lagou/server/kafka_2.12-1.0.2
export PATH=$PATH:$KAFKA_HOME/bin -
- 配置/opt/kafka_2.12-1.0.2/config中的server.properties⽂件
Kafka连接Zookeeper的地址,此处使⽤本地启动的Zookeeper实例,连接地址是localhost:2181,后⾯的myKafka 是Kafka在Zookeeper中的根节点路径:
配置kafka存储持久化数据的⽬录,log.dir=/var/lagou/kafka/kafka-logs,要先创建目录,如下:
1
mkdir -p /var/lagou/kafka/kafka-logs
-
- 启动Zookeeper,并确定状态
1
2
3zkServer.sh start
zkServer.sh status -
- 启动Kafka
进⼊Kafka安装的根⽬录,执⾏如下命令
1
kafka-server-start.sh config/server.properties
启动成功,可以看到控制台输出的最后⼀⾏的started状态
此时Kafka是前台模式启动,要停⽌,使⽤Ctrl+C。
如果要后台启动,使⽤命令:
1
kafka-server-start.sh -daemon config/server.properties
-
- 查看Kafka的后台进程
1
ps aux | grep kafka
-
- 停⽌后台运⾏的Kafka
1
kafka-server-stop.sh
⽣产与消费
-
- kafka-topics.sh ⽤于管理主题
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 列出现有的主题
[root@node1 ~]# kafka-topics.sh --list --zookeeper localhost:2181/myKafka
# 创建主题,该主题包含⼀个分区,该分区为Leader分区,它没有Follower分区副本。
[root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topic_1 --partitions 1 --replication-factor 1
# 查看分区信息
[root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --list
# 查看指定主题的详细信息
[root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --describe --topic topic_1
# 删除指定主题
[root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --delete --topic topic_1 -
- kafka-console-producer.sh⽤于⽣产消息
1
2# 开启⽣产者
[root@node1 ~]# kafka-console-producer.sh --topic topic_1 --broker-list localhost:9020 -
- kafka-console-consumer.sh⽤于消费消息
1
2
3
4
5# 开启消费者
[root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_1
# 开启消费者⽅式⼆,从头消费,不按照偏移量消费
[root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_1 --from-beginning
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 WeiJia_Rao!