目录
0 环境配置
三台服务器(每台都需要部署kafka、zk)
1 kafka简介
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
2 kafka部署
2.1 官网地址
http://kafka.apache.org/quickstart
2.2 下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz
2.3 解压到指定目录
tar -xzf kafka_2.11-1.1.0.tgz -C /opt/
2.3.1 使用kafka自带的zk
cd /opt/kafka_2.11-1.1.0/bin
./zookeeper-server-start.sh config/zookeeper.properties
日志信息:
INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
可以看到zookeeper服务的端口为2181
2.3.2 使用自己部署的zk
2.3.2.1 下载地址
https://zookeeper.apache.org/releases.html
https://archive.apache.org/dist/zookeeper/
目录 /usr/local/zookeeper-3.5.9
启动命令 ./bin/zkServer.sh start
2.4 启动kafka
bin/kafka-server-start.sh config/server.properties
其中kafka的端口为9092,在下面这条信息可以看到
INFO Registered broker 0 at path /brokers/ids/0 with addresses: ArrayBuffer(EndPoint(ambari.master.com,9092,ListenerName(PLAINTEXT),PLAINTEXT)) (kafka.zk.KafkaZkClient)
3 kafka的使用
3.1 创建主题
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".
3.2 查看主题
./kafka-topics.sh --list --zookeeper localhost:2181
test
3.3 发送消息
Kafka带有一个命令行客户端,它将从文件或标准输入中获取输入,并将其作为消息发送到Kafka集群。默认情况下,每行将作为单独的消息发送。 启动生产者
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
输入几条消息发送到服务器
>This is a message
>This is another message
3.4启动消费者
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
然后就可以在命令行看到生产者发送的消息了
This is a message
This is another message
3.5设置多个broker的集群
3.5.1为每个broker创建一个配置文件
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties
3.5.2 启动新节点
bin/kafka-server-start.sh config/server-1.properties &
bin/kafka-server-start.sh config/server-2.properties &
3.5.3 创建三个副本的新主题
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
运行describe topics查看主题的信息
./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
3.5.4 发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic
>my test message 1
>my test message 2
3.5.5 消费消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic
my test message 1
my test message 2
3.5.6 测试容错及发现的问题
ps aux | grep server.properties
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79930.html