开源Kafka集群搭建过程

1、kafka概述

Kafka 是用于日志处理的分布式消息队列,同时支持离线和在线日志处理。kafka 对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka 集群有多个kafka 实例组成,每个实例(server)称为broker。无论是kafka集群,还是producer和consumer 都依赖于zookeeper 来保证系统可用性,为集群保存一些meta 信息。

若有任何疑问,请详细阅读(http://kafka.apache.org/

2、基础环境准备

2.1、软件环境

本文将介绍 Redhat7.3开源搭建Kafka集群,软件版本如下:

 

NO.

软件名称

版本号

1.

操作系统

Redhat7.3 64位

2.

JDK

8u131-linux-x64

3.

Zookeeper

3.4.10

4.

Kafka

kafka_2.11-2.1.0

2.2、配置规划

      本次安装共 3 台服务器,服务器配置及用途如下:

NO.

机器名称

IP

配置

1.

dlcj02

192.168.1.142

48核/32G/5.5T

2.

dlcj03

192.168.1.143

48核/32G/5.5T

3.

dlcj04

192.168.1.144

48核/32G/5.5T

2.3   软件存放目录(所有节点)

    为方便软件的集中管理及减少对根目录空间的占用,在此划分统一空间对软件存放地方进行集中管理。

    在142节点创建kafka、zookeeper文件夹(根据读者实际情况建立文件夹即可),如下图所示:

   

java:存放jdk1.8安装文件

kafka:存放kafka安装文件

zookeeper:存放zookeeper安装文件

2.4、设置映射关系(所有节点)

Redhat7修改指令为:vim /etc/hosts.此处将所有节点都加入进去。此处界面如下所示:

192.168.1.144  dlcj04

192.168.1.143  dlcj03

192.168.1.142  dlcj02

2.5、设置防火墙(所有节点)

关闭防火墙

     即时生效,重启后会复原:systemctl stop firewalld

     永久生效:systemctl disable firewalld

2.6、配置免密码登录 SSH(所有节点)

a.在root用户下输入ssh-keygen -t rsa 一路回车

b.秘钥生成后在~/.ssh/目录下,有两个文件id_rsa(私钥)和id_rsa.pub(公钥),将公钥复制到authorized_keys并赋予authorized_keys600权限(若没有该文件可以直接创建)。

c. 同理在dlcj03和dlcj04节点上生成秘钥,然后将秘钥复制到master节点上的authoized_keys。这个在复制时,直接使用cat命令将秘钥打印出来,然后直接将其复制到master节点上的authoized_keys即可。

d. 将dlcj02节点上的authoized_keys远程传输到dlcj03和dlcj04的~/.ssh/目录下。

e.检查是否免密登录(第一次登录会有提示)。

2.7、关闭 SELINUX(所有节点)

关闭selinux:

     # setenforce 0 (临时生效)

# vim /etc/selinux/config (永久生效)

: SELINUX=disabled

2.8、安装 oracle JDK1.8 (所有节点)

将jdk-8u131-linux-x64.tar.gz包拷贝到linux系统中,并将其解压到指定目录下。然后在/etc/profile目录下添加(在proifile内容最后添加即可):

export JAVA_HOME=  /usr/lcoal/java/jdk1.8

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar.

最后,执行命令source /etc/profile使配置文件生效,并查看java版本信息。

3、安装zookeeper

  3.1 上传zookeeper到zookeeper文件夹下,并解压

           tar -zxvf  zookeeper-3.4.10.tar.gz    -C  /ies/zookeeper/

        3.2 修改配置文件

            进入zookeeper的conf目录下,将其zoo_sample.cfg重新复制为一份并命名为zoo.cfg,然后修改并添加以下内容:

     

     注意:dataDir 和 dataLogDir 需要在启动前创建完成

    clientPort 为 zookeeper的服务端口

   3.3 创建 myid 文件

    在dataDir 路径下创建一个文件名为 myid 的文件,文件内容为该 zk 节点的编号。

   本例中142节点下的myid为0、143为1、 144为2 

   3.4 启动zookeeper

    进入zookeeper安装目录下的bin文件夹执行:

     各个节点执行:     ./zkServer.sh start

   3.5 查看zookeeper启动状态

              进入zookeeper安装目录下的bin文件夹执行:

             各个节点执行:     ./zkServer.sh status

            看到有如下进程则表明zookeeper安装成功。

            

           

          

4、安装kafka

        4.1 上传kafka安装软件并解压到指定目录

        tar -zxvf kafka_2.11-2.1.0.tgz  -C /ies/kafka/

        4.2  修改配置文件

       进入kafka安装目录下的config,编辑server.properties,修改并添加如下内容:

       4.3 启动kafka

      进入到kafka安装目录下,采用后台启动的方式进行启动,命令如下:

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

      注意:由于kafka启动是依赖于zookeeper服务的,故在启动kafka之前一定保证zookeeper正常启动。

       4.4 kafka状态查看

          当后台启动kafka后,可采用如下命令进行查看kafka是否正常启动:

          1、jps命令

        

        2、netstat命令

        至此,整个kafka集群搭建完毕,如有疑问,请咨询博主!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值