前言
由于Kafka运行需要zookeeper配合,zookeeper需要运行在JVM上,所以需要安装JDK,zookeeper。Kafka 从2.0.0版本开始就不再支持 JDK7 及以下版本,本节就以 JDK8 为例来进行演示。
使用系统:CentOS 7 64位。
前提:安装好jdk8,本文此处不再展开,可以百度进行搜索。
一、ZooKeeper安装与配置
1.下载:
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/
2.解压:
[root@node01 soft]# tar zxvf zookeeper-3.4.12.tar.gz
3.配置环境变量
1)向/etc/profile 配置文件中添加如下内容,并执行 source /etc/profile 命令使配置生效:
export ZOOKEEPER_HOME=/root/soft/zookeeper-3.4.12/
export PATH=$PATH:$ZOOKEEPER_HOME/bin
2)修改 ZooKeeper 的配置文件。首先进入$ZOOKEEPER_HOME/conf目录,并将zoo_sample.cfg 文件修改为 zoo.cfg:
[root@node01 conf]# cp zoo_sample.cfg zoo.cfg
3)然后修改 zoo.cfg 配置文件,zoo.cfg 文件的内容参考如下:
# ZooKeeper服务器心跳时间,单位为ms
tickTime=2000
# 允许follower连接并同步到leader的初始化连接时间,以tickTime的倍数来表示
initLimit=10
# leader与follower心跳检测最大容忍时间,响应超过syncLimit*tickTime,leader认为
# follower“死掉”,从服务器列表中删除follower
syncLimit=5
# 数据目录
dataDir=/tmp/zookeeper/data
# 日志目录
dataLogDir=/tmp/zookeeper/log
# ZooKeeper对外服务端口
clientPort=2181
4)默认情况下,Linux 系统中没有/tmp/zookeeper/data 和/tmp/zookeeper/log 这两个目录,所以接下来还要创建这两个目录:
[root@node1 conf]# mkdir -p /tmp/zookeeper/data
[root@node1 conf]# mkdir -p /tmp/zookeeper/log
5)在${dataDir}目录(也就是/tmp/zookeeper/data)下创建一个 myid 文件,并写入一个数值,比如0。myid 文件里存放的是服务器的编号。
[root@node01 data]# touch myid
[root@node01 data]# echo 0 > myid
6)启动 Zookeeper 服务,详情如下:
[root@node01 zookeeper-3.4.12]# cd conf
[root@node01 conf]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /root/soft/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
7)可以通过 zkServer.sh status 命令查看 Zookeeper 服务状态,示例如下:
[root@node01 conf]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/soft/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: standalone
二、kafka的安装与配置
2.1 使用wget命令,远程下载kafka
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.8.1/kafka_2.12-2.8.1.tgz --no-check-certificate
2.2、解压文件
tar -zxvf ./kafka_2.12-2.8.1.tgz -C /usr/local/
修改名称: mv ./kafka_2.12-2.8.1.tgz kafka2.12
2.3、修改配置文件
cd kafka2.12
vim config/server.properties
修改其中的:
broker.id=0
log.dir=/usr/local/kafka/kafka-logs
#配置zookeeper管理kafka的路径
zookeeper.connect=localhost:2181
#配置kafka的监听端口
listeners=PLAINTEXT://:9092
#把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP
advertised.listeners=PLAINTEXT://203.195.205.63:9092
2.4、启动
必须先启动zookeeper!!!
kafka启动命令:
bin/kafka-server-start.sh -daemon config/server.properties
kafka停止命令:
bin/kafka-server-stop.sh
2.5、测试是否通过
1、测试之前先通过kafka创建一个topic。进入到kafka目录下,接着通过下面命令创建一个kafka topic。
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic
2、查看创建了多少个topic,可以使用以下命令进行查看。
bin/kafka-topics.sh --list --zookeeper localhost:2181
3、接下来通过生产者进行发送消息。
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic
4、接着创建一个消费者来进行接收消息。
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning
通过以上步骤,就成功安装kafka了,这个时候就可以通过java开发工具连接进行开发了。
全部评论