目录
一、配置 JDK 环境变量
二、配置 Zookeeper 环境变量
三、Kafka 的安装与配置
四、测试
这个我们经常配置, 就简单带过一下:
1. 下载jar包
2. 修改 /etc/profile 文件, 配置环境变量
3. source /etc/profile , 使变量生效
Version: 3.6.1
下载路径: https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.1/ (下载带有 bin 的那个包)
1. 创建安装目录, 上传安装包并解压, 重命名:
cd /usr/local/
此处需上传安装包到此目录
tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz
mv ./apache-zookeeper-3.6.1-bin ./zookeeper-3.6.1
2. 修改/etc/profile文件, 增加以下内容
export ZOOKEEPER_HOME=/usr/local/usr/local/zookeeper-3.6.1
export PATH=$PATH:$ZOOKEEPER_HOME/bin
接着执行 source /etc/profile 命令使配置生效
3. 新建用于存储ZK数据和日志的目录
cd /usr/local/usr/local/zookeeper-3.6.1
mkdir ./storage
cd ./storage
mkdir ./data
mkdir ./log
3. 到conf目录下,复制zoo_sample.cfg,粘贴命名为zoo.cfg
cd /usr/local/zookeeper-3.6.1/conf
cp zoo_sample.cfg zoo.cfg
4. 编辑 zoo.cfg, 更新里面的数据目录和日志目录
vim ./zoo.cfg
dataDir=/usr/local/zookeeper-3.6.1/storage/data
dataLogDir=/usr/local/zookeeper-3.6.1/storage/log
(注: ZK Server 启动默认的端口号是8080, 这个端口号经常被占用,可以在 zoo.cfg中修改此端口号)
admin.serverPort=8090
5. 来到 /usr/local/zookeeper/apache-zookeeper-3.6.1/storage/data, 新建一个文件 myid, 并向里面写个数0 (myid里放的是服务器的编号)
cd /usr/local/zookeeper-3.6.1/storage/data
vim myid
6. 来到bin目录, 启动ZK, 并查看ZK状态
cd /usr/local/zookeeper-3.6.1/bin/
./zkServer.sh start
Version: 2.5.0
下载路径: https://www.apache.org/dyn/closer.cgi?path=/kafka/2.5.0/kafka_2.12-2.5.0.tgz
1. 创建安装目录, 上传安装包并解压, 重命名:
cd /usr/local/
此处需上传安装包到此目录
tar -zxvf ./kafka_2.12-2.5.0.tgz
mv kafka_2.12-2.5.0 kafka_2.5.0
2. 修改/etc/profile文件, 增加以下内容
export KAFKA_HOME=/usr/local/usr/local/kafka_2.5.0
export PATH=$PATH:$KAFKA_HOME/bin
执行 source /etc/profile
3. 修改broker的配置文件:
cd /usr/local/kafka_2.5.0/config/
vim ./server.properties
关注下面几个参数:
# broker 的编号
broker.id=0
# broker 对外提供的服务入口地址
listeners=PLAINTEXT://localhost:9092
# 存放消息日志文件的地址, 下面是笔者自己的路径 (不用手动mkdir这个地址)
log.dirs=/usr/local/kafka_2.5.0/data/logs
# Kafka 所需的 ZK 集群地址, 本例中为localhost
zookeeper.connect=localhost:2181/kafka
4. 后台启动kafka
cd /usr/local/kafka_2.5.0/bin
./kafka-server-start.sh ../config/server.properties &
创建一个有2个分区, 每个分区有1个副本的 Topic (TopicDemo)
注: 因为是单机,只有一个broker, 副本数量不能超过broker数量, 所以这里只能设为1
来到bin目录 cd /usr/local/kafka_2.5.0/bin
./kafka-topics.sh --zookeeper localhost:2181/kafka --create --topic TopicDemo --replication-factor 1 --partitions 2
再用describe命令看看这个topic
./kafka-topics.sh --zookeeper localhost:2181/kafka --describe --topic TopicDemo
然后再来测试发送&接受消息:
首先打开consumer, 监听消息:
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic TopicDemo
然后我们打开producer, 发送一条消息:
./kafka-console-producer.sh --broker-list localhost:9092 --topic TopicDemo
可以看到Consumer接收到的结果:
--- THE END ---