为了账号安全,请及时绑定邮箱和手机立即绑定

Kafka集群搭建与配置

标签:
Spark
  1. 准备工作

  2. 安装java环境

  3. 搭建zookeeper集群

  4. 搭建kafka集群

1. 准备工作

1.1 安装包

jdk-8u162-linux-x64.tar
zookeeper-3.4.12.tar
kafka_2.11-2.0.0 .tgz

1.2 准备至少3台主机(ubuntu系统)

如果没有物理机,也可以弄3台虚拟机。ubuntu系统不会安装的话可以自己百度哦,这里就不细说了。

作者用的是虚拟机,下面是3台电脑的配置

主机名IP地址硬件配置
kafka-1192.168.1.424CPU、4G内存、128G存储
kafka-2192.168.1.414CPU、4G内存、128G存储
kafka-3192.168.1.474CPU、4G内存、128G存储

2. 安装JAVA环境

准备安装包 jdk-8u162-linux-x64.tar

在每台主机下执行下面步骤:

将安装包移到/usr/local目录下

mv jdk-8u162-linux-x64.tar.gz /usr/local

解压文件

tar -zxvf jdk-8u162-linux-x64.tar.gz

重命名文件夹为java

mv jdk-8u162-linux-x64 java

用vim打开/etc/profile文件(Linux下配置系统环境变量的文件)

vim /etc/profile

按i进入编辑模式,在文件末尾添加如下JAVA环境变量

export JAVA_HOME=/usr/local/javaexport JRE_HOME=/usr/local/java/jreexport CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/libexport PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

添加环境变量后,结果如下图所示,按 esc 退出编辑模式,然后输入:+wq ,按回车保存(也可以按shift + zz 进行保存)。


webp

配置环境变量

最后,需要让该环境变量生效,执行如下代码:

source /etc/profile

检验JAVA是否安装成功

echo $JAVA_HOME     # 检验变量值java -version
java
javac

如果设置正确的话,java -version 会输出 java 的版本信息,java 和 javac 会输出命令的使用指导。

3. 搭建zookeeper集群

准备安装包 zookeeper-3.4.12.tar

在每台主机上执行下面步骤:

将安装包移到/usr/local目录下

mv zookeeper-3.4.12.tar /usr/local

解压文件

tar -zxvf zookeeper-3.4.12.tar

重命名文件夹为zookeeper

mv zookeeper-3.4.12 zookeeper

配置zookeeper环境变量,首先打开profile文件

vim /etc/profile

按i进入编辑模式,在文件末尾添加zookeeper环境变量

#set zookeeper environmentexport ZK_HOME=/usr/local/zookeeperexport PATH=$ZK_HOME/bin:$PATH

保存文件后,让该环境变量生效

source /etc/profile

打开zookeeper配置文件

cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
vim /usr/local/zookeeper/zoo.cfg

修改zookeeper配置文件

#修改数据文件夹路径dataDir=/usr/local/zookeeper/data#在文件末尾添加server.1=192.168.1.42:2888:3888server.2=192.168.1.41:2888:3888server.3=192.168.1.47:2888:3888#其它不变

创建数据文件夹

mkdir /usr/local/zookeeper/data

创建myid文件

mkdir /usr/local/zookeeper/data/myid

在myid文件中添加本机的 server ID,在本例中对应关系如下

主机名IP地址zookeepermyid
kafka-1192.168.1.42server.11
kafka-2192.168.1.41server.22
kafka-3192.168.1.47server.33

所以,在kafka-1中执行下面命令

echo "1" > /usr/local/zookeeper/data/myid  #kafka-1主机myid

在kafka-2中执行下面命令

echo "2" > /usr/local/zookeeper/data/myid  #kafka-2主机myid

在kafka-3中执行下面命令

echo "3" > /usr/local/zookeeper/data/myid  #kafka-3主机myid

在每台电脑上启动zookeeper

 /usr/local/zookeeper/bin/zkServer.sh start

全部启动后,查看启动结果

 /usr/local/zookeeper/bin/zkServer.sh status

webp

kafka-1启动结果

webp

kafka-2启动结果

webp

kafka-3启动结果

4. 搭建kafka集群

准备安装包 kafka_2.11-2.0.0 .tgz

在每台主机上执行下面步骤:

将安装包移到/usr/local目录下

mv kafka_2.11-2.0.0 .tgz /usr/local

解压文件

tar -zxvf kafka_2.11-2.0.0 .tgz

重命名文件夹为zookeeper

mv kafka_2.11-2.0.0 kafka

配置kafka环境变量,首先打开profile文件

vim /etc/profile

按i进入编辑模式,在文件末尾添加kafka环境变量

#set kafka environmentexport KAFKA_HOME=/usr/local/kafka
PATH=${KAFKA_HOME}/bin:$PATH

保存文件后,让该环境变量生效

source /etc/profile

在kafka-1主机中修改server.properties配置文件

打开配置文件

vim /usr/local/kafka/config/server.properties

修改配置如下(IP地址应该根据实际情况填写)

broker.id=1listeners=PLAINTEXT://192.168.1.42:9092zookeeper.connect=192.168.1.41:2181,192.168.1.42:2181,192.168.1.47:2181

在kafka-2主机中修改server.properties配置文件

打开配置文件

vim /usr/local/kafka/config/server.properties

修改配置如下(IP地址应该根据实际情况填写)

broker.id=2listeners=PLAINTEXT://192.168.1.41:9092zookeeper.connect=192.168.1.41:2181,192.168.1.42:2181,192.168.1.47:2181

在kafka-3主机中修改server.properties配置文件

打开配置文件

vim /usr/local/kafka/config/server.properties

修改配置如下(IP地址应该根据实际情况填写)

broker.id=3listeners=PLAINTEXT://192.168.1.47:9092zookeeper.connect=192.168.1.41:2181,192.168.1.42:2181,192.168.1.47:2181

启动kafka(要确保zookeeper已启动)

在每台主机上分别启动kafka

/usr/local/kafka/bin/kafka-server-start.sh -daemon config/server.properties

在其中一台虚拟机(192.168.1.47)创建topic

/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.1.47:2181 --replication-factor 3 --partitions 1 --topic test-topic

查看创建的topic信息

/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.1.47:2181 --topic test-topic

结果如下图所示:

webp

topic信息

搭建成功啦



作者:杨赟快跑
链接:https://www.jianshu.com/p/bdd9608df6b3


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消