zoukankan      html  css  js  c++  java
  • zookeeper/kafka的部署

    Ubuntu中安装zookeeper及kafka并配置环境变量

    首先安装zookeeper

    zookeeper需要jdk环境,请在jdk安装完成的情况下安装zookeeper
    1.从官网下载zookeeper
    http://mirror.bit.edu.cn/apache/zookeeper/,版本可以根据自己需要选择使用,个人建议使用比最新版本低一点的版本,比较稳定

    https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.5/


    2.将下载后的压缩包复制到安装目录下,并加压,以zookeeper-3.4.11.tar.gz为例
    tar -zxvf zookeeper-3.4.11.tar.gz
    3.配置环境变量,我比较喜欢配置全局性环境变量,即在/etc/profile配置
    首先打开/etc/profile:sudo vim /etc/profile
    export ZOOKEEPER_HOME=/home/xxx/software/zookeeper-3.4.11
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
    保存完成之后,加载环境变量:source /etc/profile
    4.将zookeeper/conf下的zoo_sample.cfg复制一份并重命名为zoo.cfg并修改其中dataDir的路径
    个人建议在zookeeper下新建mydata文件夹,用于存储数据:
    dataDir=/home/xxx/software/zookeeper-3.4.11/mydata
    5.检查是否安装配置成功
    命令:zkServer.sh

    关闭zookeeper:zkServer.sh stop

    安装kafka

    1.从官网下载kafka安装包:http://kafka.apache.org/downloads

    2.将下载后的压缩包复制到安装目录下,并加压,以kafka_2.12-1.0.0.tgz为例
    tar -zxvf kafka_2.12-1.0.0.tgz
    3.修改conf中的server.properties文件中的日志目录log.dirs,可在kafka目录下新建mylog文件,并将路径指向此处
    log.dirs=/home/xxx/software/kafka_2.12/mylog
    4.配置环境变量
    export KAFKA_HOME=/home/xxx/software/kafka_2.12
    export PATH=$PATH:$KAFKA_HOME/bin
    5.启动kafka,检查是否安装成功
    bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

    安装 kafka 需要先安装 jdk。
    一、下载
    官网:http://kafka.apache.org/downloads.html

    二、安装 
    安装参考:https://segmentfault.com/a/1190000012990954

    1. 解压安装(我的安装目录/opt/kafka/)

    # tar -zvxf kafka_2.11-2.1.0.tgz

    2.  修改配置

     # vim /opt/kafka/kafka_2.11-2.1.0/config/server.properties

    3. 修改其中

    listeners=PLAINTEXT://ip:9092

    注:ip指的是本机ip地址

    三、验证
     1. 使用安装包中的脚本启动单节点Zookeeper实例:

    # cd  /opt/kafka/kafka_2.11-2.1.0

    # bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

    2. 使用kafka-server-start.sh启动kafka服务:

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

    3. 使用kafka-topics.sh 创建但分区单副本的topic test

    # bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

    4. 使用kafka-console-producer.sh 发送消息 

    # bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 

    5. 使用kafka-console-consumer.sh 接收消息并在终端打印

    # bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

    四、配置开机自启(systemctl)
    1. 在 /lib/systemd/system/ 目录下创建 zookeeper服务和kafka服务 的配置文件。

    # vim zookeeper.service 

     zookeeper.service 添加内容:

    [Unit]
    Description=Zookeeper service
    After=network.target

    [Service]
    Type=simple
    Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/java/jdk-11.0.1/bin"
    User=root
    Group=root
    ExecStart=/opt/kafka/kafka_2.11-2.1.0/bin/zookeeper-server-start.sh /opt/kafka/kafka_2.11-2.1.0/config/zookeeper.properties
    ExecStop=/opt/kafka/kafka_2.11-2.1.0/bin/zookeeper-server-stop.sh
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

    # vim kafka.service 

    kafka.service 添加内容:

    [Unit]
    Description=Apache Kafka server (broker)
    After=network.target  zookeeper.service

    [Service]
    Type=simple
    Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/java/jdk-11.0.1/bin"
    User=root
    Group=root
    ExecStart=/opt/kafka/kafka_2.11-2.1.0/bin/kafka-server-start.sh /opt/kafka/kafka_2.11-2.1.0/config/server.properties
    ExecStop=/opt/kafka/kafka_2.11-2.1.0/bin/kafka-server-stop.sh
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

    注:以上两个文件 根据自己的 jdk 和 kafka 安装目录相应的修改。

     2. 刷新配置。

    # systemctl daemon-reload

    3. zookeeper、kafka服务加入开机自启。 

    #systemctl enable zookeeper

    #systemctl enable kafka

    4. 使用systemctl启动/关闭/重启 zookeeper、kafka服务systemctl start/stop/restart  zookeeper/kafka。

    注:启动kafka前必须先启动zookeeper 。

     # systemctl start zookeeper

     # systemctl start kafka

     5. 查看状态。

     # systemctl status zookeeper

     # systemctl status kafka

    --------------------------------------------------本地部署------------------------------------------

    环境变量
    #java
    export JAVA_HOME=/usr/java/
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    #zookeeper
    export ZOOKEEPER_HOME=/usr/kafka_2.12-2.2.0/
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
    #kafka
    export KAFKA_HOME=/usr/kafka_2.12-2.2.0
    export PATH=$PATH:$KAFKA_HOME/bin


    ZooKeeper
    https://www.cnblogs.com/kingsonfu/p/10631332.html
    https://blog.csdn.net/ybk233/article/details/81266667
    KafKa
    https://blog.csdn.net/csdnlihai/article/details/87787236


    #ZooKeeper 服务创建
    [Unit]
    Description=Zookeeper service
    After=network.target

    [Service]
    Type=simple
    Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/bin"
    User=root
    Group=root
    ExecStart=/usr/kafka_2.12-2.2.0/bin/zookeeper-server-start.sh /usr/kafka_2.12-2.2.0/config/zookeeper.properties
    ExecStop=/usr/kafka_2.12-2.2.0/bin/zookeeper-server-stop.sh
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

    #kafka服务创建
    [Unit]
    Description=Apache Kafka server (broker)
    After=network.target  zookeeper.service

    [Service]
    Type=simple
    Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/bin"
    User=root
    Group=root
    ExecStart=/usr/kafka_2.12-2.2.0/bin/kafka-server-start.sh /usr/kafka_2.12-2.2.0/config/server.properties
    ExecStop=/usr/kafka_2.12-2.2.0/bin/kafka-server-stop.sh
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

     
  • 相关阅读:
    WebSocket面试题
    面试题、四
    面试题、三
    面试题、二
    面试题、一
    vue 使用localstorage实现面包屑
    flutter,SliverPersistentHeader实现Tab顶部吸附固定效果
    对flutter中,ExpsionPanel的简单改造
    node.js学习笔记
    PHP和Redis实现在高并发下的抢购及秒杀功能示例详解
  • 原文地址:https://www.cnblogs.com/micro-chen/p/11023064.html
Copyright © 2011-2022 走看看