一、前言:
zookeeper版本: zookeeper-3.4.12
kafka版本: kafka_2.11-2.0.0
发布订阅系统:
主题,经纪人,生产者和消费者等主要术语
在上图中,主题配置为三个分区。 分区1具有两个偏移因子0和1.分区2具有四个偏移因子0,1,2和3.分区3具有一个偏移因子0.副本的id与承载它的服务器的id相同。
二、安装后启动
1.启动命令如下:
- #启动启动/停止 zookeeper start peer-id
zookeeper.sh start 5006
zookeeper.sh stop 5006
- #启动/停止 kafka Broker
kafka-server-start.sh ~/.local/bin/kafka_2.11-2.0.0/config/server.properties
kafka-server-stop.sh ~/.local/bin/kafka_2.11-2.0.0/config/server.properties
- #创建了一个名为 Hello-Kafka 的主题,其中包含一个分区和一个副本因子
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic Hello-Kafka
kafka-topics.sh --list --zookeeper localhost:2181
- #启动生产者以发送消息
kafka-console-producer.sh --broker-list localhost:9092 --topic Hello-Kafka
- #启动消费者以接收消息
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic Hello-Kafka --from-beginning
2. 启动后查看Kafka/Zookeeper 进程 如下:
[yeshang@localhost ~]$ jps
Picked up _JAVA_OPTIONS: -Djava.io.tmpdir=/run/user/1000
6336 Jps
26531 NameNode
27763 HistoryServer
323 FlinkZooKeeperQuorumPeer
26725 DataNode
2839 ConsoleProducer
27320 ResourceManager
392 Kafka
27034 SecondaryNameNode
27500 NodeManager
5935 ConsoleConsumer
[yeshang@localhost ~]$
3. 控制台Kafka log:
Kafa Broker and Zookeeper:
...log已经被冲掉了
Kafa Proceduer:
$ kafka-console-producer.sh --broker-list localhost:9092 --topic Hello-Kafka
Picked up _JAVA_OPTIONS: -Djava.io.tmpdir=/run/user/1000
>>hello yannick
>it's the 1st message
>hello
Kafa Consumer:
$ kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic Hello-Kafka --from-beginning
Picked up _JAVA_OPTIONS: -Djava.io.tmpdir=/run/user/1000
hello yannick
it's the 1st message
hello
三、Spark+Kafka启动命令
Spark+Kafka 框架:
下图描述了概念流程。
一旦数据被处理,Spark Streaming可以将结果发布到另一个Kafka主题或存储在HDFS,数据库或仪表板中。
运行以下命令将应用程序提交到spark控制台。
/usr/local/spark/bin/spark-submit --packages org.apache.spark:spark-streaming
-kafka_2.11:2.0.0 --class "KafkaWordCount" --master local[4] target/scala-2.10/spark
-kafka-project_2.11-1.0.jar localhost:2181 <group name> <topic name> <number of threads>
四、参考: