到官网下载zookeeper压缩包,如下:
(1)上传zookeepe压缩包,并解压:
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
拷贝安装包到/usr/local/目录下:
cp -r apache-zookeeper-3.7.1-bin /usr/local/zookeeper
进入到 conf 目录,看到 zoo_sample.cfg 文件,cp 复制生成 zoo.cfg 文件,如下:
cp conf/zoo_sample.cfg conf/zoo.cfg
(2)启动并查看状态
启动zookeeper
./bin/zkServer.sh start
查看zookeeper状态
./bin/zkServer.sh status
standalone代表单机启动。
到官网下载kafka压缩包,如下
(1)上传kafka安装包到服务器 /opt 目录下,解压kafka安装包:
tar -zxvf kafka_2.13-3.1.0.tgz
cp -r kafka_2.13-3.1.0 /usr/local/kafka
cd /usr/local/kafka
(2)修改配置,此配置用于消息发布与订阅的ip。进入到 conf 目录,在config/server.properties 文件,并做如下修改:
vim config/server.properties
# The address the socket server listens on. It will get the value returned from
# java.net.InetAddress.getCanonicalHostName() if not configured.
# FORMAT:
# listeners = listener_name://host_name:port
# EXAMPLE:
# listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://127.0.0.1:9092
将listeners的ip修改为当前部署kafka的服务器ip。单机部署,可以修改为127.0.0.1或localhost;集群则需要修改为服务器的 ip 地址。
(3)启动kafka
./bin/kafka-server-start.sh config/server.properties &
(4)新建topic并查看状态
新建topic:
[root@9e02276c1212 kafka]# ./bin/kafka-topics.sh --create --topic test1 --bootstrap-server 127.0.0.1:9092
Created topic test1.
">"后后面的内容就是新建的topic。
查看状态:
[root@9e02276c1212 kafka]# ./bin/kafka-topics.sh --describe --topic test1 --bootstrap-server 127.0.0.1:9092
2
Topic: test1 TopicId: XCJCzuz5T_ac-cpbUdsBcg PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824
Topic: test1 Partition: 0 Leader: 0 Replicas: 0 Isr: 0
然后zoo.cfg指定的目录就有了topic了,默认配置是 /tmp/kafka-logs 目录下:
(5)生产消息和消费消息
# 生产消息
./bin/kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic test2
# 消费消息
./bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test2 --from-beginning
消息消费过程:
(6)停止kafka
./kafka-server-stop.sh
在同一台服务器上,以不同端口(2181,2182,2183)运行三个zookeeper,形成一个伪集群。
(1)下载安装包,并上传解压到/opt目录下
(2)复制集群节点
cp -r /opt/apache-zookeeper-3.7.1-bin /usr/local/zookeeper-2181
(3)创建目录
mkdir /usr/local/zookeeper-2181/data
mkdir /usr/local/zookeeper-2181/logs
(4)修改配置文件
cd /usr/local/zookeeper-2181/conf/
cp zoo_sample.cfg zoo.cfg
修改dataDir,clientPort两个配置项
dataDir=/usr/local/zookeeper-2181/data
clientPort=2181
并添加以下配置项
dataLogDir=/usr/local/zookeeper-2181/logs
server.1=192.168.126.135:2287:3387
server.2=192.168.126.135:2288:3388
server.3=192.168.126.135:2289:3389
在data
目录下创建myid
文件
cd /usr/local/zookeeper/zookeeper-2181/data
vim myid
在myid
中指定节点id,
在一个集群中不能重复。例如:将2181
节点的id
设置为1
,2182
节点设置为2
,2183
节点设置为3.
[root@linkhot local]# cat /usr/local/zookeeper-2181/data/myid
1
(5)复制多个zookeeper
cd /usr/local/
cp -r zookeeper-2181 zookeeper-2182
cp -r zookeeper-2181 zookeeper-2183
修改conf/zoo.cfg
配置文件中的配置,参考第4
小节
(6)修改内存大小
在各个节点的配置目录下,新增配置配置文件
cd /usr/local/zookeeper-2181/conf
vim zkEnv.sh
添加以下内容
#!/bin/sh
export JVMFLAGS="-Xms100m -Xmx100m $JVMFLAGS"
(7)启动zookeeper
进入到每个zookeeper
中,启动zookeeper
cd /usr/local/zookeeper-2181
./bin/zkServer.sh start conf/zoo.cfg
(8)查看zookeeper运行状态
for i in {1,2,3}; do sh /usr/local/zookeeper-218${i}/bin/zkServer.sh status; done
查看某个节点的状态
/usr/local/zookeeper-2181/bin/zkServer.sh status
(1)下载安装包并解压到/opt目录下
(2)复制解压的安装包文件到/usr/local目录下:
cp -r /opt/kafka_2.13-3.1.0 /usr/local/kafka-9091/
(3)新建日志目录:
mkdir -p /usr/local/kafka-9091/logs
(4)修改配置文件
cd /usr/local/kafka-9091/conf
修改配置文件server.properties
broker.id=1
listeners=PLAINTEXT://192.168.126.135:9091
log.dirs=/usr/local/kafka-9091/logs
zookeeper.connect=192.168.126.135:2181,192.168.126.135:2182,192.168.126.135:2183
broker.id
:节点id
,在同一个集群中,不能重复listeners
:节点监听的端口,在同一台机器上,也不能相同log.dris
:存储数据的位置zookeeper.connect
:zookeeper
集群的连接地址(5)复制多个kafka
cd /usr/local/
cp