• centos 安装kafka


    前言

    Apache Kafka是一个流行的分布式消息代理,旨在有效地处理大量的实时数据。Kafka集群不仅具有高度的可伸缩性和容错能力,而且与ActiveMQ和RabbitMQ等其他消息代理相比,它还具有更高的吞吐量。尽管它通常用作发布/订阅消息传递系统,但许多组织也将其用于日志聚合,因为它为发布的消息提供了持久存储。

    发布/订阅消息传递系统允许一个或多个生产者发布消息,而无需考虑使用者的数量或他们将如何处理消息。订阅的客户端会自动收到更新和创建新消息的通知。与客户端定期轮询以确定是否有新消息可用的系统相比,此系统更高效、可伸缩。

    工欲善其事必先利其器,接下来看一下在centos上如何安装kafka。

    安装步骤

    一,更新系统

    对centos系统的软件进行一些更新或者升级,从而在进行安装的时候可以很快的找到安装包。

    sudo yum install epel-release -y
    sudo yum update -y 
    

    二,安装jdk

    安装jdk有两种方式,一种方式安装oracle jdk得下载安装包,第二种方式不用下载安装包,直接通过命令执行就完成安装了,安装的是openjdk。

    (1) jdk安装的第一种方式

    首先到Oracle官网上下载jdk,jdk 下载地址是:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 下载之后上传到centos上,接着执行本地安装jdk。

    下载完成之后上传到centos,接着输入以下命令进行安装。

     sudo yum -y localinstall jdk-8u241-linux-x64.rpm

    安装完成之后,接着检查一下jdk是否安装成功。

    (2)jdk安装的第二种方式

    使用以下得方式进行安装,就不用下载安装包,直接在centos输入命令即可完成安装。输入的命令是:

    sudo yum install -y java-1.8.0-openjdk

    安装完成之后检查是否安装成功。

    java -version
    

    由于执行kafka需要配置jdk环境变量,那接下来看一下如何配置jdk变量。

    三,配置Java环境变量

    如何配置Java变量呢?首先我们得检查一下环境种是否有Java变量。

    echo $JAVA_HOME
    

    检查完没有配置,我们接着来配置一下环境变量,把jdk的安装路径找到,把这个路径赋值给JAVA_HOME,写入到用户主目录下的.bash_profile中或者放到/etc/profile中。通过如下命令来进行配置。

    echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
    

    接着让配置文件生效。

    source /etc/profile
    

    配置完成之后,接下来进行kafka的安装。

    四,安装kafka

    从kafka官网上下载kafka的二进制安装包,下载地址是:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz,下载下来之后进行解压。

    wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz
    

    接着对文件进行解压。

    sudo tar -zvxf kafka_2.12-2.4.0.tgz -C  /opt/
    

    提取文件成功之后,接着创建一个文件的软连接,这样可以方便进行kafka的升级。

    sudo ln -s /opt/kafka_2.12-2.4.0 /opt/kafka
    

    接下来,进入到kafka目录下,启动kafka,启动kafka之前得先启动zookeeper。

    sudo ./zookeeper-server-start.sh ../config/zookeeper.properties 
    

      

    接着在开启一个shell进行启动kafka。

    sudo ./kafka-server-start.sh ../config/server.properties 
    

    由于通过上面的方式启动不是很方便,接下来就配置系统单元服务进行启动kafka和zookeeper。

    按照以下方式创建zookeeper.service系统服务单元。

    [sharplee@localhost ~]$sudo  vi /etc/systemd/system/zookeeper.service
    
    [Unit]
    Description=Apache Zookeeper server
    Documentation=http://zookeeper.apache.org
    Requires=network.target remote-fs.target
    After=network.target remote-fs.target
    
    [Service]
    Type=simple
    ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
    ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
    Restart=on-abnormal
    User=root
    Group=root
    
    [Install]
    WantedBy=multi-user.target
    

    保存完成之后,来启动验证一下是否配置成功。

    sudo systemctl start zookeeper
    sudo systemctl status zookeeper
    sudo systemctl start zookeeper

    接着在配置一下kafka服务器的系统服务单元。

    [sharplee@localhost ~]$ sudo vi /etc/systemd/system/kafka.service
    
    [Unit]
    Description=Apache Kafka Server
    Documentation=http://kafka.apache.org/documentation.html
    Requires=zookeeper.service
    
    [Service]
    Type=simple
    ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
    ExecStop=/opt/kafka/bin/kafka-server-stop.sh
    Restart=on-abnormal
    
    
    [Install]
    WantedBy=multi-user.target
    

    配置完成之后,接着来启动kafka。

    sudo systemctl start kafka
    sudo systemctl status kafka
    sudo systemctl stop kafka
    

     

    创建成功之后,接下来,测试一下是否安装成功。

    测试之前先通过kafka创建一个topic。进入到kafka目录下,接着通过下面命令创建一个kafka topic。

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

    查看创建了多少个topic,可以使用以下命令进行查看。

    bin/kafka-topics.sh --list --zookeeper localhost:2181
    

      

    接下来通过生产者进行发送消息。

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

     

    接着创建一个消费者来进行接收消息。

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

     

    通过以上步骤,就成功安装kafka了,这个时候就可以通过java开发工具连接进行开发了。 

  • 相关阅读:
    Hystrix服务降级
    postman使用教程12-预处理(pre-request) 发送请求
    postman使用教程11- sign 签名预处理(pre-request)
    postman使用教程10-请求前参数预处理(pre-request)
    postman使用教程9-点 code 按钮生成代码段
    postman使用教程8-设置断言(Tests脚本编写)
    postman使用教程7-参数化引用外部文件(txt/csv/json)测试数据
    postman使用教程6-引用随机变量($guid,$timestamp,$randomInt)
    postman使用教程5-Test脚本中自定义变量(参数关联 提取 token 和引用 token )
    postman使用教程4-集合变量(collection variables)的使用
  • 原文地址:https://www.cnblogs.com/Hackerman/p/12595246.html
Copyright © 2020-2023  润新知