linux下搭建kafka集群,linux系统zk+Kafka集群搭建

linux下搭建kafka集群,linux系统zk+Kafka集群搭建Kafka集群搭建与配置准备工作安装java环境搭建zookeeper集群搭建kafka集群1.准备工作1.1安装包1.2准备至少3台主机(ubuntu系统)如果没有物理机,也可以弄3台虚拟机。ubuntu系统不会安装的话可以自己百度哦,这里就不细说了。作者用的是虚拟机,下面是3台电脑的配置主机名IP地址硬件配置kafka-1192.168.1.424CPU、4G内存、128G存储kafka…

大家好,又见面了,我是你们的朋友全栈君。

Kafka集群搭建与配置

准备工作

安装java环境

搭建zookeeper集群

搭建kafka集群

1. 准备工作

1.1 安装包

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

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

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

主机名

IP地址

硬件配置

kafka-1

192.168.1.42

4CPU、4G内存、128G存储

kafka-2

192.168.1.41

4CPU、4G内存、128G存储

kafka-3

192.168.1.47

4CPU、4G内存、128G存储

2. 安装JAVA环境

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

将安装包移到/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/java

export JRE_HOME=/usr/local/java/jre

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

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

c014b979f76caa26d2a9e67d3aad2aa5.png

配置环境变量

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

source /etc/profile

检验JAVA是否安装成功

>echo $JAVA_HOME ; # 检验变量值

>java -version;

>java;

>javac;

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

3. 搭建zookeeper集群

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

将安装包移到/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 environment

export ZK_HOME=/usr/local/zookeeper

export 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/conf/zoo.cfg

修改zookeeper配置文件

#修改数据文件夹路径

dataDir=/usr/local/zookeeper/data

#在文件末尾添加

server.1=192.168.1.42:2888:3888

server.2=192.168.1.41:2888:3888

server.3=192.168.1.47:2888:3888

#其它不变

创建数据文件夹(dataDir指定的路径)

mkdir /usr/local/zookeeper/data

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

主机名

IP地址

zookeeper

myid

kafka-1

192.168.1.42

server.1

1

kafka-2

192.168.1.41

server.2

2

kafka-3

192.168.1.47

server.3

3

所以,在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

kafka-1启动结果

0e462f50269429994ef2263fbd0817e2.png

cbe5726223784643cf8aaef7f511d351.png

kafka-2启动结果

7111f5ed0a3e2de707a8f098550b2d1b.png

kafka-3启动结果

c3be20121fc165e9df7cb317314ecd4f.png

如果启动失败就关闭防火墙再启动

4. 搭建kafka集群

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

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

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

解压文件

tar -zxvf kafka_2.11-2.0.0 .tgz

重命名文件夹为kafka

mv kafka_2.11-2.0.0 kafka

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

vim /etc/profile

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

#set kafka environment

export 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=1

listeners=PLAINTEXT://192.168.1.42:9092 # 新增

zookeeper.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=2

listeners=PLAINTEXT://192.168.1.41:9092 #新增

zookeeper.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=3

listeners=PLAINTEXT://192.168.1.47:9092 #新增

zookeeper.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

4.测试kafka集群:

在其中一台虚拟机(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

结果如下图所示:

3ed582269acc411df0a83dfd1f6c5405.png

topic信息

搭建成功啦

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131601.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • apache tomcat 闪退[通俗易懂]

    apache tomcat 闪退[通俗易懂]网上介绍了很多解决办法,下面是我自己的解决办法:1. 我的apache-tomcat是解压缩版(解压了后配置一下就可以用)。 路径:D:\apache-tomcat-8.0.5\ 2. 找到conf文件夹,打开server.xml文件,下拉右手边的滚动条至最下面。 3. 查看上面有没有配置。 4. 我原来有个项目在这个位置配置过,删除后,再运行就没有再出现闪退的

    2022年5月7日
    92
  • SSE的学习

    SSE的学习看到intel向量化指令在矩阵乘应用中的评估_softee的专栏-CSDN博客中描述的效果而心动,然后咨询了下博客园博主,我稍微看了下《simdforc++developers》感觉SSE这些指令更像一种寄存器语言,乍一接触略不适应。然而我的疑问是:1、如果对一个步骤我用了TBB/MKL/CILK这种易操作的并行指令,内部能否再用SSE指令,能否性能进一步提升?或者像OMP一样不适合嵌套并行?2、这种向量化指令是否只对无依赖性流程可用?对dst(i)=src(i)+dst(i-1);…

    2025年6月17日
    3
  • axios安装与基本方法

    axios安装与基本方法安装:1.npm安装:npminstallaxios2.在主入口文件main.js中引用:importaxiosfrom’axios’Vue.use(axios);3.在组件文件中的methods里使用:getNewsList(){this.axios.get(‘api/getNewsList’).then((response)=>{this.newsList=response.data.data;}).cat

    2025年6月1日
    2
  • 2021年美赛A题思路与程序–已更新

    2021年美赛A题思路与程序–已更新美赛第一小题部分程序%预测的菌群的数量clc;clearall;y=input(‘请输入数据’);n=length(y);yy=ones(n,1);yy(1)=y(1);fori=2:nyy(i)=yy(i-1)+y(i)endB=ones(n-1,2);fori=1:(n-1)B(i,1)=-(yy(i)+yy(i+1))/2;B(i,2)=1;endBT=B’;forj=1:(n-1)YN(j)=y(j+1);endYN=YN’;A=inv(BT

    2022年6月6日
    46
  • javastream流详解_Java获取文件流的所有方式

    javastream流详解_Java获取文件流的所有方式一、Stream流引入Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库既有的鼻端。(Lambda表达式详解在上篇博客内容)现有一个需求:将list集合中姓张的元素过滤到一个新的集合中然后将过滤出来的姓张的元素中,再过滤出来长度为3的元素,存储到一个新的集合中1.用常规方法解决需求/…

    2022年10月6日
    2
  • linux怎么打包整个目录,tar打包整个目录(可排除子目录)几种方法[通俗易懂]

    linux怎么打包整个目录,tar打包整个目录(可排除子目录)几种方法[通俗易懂]这篇文章小编给大家分享一下linuxtar打包目录与有条件打包目录命令,想知道的小伙伴们赶快来看看吧!例1。压缩并打包目录代码如下复制代码tar-czfsmall.tar.gzsmall(目录名);例2。代码如下复制代码tarzcvfbackup.tar.gzsite/*–exclude=site/attach–exclude=site/images简单解释一下:ls-…

    2022年5月11日
    94

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号