1.基本信息
版本 | 2.11-0.9.0.0 |
---|---|
安装机器 | 三台机器 |
账号 | hadoop |
源路径 | /opt/software/kafka_2.11-0.9.0.0.tgz |
目标路径 | /opt/kafka -> /opt/kafka_2.11-0.9.0.0 |
依赖关系 | zookeeper |
2.安装过程
1).使用hadoop账户,通过tar -zxvf命令将kafka-0.9.0.tar.gz解压缩至目的安装目录,并设置软连接。
[root @bgs -5p173-wangwenting opt]# su hadoop [hadoop @bgs -5p173-wangwenting opt]$ cd /opt/software [hadoop @bgs -5p173-wangwenting software]$ tar -xf kafka-${version}.tgz -C /opt |
2).修改server.properties配置文件。
[hadoop @bgs -5p173-wangwenting software]$ cd /opt/kafka/config [hadoop @bgs -5p173-wangwenting config]$ vim server.properties 在server.properties文件中添加如下配置: broker.id= 1 log.retention.hours= 1 zookeeper.connect= 172.24 . 5.173 : 2181 , 172.24 . 5.174 : 2181 , 172.24 . 5.175 : 2181 /kafka host.name=bgs-5p173-wangwenting |
3).创建logs目录:
[hadoop @bgs -5p173-wangwenting config]$ mkdir /opt/kafka/logs |
4).配置kafka运行的环境变量。
[hadoop @bgs -5p173-wangwenting config]$ vim /etc/profile 添加下面的内容: export KAFKA_HOME=/opt/kafka export PATH=$KAFKA_HOME/bin:$PATH 配置成功后,执行source /etc/profile使配置生效。 [hadoop @bgs -5p173-wangwenting config]$ source /etc/profile |
5).将安装包从bgs-5p173-wangwenting服务器复制到bgs-5p174-wangwenting,bgs-5p175-wangwenting两台机器,并配置环境变量:
[hadoop @bgs -5p173-wangwenting config]$ scp -r /opt/kafka_${version}/ hadoop @bgs -5p174-wangwenting:/opt [root @bgs -5p174-wangwenting opt]# su hadoop [hadoop @bgs -5p174-wangwenting opt]$ cd /opt [hadoop @bgs -5p174-wangwenting opt]$ ln -s /opt/kafka_${version} /opt/kafka [hadoop @bgs -5p173-wangwenting config]$ scp -r /opt/kafka_${version}/ hadoop @bgs -5p175-wangwenting:/opt [hadoop @bgs -5p175-wangwenting opt]$ cd /opt [hadoop @bgs -5p175-wangwenting opt]$ ln -s /opt/kafka_${version} /opt/kafka 并修改server.properties配置文件中broker.id(bgs-5p174-wangwenting为 2 ,bgs-5p174-wangwenting为 3 ),host.name(bgs-5p174-wangwenting为bgs-5p174-wangwenting,bgs-5p175-wangwenting为bgs-5p175-wangwenting) [hadoop @bgs -5p174-wangwenting config]$ vim server.properties 修改以下内容 broker.id= 2 host.name=bgs-5p174-wangwenting [hadoop @bgs -5p175-wangwenting config]$ vim server.properties 修改以下内容 broker.id= 3 host.name=bgs-5p175-wangwenting |
6).在三台机器上分别执行Kafka启动命令:
[hadoop @bgs -5p173-wangwenting config]$ nohup kafka-server-start.sh $KAFKA_HOME/config/server.properties & 查看服务是否开启成功 [hadoop @bgs -5p173-wangwenting config]$ ps -ef | grep kafka 如果进程存在,则表示Kafka已经启动 |
7).测试Kafka的生产者和消费者:
[hadoop @bgs -5p173-wangwenting config]$ kafka-topics.sh --create --zookeeper bgs-5p173-wangwenting: 2181 ,bgs-5p173-wangwenting: 2181 ,bgs-5p173-wangwenting: 2181 /kafka --replication-factor 2 --partitions 1 --topic test |
注意:复制指令的时候不能多或者少空格,否则会报错,不易察觉。
查看topics列表
[hadoop @bgs -5p173-wangwenting config]$ kafka-topics.sh --list --zookeeper bgs-5p173-wangwenting: 2181 ,bgs-5p173-wangwenting: 2181 ,bgs-5p173-wangwenting: 2181 /kafka |
如果发现存在${topicName}自定义的test名称则表示创建成功
在bgs-5p173-wangwenting上启动生产者producer(${topicName}为自定义的test的名称)
[hadoop @bgs -5p173-wangwenting config]$ kafka-console-producer.sh --broker-list 172.24 . 5.173 : 9092 , 172.24 . 5.174 : 9092 , 172.24 . 5.175 : 9092 --topic test |
重新打开终端在bgs-5p173-wangwenting上启动消费者
[hadoop @bgs -5p173-wangwenting config]$ kafka-console-consumer.sh --zookeeper ${producer_ip}: 2181 /kafka --topic test --from-beginning |
在生产者机器上输入一条信息如: this is a comment(随意输入)
在消费者机器上观察是否能接收到此信息,若接收到说明成功.