kafka依赖zookeeper,先安装zookeeper
zookeeper
下载地址:
Index of /zookeeper/stable (apache.org)
1、上传zookeeper压缩包(xftp)
2、解压
tar -zxvf zookeeper-3.4.10.tar.gz
3、复制到 /usr/local/下
[root@localhost tmp]# cp zookeeper-3.4.10 /usr/local/zookeeper -r //复制所有文件到zookeeper 文件夹下
[root@localhost tmp]# cd /usr/local/zookeeper //切换到/usr/local/zookeeper目录下
4、修改zoo.config
[root@localhost zookeeper]# cd conf //切换到目录下
[root@localhost conf]# ll //显示目录下的信息
总用量 12
-rw-r--r--. 1 root root 535 5月 8 18:17 configuration.xsl
-rw-r--r--. 1 root root 2161 5月 8 18:17 log4j.properties
-rw-r--r--. 1 root root 922 5月 8 18:17 zoo_sample.cfg
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg //copy一份到当前目录下,并命名为zoo.cfg
[root@localhost conf]# ll
总用量 16
-rw-r--r--. 1 root root 535 5月 8 18:17 configuration.xsl
-rw-r--r--. 1 root root 2161 5月 8 18:17 log4j.properties
-rw-r--r--. 1 root root 922 5月 8 18:29 zoo.cfg
-rw-r--r--. 1 root root 922 5月 8 18:17 zoo_sample.cfg
[root@localhost conf]#
[root@localhost conf]# vi zoo.cfg
前提是要创建/tmp/zookeeper
和/tmp/zookeeper/log
目录,不然启动时会报错
dataDir=/tmp/zookeeper
dataLogDir=/tmp/zookeeper/log
5、配置环境变量
[root@localhost zookeeper]# vi /etc/profile //编辑文件
export ZOOKEEPER=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER/bin
[root@localhost zookeeper]# source /etc/profile //使生效
配置了环境变量,所以在任意目录下都可以运行以下启动命令启动Zookeeper。
6、启动
/usr/local/zookeeper/zookeeper-3.4.10/bin
./zkServer.sh start
停止
./zkServer.sh stop
查看zookeeper是否成功启动
ps -ef|grep zookeeper
Kafka
1、下载
2.上传ftp
3.解压
tar -zxvf kafka_2.13-2.4.1.tgz
4、修改配置文件
cd config
vim server.properties
broker.id=0
#绑定内网IP
listeners=PLAINTEXT://172.19.**.*:9092
#绑定外网IP
advertised.listeners=PLAINTEXT://172.19.**.*:9092
num.network.threads=2
num.io.threads=8
socket.send.buffer.bytes=1048576
socket.receive.buffer.bytes=1048576
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs
num.partitions=1
log.retention.hours=168
log.segment.bytes=536870912
log.retention.check.interval.ms=60000
log.cleaner.enable=false
zookeeper.connect=172.19.**.*:2181
zookeeper.connection.timeout.ms=1000000
offsets.topic.replication.factor=1
5、修改zk配置
进入kafka目录下 config目录下输入命令:vi zookeeper.properties
修改内容为:
dataDir=/home/kakfa/kafka_2.13-2.4.1/zookeeper/data/dataDir #zookeeper数据目录 (可以修改可以不修改)
dataLogDir=/home/kakfa/kafka_2.13-2.4.1/zookeeper/data/dataLogDir #zookeeper日志目录 (可以修改可以不修改)
clientPort=2181
maxClientCnxns=100
tickTime=2000
initLimit=10
6、启动
cd /home/kafka/kafka_2.13-2.4.1
./bin/kafka-server-start.sh config/server.properties
启动成功
7、测试
命令:在kafka 目录下bin目录下执行:
./kafka-topics.sh --create --zookeeper 172.19.211.1:2181 --partitions 1 --replication-factor 1 --topic test
表示已经存在test ,创建topic hello
成功!
查看已经创建的topics
查看topics
./kafka-topics.sh --list --broker-list 172.19.211.1:9092 ------低版本这个命令 --help查看
./kafka-topics.sh --list --bootstrap-server 172.19.211.1:9092
启动生产者:用于生产消息
启动生产者
./kafka-console-producer.sh --broker-list 172.19.211.1:9092 --topic test (2.5版本前)
./kafka-console-producer.sh --bootstrap-server 172.19.211.1:9092 --topic test (2.5版本+)
创建消费者:用于接受消息
启动消费者
./kafka-console-consumer.sh --broker-list 172.19.211.1:9092 --topic test -----低版本用这个命令,具体--help查看使用哪个
./kafka-console-consumer.sh --bootstrap-server 172.19.211.1:9092 --topic test
可以看到,生产者产生消息:你好,在消费者端接收到消息。成功!