专栏首页WalkingCloudCentOS7下简单搭建zookeeper+kafka集群

CentOS7下简单搭建zookeeper+kafka集群

如下图所示

三台CentOS7的机器来搭建zookeeper+kafka集群

192.168.31.221 node1 node1.walkingcloud.cn

192.168.31.222 node2 node2.walkingcloud.cn

192.168.31.223 node3 node3.walkingcloud.cn

一、环境搭建

1、三台机器均修改/etc/hosts

2、配置互信

ssh-keygen
ssh-copy-id root@node2
ssh-copy-id root@node3

如果有必要的话,三台机器间两两互信

3、提前下载JDK,zookeeper,kakfa的相关安装包,并上传到/opt目录

如下图所示

scp /opt/* root@node2:/opt
scp /opt/* root@node3:/opt

二、每台机器都安装JDK环境,并配置好环境变量

1、安装JDK

rpm -ivh jdk-8u251-linux-x64.rpm 

2、配置环境变量vi /etc/profile,将如下三行加到最后

export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

3、使环境变量生效source /etc/profile

三、安装zookeeper,配置zookeeper

1、三个节点均解压zookeeper安装包

cd /opt
tar -zxf apache-zookeeper-3.6.0-bin.tar.gz
mv apache-zookeeper-3.6.0-bin zookeeper
cd zookeeper
mkdir data

cd conf
cp zoo_sample.cfg zoo.cfg

2、配置zoo.cfg

vi zoo.cfg

修改日志保存目录

dataDir=/opt/zookeeper/data
#server.服务编号=服务地址、LF通信端口、选举端口
server.221=node1:2888:3888
server.222=node2:2888:3888
server.223=node3:2888:3888

配置同步到node2和node3

scp zoo.cfg root@node2:/opt/zookeeper/conf/
scp zoo.cfg root@node3:/opt/zookeeper/conf/

3、配置/data/myid文件,写入服务器ID

node1的id设置为221

node2的id设置为222

node3的id设置为223

4、三台均修改变量/etc/profile

vi /etc/profile,在最后面加一行

export PATH=$PATH:/opt/zookeeper/bin

然后 source /etc/profile

并验证zkServer.sh命令是否可以正常调出来

5、三个节点均启动zookeeper

zkServer.sh start

查看状态zkServer.sh status

可以看到node1和node2为follower

node3为leader

四、三个节点均安装kafka,配置kakfa

1、node1上解压kafka安装包

cd /opt
tar -zxf kafka_2.13-2.5.0.tgz
mv kafka_2.13-2.5.0 kafka
cd kafka
cd config
cp server.properties server.properties_default

2、创建data目录

3、修改kakfa配置文件

vi server.properties

1)broker.id

2)log.dir目录指定

log.dirs=/opt/kafka/data

3)zookeeper连接信息

zookeeper.connect=node1:2181,node2:2181,node3:2181

4、node1将kafka整个目录进行文件scp同步,同步到node2和node3上

cd /opt/
scp -r kafka root@node2:/opt/
scp -r kafka root@node3:/opt/

然后再去node2,node3上手动修改server.properties中broker.id分为222和223

5、修改环境变量,加入kafkar的bin目录

vi /etc/profile最后一行添加:/opt/kafka/bin
export PATH=$PATH:/opt/zookeeper/bin:/opt/kafka/bin
source /etc/profile
 scp /etc/profile root@node2:/etc
 scp /etc/profile root@node3:/etc

在节点node2,node3上source /etc/profile

6、三个节点启动kafka

kafka-server-start.sh /opt/kafka/config/server.properties

先前台的方式启动kakfa-server,后期改用后台或者服务脚本的方式启动kafka

7、再开其它会话窗口测试topic

创建topic

kafka-topics.sh --create --zookeeper node1:2181 --partitions 2 --replication-factor 3 --topic yuanfantest

列出topic

 kafka-topics.sh --list --zookeeper node1:2181 

查看topic描述

kafka-topics.sh  --zookeeper node1:2181  --topic yuanfantest --describe 

8、测试主题的生产与消费

如下图所示,利用console在node1上生产,在node3消费的效果

node1上生产:kafka-console-producer.sh --bootstrap-server node1:9092 --topic yuanfantest
node3上消费:kafka-console-consumer.sh --bootstrap-server node3:9092 --topic yuanfantest

本文分享自微信公众号 - WalkingCloud(WalkingCloud2018),作者:yuanfan2012

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kafka集群监控系统Kafka Eagle部署与体验

    yuanfan2012
  • Kafka-manager部署与使用简单介绍

    Kafka Manager是 Yahoo 推出的 Kafka 开源管理工具,用于管理Apache Kafka集群的工具,用户可以在Web界面执行一些简单的Kaf...

    yuanfan2012
  • CentOS7下Hadoop分布式环境搭建过程

    2、并且在每台节点上面全创建一个hadoop用户,设置用户密码(我这里三台均设置为hadoop)

    yuanfan2012
  • WFD:精简的3D建模语言和工具

    The WF-3D Viewer can accept animation commands from three (3) interfaces:

    贰师兄TEN
  • WFD:精简的3D建模语言和工具

    The WF-3D Viewer can accept animation commands from three (3) interfaces:

    贰师兄TEN
  • 浙大版《C语言程序设计(第3版)》题目集 练习2-3 输出倒三角图案

    C you again 的博客
  • 半自动化搭建Data Guard的想法和实践(四)(r8笔记第86天)

    应有些网友的要求,今天还是硬着头皮把半自动化的方案给发出来了。内部测试了一下,因为我是开发者,使用者,所以都玩得转,大体的测试,从安装数据库软件到搭建Data ...

    jeanron100
  • 关于inodes占用100%的问题及解决方法

    系统:Centos;一般的Linux系统也可以用这种方法。 情况描述:今天session文件写入时,写入不了,而且连接到服务器上开启服务都开不了,起始以为磁盘空...

    joshua317
  • java(5)——数据类型中的字符型和布尔类型

    char在内存中占两个字节,字符型用单引号括起来,并且里面只能写一个单字符,空格也只能打一个。

    gzq大数据
  • 剑指Offer LeetCode 面试题50. 第一个只出现一次的字符

    在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。

    TrueDei

扫码关注云+社区

领取腾讯云代金券