- ZK
备注:主要实现Zookeeper对Kafka的管理
1、Zookeeper下载与安装
参考地址https://www.cnblogs.com/qingyunzong/p/8619184.html |
1、下载地址
http://mirrors.hust.edu.cn/apache/zookeeper/,此时选择3.4.10下载
2、解压
tar -xzvf zookeeper-3.4.10.tar.gz
3、修改配置文件
cd /usr/local mv zookeeper-3.4.10 zookeeper cd zooeeper/conf mv zoo_sample.cfg zoo.cfg vim zoo.cfg 查看如下内容: dataDir=/tmp/zookeeper/zkdata 内存数据库快照存放地址,如果没有指定事务日志存放地址(dataLogDir),默认也是存放在这个路径下,建议两个地址分开存放到不同的设备上。 clientPort=2181 ZK监听客户端连接的端口 添加日志内容: dataLogDir=/tmp/zookeeper/zklog 将事务日志存储在该路径下,比较重要,这个日志存储的设备效率会影响ZK的写吞吐量。 server.1=ip地址:2888:38888 |
4、配置环境变量
vi /etc/profile 添加如下内容: #Zookeeper export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin 保存退出 重新加载配置文件source /etc/profile |
5、启动
启动:zkServer.sh start 停止:zkServer.sh stop 查看状态:zkServer.sh status 启动时状态: 停止时状态: zkCli.sh -server 10.61.x.xx:2181 注:需要Java环境的支持 |
2、kafka安装:
1、下载
wget http://ftp.cuhk.edu.hk/pub/packages/apache.org/kafka/2.0.0/kafka_2.11-2.0.0.tgz |
2、解压
tar –xzvf kafka_2.11-2.0.0.tar.gz mv kafka_2.11-2.0.0.tar.gz kafka |
3、修改配置文件
vim /usr/local/kafka/config/server.properties 修改以下配置: listeners=PLAINTEXT://IP地址:9092(否则会报Connection to node -1 could not be established. Broker may not be available.错误,启动logstash时报如上错,说明是kafka有问题) advertised.listeners=PLAINTEXT://IP地址:9092(用于其他机器的连接) log.dirs=/tmp/kafka/kafka-logs zookeeper.connect=IP地址:2181 num.partitions=1 vim /usr/local/kafka/config/producer.properties 修改如下配置: bootstrap.servers=IP地址:9092 vim /usr/local/kafka/config/consumer.properties 修改如下配置: bootstrap.servers=IP地址:9092 vim /usr/local/kafka/config/zookeeper.propertoes 修改如下配置: dataDir=/tmp/zookeeper/zkdata |
4、修改环境变量
vi /etc/profile 添加如下内容: #Kafka export KAFKA_HOME=/usr/local/kafka export PATH=$PATH:$KAFKA_HOME/bin 保存退出 重新加载配置文件source /etc/profile |
5、修改hosts文件
vim /etc/hosts 添加如下: 10.61.2.44 z2-h3-16vpcu-32g-0004.novalocal 否则会报错如下所示: |
6、启动
启动: /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties 1>/dev/null 2>&1 & 注意启动之后需过几秒钟之后才可实现上报数据 |
7、测试:
7.1创建topic
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 10.61.2.44:2181 --replication-factor 1 --partitions 1 --topic topic1 |
7.2查询topic
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper 10.61.2.44:2181 |
7.3查询topic副本信息(因为不是集群,暂时不涉及)
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 10.61.2.xx:2181 --topic topic1 |
7.4生产者生产数据
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list 10.61.2.xx:9092 --topic topic1 会持续等待输入数据 |
7.5消费者消费数据
注:重新开一个窗口进行测试: /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 10.61.2.xx:9092 --topic topic1 --from-beginning |
7.6删除topic
/usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper 10.61.2.xx:2181 --topic test 含义为:此时的删除并不是真正的删除,而是把topic标记为:marked for deletion,如果要真正删除需要到zookeeper下面删除文件夹。参考资料网址如下: https://www.cnblogs.com/felixzh/p/5992745.html 1、查看kafka版本:find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*' |