话不多说,直接切入主题
前情概要:
编写scala代码,实现定时插入数据到MySQL的功能,模拟实时数据情景
工具版本信息:
Flume:1.9.0 Kafka:2.11-2.3.1 MySQL:5.6.13
基本架构:
数据源只有MYSQL,所以采集者Flume和MySQL在同一服务器
消费者Kafka我选择集群分布
host | server |
---|---|
leader | MySQL,zookeeper,Kafka,Flume |
follower1 | zookeeper,Kafka |
follower2 | zookeeper,Kafka |
1.安装Kafka,配置Kafka
前提:装好jdk,并配置好zookeeper,hdfs集群
此处使用jdk8
同样使用tar安装Kafka
- 修改配置文件
修改kafka下的conf中的server.properties文件
vi $KAFKA_HOME/conf/server.properties
主要修改两个参数
#唯一的服务器id,每台机器分别不一样。
broker.id=001
#监听ip和端口,此处leader为本机存在ip映射的hostname
listeners=PLAINTEXT://leader:9092
- 测试Kafka
进入Kafka下的bin目录
#创建topic kafka_netcat_test
[root@leader bin]# ./kafka-topics.sh --create --zookeeper leader:2181,follower1:2181,follower2:2181 --replication-factor 1 --partitions 1 --topic kafka_netcat_test
#查看topic 是否创建成功
[root@leader bin]#./kafka-topics.sh --describe --zookeeper leader:2181,follower1:2181,follower2:2181 --topic kafka_netcat_test
#参数含义
–replication-factor 2 #复制两份
–partitions 2 #创建2个分区
–topic #主题
本处参考:https://blog.youkuaiyun.com/qq_32066409/article/details/81198488