• 第三章 Centos7下kafka-2.12-2.8.0单机安装


    一、环境准备

    安装软件 版本 下载地址
    JDK jdk-16.0.1 https://www.oracle.com/java/technologies/javase-jdk16-downloads.html
    zookeeper zookeeper-3.7.0 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
    kafka 2.12-2.8.0 https://archive.apache.org/dist/kafka/2.8.0/kafka_2.12-2.8.0.tgz

    二、安装JDK

    1.下载JDK

    官网下载:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html
    

    2.上传JDK

    #1.进入软件存放目录
    [root@jindada ~]$ cd /data/software/
    
    #2.上传JDK安装包
    [root@jindada ~]$ rz	#上传方式随意
    
    #3.查看JDK安装包
    [root@jindada /data/software]$ ll
    总用量 801080
    -rw-r--r--. 1 root root 178276087 7月  20 16:07 jdk-16.0.1_linux-x64_bin.tar.gz
    

    3.解压JDK

    #1.解压JDK安装包到/opt目录下
    [root@jindada /data/software]$ tar xf jdk-16.0.1_linux-x64_bin.tar.gz  -C /opt
    
    #2.进入/opt
    [root@jindada /data/software]$ cd /opt/
    
    #3.查看JDK
    [root@jindada /opt]$ ll
    总用量 16
    drwxr-xr-x.  9 root root 4096 7月  20 16:10 jdk-16.0.1
    

    4.做软连接

    #1.做软连接
    [root@jindada /opt]$ ln -s jdk-16.0.1/ jdk
    
    #2.查看软连接
    [root@jindada /opt]$ ll
    总用量 16
    lrwxrwxrwx.  1 root root   11 7月  20 16:16 jdk -> jdk-16.0.1/
    drwxr-xr-x.  9 root root 4096 7月  20 16:10 jdk-16.0.1
    

    5.配置环境变量

    #1.配置环境变量
    [root@jindada /opt]$ vim /etc/profile.d/java.sh
    export PATH=/opt/jdk/bin:$PATH   
    
    #2.刷新环境变量
    [root@jindada /opt]$ source  /etc/profile.d/java.sh 
    

    6.验证JDK

    #1.查看版本
    [root@jindada /opt]$ java -version
    java version "16.0.1" 2021-04-20
    Java(TM) SE Runtime Environment (build 16.0.1+9-24)
    Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)
    

    三、安装zookeeper-3.7.0

    1.下载zookeeper安装包

    #1.进入软件存放目录
    [root@jindada /opt]$ cd /data/software/
    
    #2.下载安装包
    [root@jindada /data/software]$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
    
    #3.查看安装包
    [root@jindada /data/software]$ ll
    总用量 813180
    -rw-r--r--. 1 root root  12387614 3月  27 18:12 apache-zookeeper-3.7.0-bin.tar.gz
    

    2.解压安装包

    #1.解压zookeeper安装包到/opt目录下
    [root@jindada /data/software]$ tar xf apache-zookeeper-3.7.0-bin.tar.gz  -C /opt/
    
    #2.进入/opt
    [root@jindada /data/software]$ cd /opt/
    
    #3.查看zookeeper
    [root@jindada /opt]$ ll
    总用量 20
    drwxr-xr-x.  6 root root 4096 7月  20 17:18 apache-zookeeper-3.7.0-bin
    

    3.做软连接

    #1.做软连接
    [root@jindada /opt]$ ln -s apache-zookeeper-3.7.0-bin/ apache-zookeeper
    
    #2.查看软连接
    [root@jindada /opt]$ ll
    总用量 20
    lrwxrwxrwx.  1 root root   27 7月  20 17:21 apache-zookeeper -> apache-zookeeper-3.7.0-bin/
    drwxr-xr-x.  6 root root 4096 7月  20 17:18 apache-zookeeper-3.7.0-bin
    

    4.配置环境变量

    #1.配置环境变量
    [root@jindada /opt]$ vim /etc/profile.d/apache-zookeeper.sh
    export PATH=/opt/apache-zookeeper/bin:$PATH     
    
    #2.刷新环境变量                                              
    [root@jindada /opt]$ source  /etc/profile.d/apache-zookeeper.sh 
    

    5.配置zookeeper

    #1.复制配置文件
    [root@jindada /opt]$ cp -a /opt/apache-zookeeper/conf/zoo_sample.cfg  /opt/apache-zookeeper/conf/zoo.cfg
    
    #2.修改配置文件
    [root@jindada /opt]$ vim /opt/apache-zookeeper/conf/zoo.cfg
    #CS通信心跳时间
    tickTime=2000
    #集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)
    initLimit=10
    #集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数
    syncLimit=5
    #该属性对应的目录是用来存放myid信息跟一些版本,日志,跟服务器唯一的ID信息等
    dataDir=/data/zookeeper/data
    #集群信息的配置
    server.1=116.62.138.182:2888:3888 
    #客户端连接zookeeper服务器的端口,zookeeper会监听这个端口,接收客户端的请求访问!这个端口默认是2181
    clientPort=2181
    
    ps :
    在zoo.cfg这个文件中,配置集群信息是存在一定的格式:service.N =YYY: A:B
    N:代表服务器编号(也就是myid里面的值)
    YYY:服务器地址
    A:表示 Flower 跟 Leader的通信端口,简称服务端内部通信的端口(默认2888)
    B:表示 是选举端口(默认是3888)
    

    6.新建zookeeper数据目录

    #1.新建zookeeper数据目录
    [root@jindada /opt]$ mkdir -p /data/zookeeper/data
    
    #2.生成myid文件
    [root@jindada /opt]$ echo "1" >>/data/zookeeper/data/myid
    

    7.启动zookeeper

    #1.启动zookeeper
    [root@jindada /opt]$ zkServer.sh  start
    /opt/jdk/bin/java
    ZooKeeper JMX enabled by default
    Using config: /opt/apache-zookeeper/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    
    #2.验证zookeeper
    [root@jindada /opt]$ jps
    14320 QuorumPeerMain
    14464 Jps
    
    [root@jindada /opt]$ netstat  -lntp |grep 2181
    tcp6       0      0 :::2181                 :::*                    LISTEN      14320/java  
    

    四、安装kafka

    1.下载安装包

    #1.进入软件存放目录
    [root@jindada ~]$ cd /data/software/
    
    #2.下载kafka安装包
    [root@jindada /data/software]$ wget https://archive.apache.org/dist/kafka/2.8.0/kafka_2.12-2.8.0.tgz
    
    #3.查看安装包
    [root@jindada /data/software]$ ll
    总用量 883048
    -rw-r--r--. 1 root root  71542357 4月  19 12:44 kafka_2.12-2.8.0.tgz
    

    2.解压安装包

    #1.解压kafka安装包到/opt目录下
    [root@jindada /data/software]$ tar xf kafka_2.12-2.8.0.tgz  -C /opt/
    
    #2.进入/opt目录下
    [root@jindada /data/software]$ cd /opt/
    
    #3.查看kafka程序包
    [root@jindada /opt]$ ll
    总用量 24
    drwxr-xr-x.  7 root root 4096 4月  14 22:31 kafka_2.12-2.8.0
    

    3.做软连接

    #1.做软连接
    [root@jindada /opt]$ ln -s kafka_2.12-2.8.0/ kafka
    
    #2.查看软连接
    [root@jindada /opt]$ ll
    总用量 24
    lrwxrwxrwx.  1 root root   17 7月  23 09:45 kafka -> kafka_2.12-2.8.0/
    drwxr-xr-x.  7 root root 4096 4月  14 22:31 kafka_2.12-2.8.0
    

    4.配置环境变量

    #1.配置环境变量
    [root@jindada /opt]$ vim /etc/profile.d/kafka.sh
    export PATH=/opt/kafka/bin:$PATH  
    
    #2.刷新环境变量
    [root@jindada /opt]$ source  /etc/profile.d/kafka.sh
    

    5.配置kafka

    #1.备份配置文件
    [root@jindada /opt]$ cp  /opt/kafka/config/server.properties /opt/kafka/config/server.properties.bak
    
    #2.修改配置文件
    [root@jindada /opt]$ vim /opt/kafka/config/server.properties
    #broker.id  broker的id或者编号,在集群中该编号必须唯一
    broker.id=0
    #listeners  kafka服务器监听的端口,该端口也是对外提供服务的端口
    advertised.listeners=PLAINTEXT://localhost:9092
    #num.partitions  topic下分区的数量
    num.partitions=1
    #消息的存放目录,这里看配置是日志的意思,因为kafka把消息使用日志的形式存储,所以这里不要和kafka的运行日志相混淆,多个地址的话用逗号分割 /data/kafka-logs-1,/data/kafka-logs-2
    log.dirs=/data/kafka-logs
    #消息保存的小时数
    log.retention.hours=168
    #消息的副本数量,这是kafka高可用、数据不丢失的关键
    default.replication.factor=3
    #zookeeper的地址
    zookeeper.connect=localhost:2181/kafka
    
    #3.新建kafka数据存放目录
    [root@jindada /opt]$ mkdir /data/kafka-logs
    

    6.启动kafka

    #1.前台启动
    [root@jindada ~]$ kafka-server-start.sh /opt/kafka/config/server.properties 
    
    #2.后台启动
    [root@jindada ~]$ kafka-server-start.sh -daemon /opt/kafka/config/server.properties 
    

    五、配置system启动

    1.关闭zookeeper、kafka

    #1.关闭zookeeper
    [root@jindada /opt/kafka/bin]$ zkServer.sh  stop
    /opt/jdk/bin/java
    ZooKeeper JMX enabled by default
    Using config: /opt/apache-zookeeper/bin/../conf/zoo.cfg
    Stopping zookeeper ... STOPPED
    
    #2.关闭kafka
    [root@jindada ~]$ kafka-server-stop.sh
    

    2.配置system启动

    #1.配置zookeeper
    [root@jindada ~]$ vim /etc/systemd/system/zookeeper.service
    Description=zookeeper.service
    After=network.target
    ConditionPathExists=/opt/apache-zookeeper/conf/zoo.cfg
    
    [Service]
    Type=forking
    Environment="PATH=/opt/jdk/bin:/opt/go/bin:/opt/apache-zookeeper/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"       
    User=root
    Group=root
    ExecStart=/opt/apache-zookeeper/bin/zkServer.sh start
    ExecStop=/opt/apache-zookeeper/bin/zkServer.sh stop
    ExecReload=/opt/apache-zookeeper/bin/zkServer.sh restart
    Restart=no
    PrivateTmp=true
    
    [Install]
    WantedBy=default.target
    
    #2.配置kafka
    [root@jindada ~]$ vim /etc/systemd/system/kafka.service
    [Unit]
    Description=Apache Kafka server (broker)
    After=network.target
    After=zookeeper.service
    
    [Service]
    Type=simple
    Environment="PATH=/opt/kafka/bin:/opt/jdk/bin:/opt/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
    User=root
    Group=root
    ExecStart=/opt/kafka/bin/kafka-server-start.sh  /opt/kafka/config/server.properties
    ExecStop=/opt/kafka/bin/kafka-server-stop.sh
    Restart=no
    PrivateTmp=true
     
    [Install]
    WantedBy=multi-user.target 
    
    #3.重载system服务
    [root@jindada ~]$ systemctl  daemon-reload
    

    3.启动服务

    #1.启动服务
    [root@jindada ~]$ systemctl status zookeeper.service
    [root@jindada ~]$ systemctl status kafka.service
    
    #2.验证服务
    [root@jindada ~]$ netstat  -lntp |grep 2181
    tcp6       0      0 :::2181                 :::*                    LISTEN      31086/java          
    [root@jindada ~]$ netstat  -lntp |grep 9092
    tcp6       0      0 :::9092                 :::*                    LISTEN      4618/java  
    
  • 相关阅读:
    小程序那些坑
    2018-5-31 项目总结
    Android AndroidManifest学习笔记
    android 快捷键
    android的liveview装载数据
    android xml产生和解析
    SerializableMaplist传递数据
    android hander 线程用法
    DataGridView实现分页
    DataGridView添加另外一个控件。
  • 原文地址:https://www.cnblogs.com/jhno1/p/15048846.html
Copyright © 2020-2023  润新知