linux部署kafka单机集群环境

一、说明:

        操作系统:linux

        kafka版本信息:kafka_2.11-0.8.2.1

二、具体操作:

1、安装kafka之间先检查操作系统中是否装有JDK,若没有点击打开链接有JDK安装步骤。

2、关闭SELINUX、开启防火墙9092端口

    2.1、关闭SELINUX

        vi /etc/selinux/config
        #SELINUX=enforcing #注释掉
        #SELINUXTYPE=targeted #注释掉
        SELINUX=disabled #增加
        :wq! #保存退出

        setenforce 0 #使配置立即生效

    2.2、配置防火墙,开启9092端口
        vi /etc/sysconfig/iptables #编辑防火墙配置文件
        # Firewall configuration written by system-config-firewall
        # Manual customization of this file is not recommended.
        *filter
        :INPUT ACCEPT [0:0]
        :FORWARD ACCEPT [0:0]
        :OUTPUT ACCEPT [0:0]
        -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        -A INPUT -p icmp -j ACCEPT
        -A INPUT -i lo -j ACCEPT
        -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
        -A INPUT -m state --state NEW -m tcp -p tcp --dport 9092 -j ACCEPT
        -A INPUT -j REJECT --reject-with icmp-host-prohibited
        -A FORWARD -j REJECT --reject-with icmp-host-prohibited

        COMMIT

        :wq! #保存退出

        service iptables restart #最后重启防火墙使配置生效

3、安装kafka
    3.1、下载kafka
        cd /usr/local/src
        wget http://archive.apache.org/dist/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz
        注意,kafka_2.11-0.8.2.1.tgz版本是已经编译好的版本,解压就能使用。
        tar -xzvf kafka_2.11-0.8.2.1.tgz #解压
        mv kafka_2.11-0.8.2.1 /usr/local/kafka #移动到安装目录

    3.2、配置kafka
        mkdir /usr/local/kafka/log/kafka #创建kafka日志目录
        cd /usr/local/kafka/config #进入配置目录
        vi server.properties #编辑修改相应的参数
        broker.id=0
        port=9092 #端口号
        host.name=127.0.0.1 #为本地IP
        log.dirs=/usr/local/kafka/log/kafka #日志存放路径,上面创建的目录

        zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181

        :wq! #保存退出
        (ps:如若host.name的ip不设置为127.0.0.1,会报一下错误:

                Bug:Socket server failed to bind to xxx.xxx.xxx.xxx:9092: Cannot assign requested address.                   
                         在ECS上面配置kafka的地址千万不要写外部地址,比如139.225.155.153(我随便写的),这样事绑定不上去的,因为 这个是阿里云内部;它会去内网去寻找他的 地址,所以配成127.0.0.1 会自动识别成本机地址/不然应该使用外网的映射地址。

        )
    3.3、配置zookeeper
        mkdir /usr/local/kafka/zookeeper #创建zookeeper目录
        mkdir /usr/local/kafka/log/zookeeper #创建zookeeper日志目录
        cd /usr/local/kafka/config #进入配置目录
        vi zookeeper.properties #编辑修改相应的参数
        dataDir=/usr/local/kafka/zookeeper #zookeeper数据目录
        dataLogDir=/usr/local/kafka/log/zookeeper #zookeeper日志目录
        clientPort=2181
        maxClientCnxns=100
        tickTime=2000
        initLimit=10

        syncLimit=5

        :wq! #保存退出

4、创建启动、关闭kafka脚本
    cd /usr/local/kafka #进入kafka根目录

     #创建kafka启动脚本


    vi kafkastart.sh #编辑,添加以下代码
    #!/bin/sh
    cd /usr/local/kafka/bin/zookeeper-server-start.sh /home/xuqiang/kafka/config/zookeeper.properties &
    sleep 3 #等3秒后执行
    #启动kafka

   cd /usr/local/kafka/bin/kafka-server-start.sh /home/xuqiang/kafka/config/server.properties &

    :wq! #强制保存退出

    #创建kafka关闭脚本

    

    vi kafkastop.sh #编辑,添加以下代码:
    #!/bin/sh
    #关闭zookeeper
    /usr/local/kafka/bin/zookeeper-server-stop.sh /usr/local/kafka/config/zookeeper.properties &
    sleep 3 #等3秒后执行
    #关闭kafka
    /usr/local/kafka/bin/kafka-server-stop.sh /usr/local/kafka/config/server.properties &

    :wq! #保存退出

   #添加脚本执行权限
    chmod +x kafkastart.sh

    chmod +x kafkastop.sh

5、设置脚本开机自动启动
    vi /etc/rc.d/rc.local #编辑,在最后添加一行
    sh /usr/local/kafka/kafkastart.sh & #设置开机自动在后台运行脚本
    :wq! #保存退出
    sh /usr/local/kafka/kafkastart.sh #启动kafka
    sh /usr/local/kafka/kafkastop.sh #关闭kafka
至此,Linux下Kafka单机安装配置完成。


6、liunx下kafka生产者和消费者模式测试

    6.1、启动kafka

        sh /usr/local/kafka/kafkastart.sh
    6.2、创建topic test
    /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --    topic test
    6.3、查看topic
    ./usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
    6.4、启动producer发布消息
     ./usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
      (ps:此时在命令行输入: hello world!)
    6.5、启动consumer消费消息
        ./usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

      (ps:此时会显示hello world!)

测试结果如下(我开了两个窗口便与测试):
    
    (ps:图1为producer生产者,图2为consumer消费者)

Linux系统部署单机Kafka可以按照以下步骤进行: 1. 下载Kafka:首先,你需要从Apache Kafka的官方网站(https://kafka.apache.org/downloads)下载Kafka的二进制文件。选择适合你系统的版本并下载。 2. 解压文件:将下载的Kafka压缩包解压到你选择的目录中。可以使用以下命令解压: ``` tar -xzf kafka_<version>.tgz cd kafka_<version> ``` 3. 配置Kafka:进入Kafka目录后,你需要编辑配置文件以适应你的环境。主要配置文件是`config/server.properties`。你可以根据需要修改以下配置项: - `broker.id`:Kafka Broker的唯一标识符。 - `listeners`:Kafka监听的地址和端口。 - `log.dirs`:Kafka存储日志文件的目录。 - `zookeeper.connect`:Zookeeper的连接地址和端口。 4. 启动Zookeeper:Kafka依赖于Zookeeper来管理集群状态和元数据。你需要启动Zookeeper服务。可以使用以下命令启动: ``` bin/zookeeper-server-start.sh config/zookeeper.properties ``` 5. 启动Kafka Broker:在启动Kafka Broker之前,确保Zookeeper已经成功启动。使用以下命令启动Kafka Broker: ``` bin/kafka-server-start.sh config/server.properties ``` 6. 创建Topic:在Kafka中,消息通过Topic进行发布和订阅。你可以使用以下命令创建一个Topic: ``` bin/kafka-topics.sh --create --topic my_topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 ``` 7. 发布和消费消息:现在你可以使用Kafka提供的命令行工具来发布和消费消息。以下是一些常用的命令: - 发布消息: ``` bin/kafka-console-producer.sh --topic my_topic --bootstrap-server localhost:9092 ``` - 消费消息: ``` bin/kafka-console-consumer.sh --topic my_topic --bootstrap-server localhost:9092 --from-beginning ``` 以上是部署单机Kafka的基本步骤。你可以根据需要进行配置和扩展。如果你想了解更多关于Kafka的详细信息,请参考官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值