kafka 集群搭建
1 kafka 安装与配置
1.1 集群规划
1.2 相关软件
1、jdk-8u131-linux-x64.tar.gz
2、zookeeper-3.4.5.tar.gz
3、scala-2.10.4.tgz
4、Scala 2.10 - kafka_2.10-0.8.2.1.tgz
1.3 修改主机名称配置hosts文件
修改主机名
修改ha1虚拟机主机名:
执行命令: vi /etc/sysconfig/network
修改里面的HOSTNAME=ha1.ry600.com
同理,修改ha2为 ha2.ry600.com
同理,修改ha3为 ha3.ry600.com
配置ha1服务器,执行命令:vi /etc/hosts
127.0.0.1 localhost
192.168.137.171 ha1.ry600.com
192.168.137.172 ha2.ry600.com
192.168.137.173 ha3.ry600.com
其它服务器scp命令进行复制:
scp /etc/hosts 192.168.137.172:/etc/
scp /etc/hosts 192.168.137.173:/etc/
1.4配置ssh免密码登录
产生密钥,执行命令:ssh-keygen -t rsa
按4回车,密钥文件位于~/.ssh文件
在ha1上生产一对钥匙,将公钥拷贝到其他节点,包括自己,执行命令:
ssh-copy-id ha1.ry600.com
ssh-copy-id ha2.ry600.com
ssh-copy-id ha3.ry600.com
(备选:还可以继续在ha2,ha3上生成密钥拷贝到其他节点)
1.5关闭防火墙
systemctl stop firewalld.service // 停止防火墙
systemctl disable firewalld.service // 系统重启后防火墙不再启动
1.6 安装JDK,SCALA,ZOOKEEPER
请参照jdk、scala、zookeeper安装文档
1.7 设置环境变量
ha1修改profilie文件:
执行命令:vi /etc/profile
在文件尾端添加:
export JAVA_HOME=/hasoft/jdk1.8.0_131
export SCALA_HOME=/hasoft/scala-2.10.4
export PATH=${JAVA_HOME}/bin:${SCALA_HOME}/bin:$PATH
1.8 安装kafka
须提前安装jdk,Scala和Zookeeper,然后下载Scala 2.10 - kafka_2.10-0.8.2.1.tgz
http://kafka.apache.org/downloads.html下载地址:
下载完成后,解压。
命令: tar -zxvf kafka_2.10-0.8.2.1.tgz
进入config目录,
命令: vi server.properties
配置内容很多,关键修改下面三项。
broker.id 本机在集群里ID,从0开始每台机器不同。
host.name 本机机器名称
zookeeper.connect ZOOKEEPER集群地址
机器1配置如下:
broker.id=0
host.name=ha1.ry600.com
zookeeper.connect=ha1.ry600.com:2181,ha2.ry600.com:2181,ha3.ry600.com:2181
将整个安装文件进行跨机器拷贝:
命令:scp -r kafka_2.10-0.8.2.1/ ha2.ry600.com:/hasoft/
命令: scp -r kafka_2.10-0.8.2.1/ ha3.ry600.com:/hasoft/
机器2配置修改如下:
broker.id=1
host.name=ha2.ry600.com
zookeeper.connect=ha1.ry600.com:2181,ha2.ry600.com:2181,ha3.ry600.com:2181
机器3配置修改如下:
broker.id=2
host.name=ha3.ry600.com
zookeeper.connect=ha1.ry600.com:2181,ha2.ry600.com:2181,ha3.ry600.com:2181
2 启动Kafka集群
3台机器分别进入kafka主目录并输入命令: bin/kafka-server-start.sh config/server.properties
3 创建topic
在ha1机器上执行下列命令创建一个topic
命令: bin/kafka-topics.sh --create --topic kafkatopictest --replication-factor 3 --partitions 2 --zookeeper ha1.ry600.com:2181
执行后提示:
Created topic "kafkatopictest".
4 发送消息至kafka
在ha2机器上执行下列命令并向kafka发送消息
命令: bin/kafka-console-producer.sh --broker-list ha2.ry600.com:9092 --sync --topic kafkatopictest
执行后提示:
Hello Kafka, I will test SparkStreaming on you next lesson
5 接收kafka发送来的消息
在ha3机器上执行下列命令并接收kafka发送消息
命令: bin/kafka-console-consumer.sh --zookeeper ha1.ry600.com:2181 --topic kafkatopictest --from-beginning
执行后提示:
Hello Kafka, I will test SparkStreaming on you next lesson
测试至此Kafka 集群搭建与完毕