一、依赖文件安装
1.1 JDK
参见博文:http://www.cnblogs.com/liugh/p/6623530.html
1.2 Scala
参见博文:http://www.cnblogs.com/liugh/p/6624491.html
1.3 Zookeeper
参见博文:http://www.cnblogs.com/liugh/p/6671460.html
二、文件准备
2.1 文件名称
kafka_2.11-0.10.2.0.tgz
2.2 下载地址
http://kafka.apache.org/downloads
三、工具准备
3.1 Xshell
一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
3.2 Xftp
一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。
使用了 Xftp 以后,MS windows 用户能安全地在UNIX/Linux 和 Windows PC 之间传输文件。
四、部署图
五、Kafka安装
以下操作,均使用root用户
5.1 通过Xftp将下载下来的Kafka安装文件上传到Master及两个Slave的/usr目录下
5.2 通过Xshell连接到虚拟机,在Master及两个Slave上,执行如下命令,解压文件:
# tar zxvf kafka_2.11-0.10.2.0.tgz
5.3 在Master上,使用Vi编辑器,设置环境变量
# vi /etc/profile
在文件最后,添加如下内容:
#Kafka Env
export KAFKA_HOME=/usr/kafka_2.11-0.10.2.0
export PATH=$PATH:$KAFKA_HOME/bin
5.4 退出vi编辑器,使环境变量设置立即生效
# source /etc/profile
通过scp命令,将/etc/profile拷贝到两个Slave节点:
#scp /etc/profile root@DEV-SH-MAP-02:/etc
#scp /etc/profile root@DEV-SH-MAP-03:/etc
分别在两个Slave节点上执行# source /etc/profile使其立即生效
六、Kafka配置
以下操作均在Master节点,配置完后,使用scp命令,将配置文件拷贝到两个Slave节点即可。
6.1 server.properties配置文件
切换到/usr/kafka_2.11-0.10.2.0/config目录下
使用vi编辑器,打开server.properties,主要设置BrokerId、listeners、LogDir、Zookeeper,如下所示:
broker.id=1 listeners=PLAINTEXT://DEV-SH-MAP-01:9092 log.dirs=/usr/kafka_2.11-0.10.2.0/log zookeeper.connect=DEV-SH-MAP-01:2181,DEV-SH-MAP-02:2181,DEV-SH-MAP-03:2181
其中:
1)broker.id:broker的id,必需是一个全局(集群)唯一的整数值,即集群中每个kafka server的配置不能相同
2)listeners:socket监听的地址,格式为listeners = security_protocol://host_name:port,端口默认为9092
3)log.dirs:日志保存目录
4)zookeeper.connect:zookeeper连接地址
拷贝配置文件到两个Slave节点:
在Master节点,执行如下命令:
# scp server.properties root@DEV-SH-MAP-02:/usr/kafka_2.11-0.10.2.0/config
# scp server.properties root@DEV-SH-MAP-03:/usr/kafka_2.11-0.10.2.0/config
【注意】需要结合具体的Slave节点,修改borker.Id、listeners
七、Kafka使用
7.1 启动Kafka集群
分别在Master及两个Slave上执行命令:
kafka-server-start.sh -daemon server.properties
7.2 创建Topic
kafka-topics.sh --zookeeper DEV-SH-MAP-01:2181 --create --replication-factor 1 --partitions 1 --topic test
7.3 查看Topic
kafka-topics.sh --zookeeper DEV-SH-MAP-01:2181 --list
7.4 创建Producer
kafka-console-producer.sh --broker-list DEV-SH-MAP-01:9092 --topic test
7.5 创建Consumer
kafka-console-consumer.sh --bootstrap-server DEV-SH-MAP-01:9092 --topic test --from-beginning
7.6 删除Topic
kafka-topics.sh --zookeeper DEV-SH-MAP-01:2181 --delete --topic test