• Kafka2.4.1的环境搭建


    Kafka2.4.1的环境搭建

    一、集群规划

    集群hadoop1、hadoop2、hadoop3,并且分别搭建好zookeeper3.5.7

    在这里插入图片描述

    二、安装包准备

    kafka_2.11-2.4.1.tgz

    Apache Kafka 其他版本

    在这里插入图片描述

    下载完成后,上传到集群中。(SecureCRT 中可以输入rz进行上传文件)

    我将文件上传到了/opt/software/,用来存放软件包的位置

    三、集群部署

    (一)、安装Kafka

    1. 先将kafka进行解压

      tar -zxvf /opt/software/kafka_2.11-2.4.1.tgz -C /opt/module
      
      • 1
    2. 将Kafka进行重命令

      mv kafka_2.11-2.4.1 kafka
      
      • 1
    3. 修改所有权到普通用户

      sudo chown andy:andy kafka
      
      • 1

      andy 是我的用户名

    (二)、修改配置文件

    1. 进入到kakfa的config目录中,并修改server.properties

      cd config
      
      • 1

      修改server.properties文件

       vim server.properties
      
      • 1

      修改内容:

      第一处:broker.id

      broker.id=0
      
      • 1

      hadoop1 的broker.id 为 0、hadoop2broker.id 为 1、hadoop3broker.id 为 2,并且id的数据是唯一的,每台都需要进行修改

      在这里插入图片描述

      第二处:log.dir 数据存放位置/opt/module/kafka/datas,原来存放的位置在/tmp目录下的

      log.dir=/opt/module/kafka/datas
      
      • 1

      在这里插入图片描述

    在这里插入图片描述 第三处:设置zookeeper的连接

    zookeeper的搭建教程

    zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop2:2181/kafka
    
    • 1

    在这里插入图片描述

    四、配置环境变量

    /etc/profile.d/中,创建my_env.sh

    cd /etc/profile.d/
    
    • 1

    在创建my_env.sh

    vim my_env.sh
    
    • 1

    添加内容:

    #Kafka
    export KAFKA_HOME=/opt/module/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    五、将配置文件分发到其他集群中

    (一)分发kafka

    sudo scp -r /opt/module/kafka hadoop2:/opt/module/
    sudo scp -r /opt/module/kafka hadoop3:/opt/module/
    
    • 1
    • 2

    hadoop2、hadoop3的ip地址是我在hadoop1的host中映射了的。如果没有映射的话,可以通过指定ip进行分发数据

    sudo scp -r /opt/module/kafka 用户名@IP地址:/opt/module/
    
    • 1

    (二)分发环境配置文件

    sudo scp -r /etc/profile.d/my_env.sh 用户名@IP地址:/etc/profile.d/
    
    • 1

    注意:需要到其他集群中,重新执行配置文件,让环境生效source /etc/profile(分别需要在hadoop1、hadoop2、hadoop3中进行执行)

    六、修改其他集群的server.properties

    每台集群的broker.id值进行修改

    七、启动zookeeper

    方法一:

    在每台hadoop1、hadoop2、hadoop3中执行zkServer.sh start

    方法二:创建启动脚本zk.sh

    在bin中创建

    vim  ~/zk.sh
    
    • 1

    注意:配置文件中的Hadoop1、hadoop2、hadoop3是我自己的集群,需要自己修改,

    #/bin/bash
    case $1 in 
    "start")	
    
    	for i in hadoop1 hadoop2 hadoop3
    	do
    		echo "=============$i============="
    		ssh $i "zkServer.sh start"
    	done
    ;;
    
    "stop")
    	for i in hadoop1 hadoop2 hadoop3
    	do
    		echo "=============$i============="
    		ssh $i "zkServer.sh start"
    	done
    ;;
    "status")
    	for i in hadoop1 hadoop2 hadoop3
    	do
    		echo "=============$i============="
    		ssh $i "zkServer.sh status"
    	done
    ;;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    修改文件权限

    chmod u+x zk.sh
    
    • 1

    启动命令:

    zk.sh start	
    
    • 1

    八、启动kafka

    方法一:

    每台kakfa的集群都需要启动:

    kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
    
    • 1

    方法二:创建启动脚本kf.sh

    vim kf.sh
    
    • 1

    输入:

    #/bin/bash
    case $1 in 
    "start")	
    
    	for i in hadoop1 hadoop2 hadoop3
    	do
    		echo "=============$i============="
    		ssh $i "kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties"
    	done
    ;;
    
    "stop")
    	for i in hadoop1 hadoop2 hadoop3
    	do
    		echo "=============$i============="
    		ssh $i "kafka-server-stop.sh -daemon $KAFKA_HOME/config/server.properties"
    	done
    ;;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    并给kf.sh添加执行权限

    chmod u+x kf.sh
    
    • 1

    启动kafka

    kf.sh start
    
    • 1

    注意:

    • kafka的关闭需要一定的时间,才会关闭。需要等kafka关闭后,再关闭zookeeper,如果不这样会导致kafka永远不能关闭,只能kill。

    补充知识:Apache的大数据组件各个版本的兼容

    框架旧版本Hadoop2新版本hadoop3
    Hadoop2.7.23.1.3
    Zookeeper3.4.103.5.7
    MySQL5.6.245.7.16
    Hive1.2.13.1.2
    Flume1.7.21.9.0
    Kafka0.11–0.22.4.1
    Kafka Eagle1.7.01.9.0
    Azkaban2.5.03.84.4
    Spark2.1.13.0.0
    Hbase1.3.12.0.5
    Phoenix4.14.15.0.0
    Sqoop1.4.61.4.6
    Presto0.1890.189
    Kylin2.5.13.0.1
    Atlas0.8.42.0.0
    Ranger2.0.02.0.0
    Solr5.2.17.7.0

    补充知识:server.properties 的解读
    在这里插入图片描述

  • 相关阅读:
    LogBack
    Mobtech秒验:实人认证防黄牛,一键登录助力畅抢票
    Digger PRO - Voxel enhanced terrains
    Android UI 开发·界面布局开发·案例分析
    C语言-数组与指针
    【计算机毕业设计源码】PHP单招志愿采集系统
    Ts官方文档翻译-Generic范型
    自然语言处理学习笔记-lecture5-语言模型01
    基于阿里云微信小程序语音识别
    不到5分钟就被赶出来的面试,我直呼太变态了......
  • 原文地址:https://blog.csdn.net/Andy86666/article/details/126396362