Kafka架构探险(一)——Kafka的集群安装

工欲善其事必先利其器,我们想了解Kafka的话,必须先搭建Kafka的运行环境,启动Kafka

由于Kafka一般都是分布式集群来支持高并发和高可用的,所以我们这里也使用分布式集群的方法来搭建Kafka的运行环境

Ip:PortKafka VersionKafka PortZookeeper VersionZookeeper Port
192.168.56.1052.3.090923.5.52181
192.168.56.1062.3.090923.5.52181
192.168.56.1072.3.090923.5.52181

Zookeeper集群环境搭建

Kafka依赖Zookeeper的环境,我们首先是需要安装zookeeper的集群环境,虽然Kafka内部有整合zookeeper的环境,但是我们还是来手动安装下zookeeper的集群环境,更好的理解Kafka和zookeeper的关系

按照我们上面规划好的ip和port来搭建zookeeper的运行环境,
Zookeeper是依赖Java环境的,这里安装Java环境的步骤省略。。。

    ## 在usr/local下下载 zookeeper 的安装包
    cd /usr/local
    
    ## 下载 zookeeper 的安装包 记住下载 bin的安装包 否则启动的时候会缺少lib依赖
    wget http://mirror.bit.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.5-bin.tar.gz
    
    ## 解压
    tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz
    mv apache-zookeeper-3.5.5-bin apache-zookeeper-3.5.5
    
    ## 进入kafka目录下,新增配置文件,名称必须是zoo.cfg
    cd /usr/local/apache-zookeeper-3.5.5/conf
    cp zoo_sample.cfg zoo.cfg
    
    ## 编辑配置文件
    vi zoo.cfg
    ...
    ## 修改数据文件夹路径
    dataDir=/usr/local/apache-zookeeper-3.5.5/data
    dataLogDir=/usr/local/apache-zookeeper-3.5.5/logs
    ## 在文件末尾添加 server.x 其中的x 就是 myid 的值
    server.1=192.168.56.105:2888:3888
    server.2=192.168.56.106:2888:3888
    server.3=192.168.56.107:2888:3888
    ...
    
    ## 创建data文件夹 logs文件夹
    mkdir /usr/local/apache-zookeeper-3.5.5/data
    mkdir /usr/local/apache-zookeeper-3.5.5/logs
    
    ## 创建myid
    cd data
    echo 1 > myid
    
    ## 创建myid文件
    ## 编辑配置文件 profile 追加如下的配置
    vi /etc/profile
    ...
    ZK_HOME=/usr/local/apache-zookeeper-3.5.5
    export PATH=$ZK_HOME/bin:$PATH
    ...
    
    ## 配置文件文件生效
    source /etc/profile

这样我们就配置好了一台服务上的zookeeper的环境,基于同样的配置,我们来配置106和107上的配置,除了myid不一样,分别是2和3之外,其他的配置都是一样的。

    ## 在105服务器上执行如下的命令
    cd /usr/local
    
    ## 将105上面的zookeeper复制到 106和107 上
    scp -r apache-zookeeper-3.5.5/ root@192.168.56.106:/usr/local/
    
    scp -r apache-zookeeper-3.5.5/ root@192.168.56.107:/usr/local/
    
    ## 进入到 zookeeper的data目录下 然后执行 echo x > myid x在106上是2 在107上是3
    cd /usr/apche-zookeeper-3.5.5/data
    echo 2 > myid
    
    ## 修改 /etc/profile 添加zookeeper的环境变量
    vi /etc/profile
    ....
    ZK_HOME=/usr/local/apache-zookeeper-3.5.5
    export PATH=$ZK_HOME/bin:$PATH
    ....
    
    ## 环境设置生效
    source /etc/profile

设置结束之后,每个节点启动zookeeper

    ## 启动zookeeper
    cd /usr/local/apache-zookeeper-3.5.5
    ./bin/zkServer.sh start
    
    ## 查看启动情况
    ./bin/zkServer.sh status

所有的节点都需要启动,可以在所有的节点都启动完成之后查看每个节点的启动情况,看看leader和follower的情况

Kafka分布式集群环境搭建

    ## 下载 kafka
    cd /usr/local
    wget http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz 
    
    ## 解压
    tar -xzf kafka_2.12-2.3.0.tgz
    ## 进入kafka目录下
    cd /usr/local/kafka_2.12-2.3.0
    
    ## 编辑 环境变量配置
    vi /etc/profile
    ...
    KAFKA_HOME=/usr/local/kafka_2.12-2.3.0
    export PATH=$KAFKA_HOME/bin:$PATH
    ...
    ## 环境变量设置生效
    source /etc/profile
    
    ## 编辑 config下的server.properties 修改如下的配置
    vi  config/server.properties
    ...
    broker.id=1
    listeners=PLAINTEXT://192.168.56.105:9092
    zookeeper.connect=192.168.56.105:2181,192.168.56.106:2181,192.168.56.107:2181
    log.dirs=/usr/local/kafka_2.12-2.3.0/logs
    ...

以上我们就配置好了kafka的参数,下面我们需要将kafka的安装包同步到其他的服务上,并且修改其中的参数

broker.id=x (x在192.168.56.106上是2 在192.168.56.107上是3)
listeners=PLAINTEXT://IP:9092 (IP是各个主机的ip地址)

    ## 将kafka的文件同步到106和107上
    scp -r /usr/local/kafka_2.12-2.3.0 root@192.168.56.106:/usr/local/
    scp -r /usr/local/kafka_2.12-2.3.0 root@192.168.56.107:/usr/local/
    
    ## 修改每个服务上的 broker.id=x 和 listeners
    broker.id=x (x 在106上为2 在107上为3)
    listeners=PLAINTEXT://IP:9092 (IP 为给个服务的ip)

配置完成之后,启动各个服务节点

    ## 启动kafka服务
    cd /usr/local/kafka_2.12-2.3.0
    
    ./bin/kafka-server-start.sh -daemon config/server.properties

创建topic

    ## 创建 topic
    ./bin/kafka-topics.sh --create --zookeeper 192.168.56.105:2181 --replication-factor 3 --partitions 1 --topic test-topic
    
    ## 查看指定topic的信息
    ./bin/kafka-topics.sh --describe --zookeeper 192.168.56.105:2181 --topic test-topic

单机版的Kafka环境搭建

我们先搭建好 Broker1上的环境

    ## 在usr/local下下载kafka的安装包
    cd /usr/local
    ## 下载 kafka的安装包
    wget http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz 
    ## 解压
    tar -xzf kafka_2.12-2.3.0.tgz
    ## 进入kafka目录下
    cd /usr/local/kafka_2.12-2.3.0

kafka的运行时依赖zookeeper的,所以我们先要启动zookeeper才行,如果本机中没有安装zookeeper,可以使用kafka中打包好的zookeeper

   ## 在kafka的目录下启动zookeeper(默认端口是2181)
   bin/zookeeper-server-start.sh config/zookeeper.properties
   ## 启动kafka的服务,由于上述zookeeper不是后台启动,所以我们需要另开一个SSH渠道(默认端口9092)
   bin/kafka-server-start.sh config/server.properties &
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值