spark streaming kafka数据源的准备工作

kafka是个高吞吐量的分布式发布订阅消息系统,可以满足实时处理和批量离线处理
,作为信息传递枢纽,kafka把外部数据源和hadoop生态系统里组件交互,直接编kafka就可以把所有外部数据源都交互到hadoop组件里
kafka组件
kafka集群包含很多服务器,这个服务器就叫broker
Topic:每个消息发送都会发到topic,订阅消息也是从每个消息topic来读,一个topic数据会被划成很多分区,可以保存在很多个服务器上,我们只要关心topic就行,不需要关心存到哪去了
Partition:每个topic都会包含很多个Partition分区
Producer:负责发布数据的
Consumer:负责读取数据的(spark streaming),,每个消费者都会属于一个Consumer Group
Zookeeper:kafka运行必须依赖于Zookeeper,上面组件注册信息保存在Zookeeper里
kafka——2.11-0.8.2.2tgz前面的2.11是支持的scala版本,后面是自身版本号
启动kafka
#启动zookeeper
cd /usr/local/kafka
./bin/zookeeper-server-start.sh
config/zookeeper.properties
#上面这个终端不能关闭,一关zookeeper就关了,在新建一个终端
cd /usr/local/kafka
bin/kafka-server-start.sh config/server.properties
#再打开一个新第二个的终端,检测一下kafka建好了没
cd /usr/local/kafka
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1
–partitions 1 --topic wordsendertest
#1个副本1个分区topic名称是wordersendertest
./bin/kafka-topics.sh --list --zookeepertest localost:2181#列出所有topics,如果由上面那个wordersenttest就对了
#打开新的第三个终端创建生产者
.bin/kafka-console-producer.sh --broker-list locallist:9092 --topic wordsendertest
–topic wordsendertest #打开生产者页面,往里写数据就行了
#打开第四个新的终端创建消费者
cd /usr/local/kafka
./bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic wordertest --from-begining
#去接受wordersendertest这个topic的数据,后面代表重新开始,加了这个参数会把创建消费者之前的数据也拿过来,没有这个参数只会把消费者创建好以后的数据拿过来
这上面有个版本问题有空更新下,反正报错了百度一下就有结果
有空更新了,新版本下第四个终端创建消费者时
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic wordertest --from-begining
spark要使用kafka得下载jar包,解压到spark下的jars里的kafka里,注意版本的问题,一定得对齐,再把kafka安装目录下libs里的所有jar包拷贝到spark/jars/kafka
再修改spark配置文件
cd spark/conf
vim spark-env.sh添加环境变量

发布了25 篇原创文章 · 获赞 0 · 访问量 371

猜你喜欢

转载自blog.csdn.net/qq_45371603/article/details/104638321