• Kafka单机环境的部署


    前面说过Kafka集群环境的部署,现在主要说一下在本地测试中Kafka单机环境的部署,和前面一样首先保证zookeeper服务的正常运行,然后解压并释放kafka安装包,并放到指定位置:

    tar -xvzf kafka_2.9.2-0.8.2.2.tar.gz
    mkdir /usr/kafka
    mv kafka_2.9.2-0.8.2.2 /usr/kafka/
    cd /usr/kafka/kafka_2.9.2-0.8.2.2

      现在开始编辑配置文件server.properties,执行命令: vim config/server.properties 打开配置文件

      首先去掉#host.name=localhost前面的注释,这个开发过程中可以填写集群主机名或者IP地址,有很多错误就是因为这里被注释导致的,建议单机环境一定去掉注释根据情况配置;集群中一般根据zookeeper.connect识别,所以此项可以配置也可以忽略

      

      然后之前集群部署中曾经修改过borker.id,port这里不用动,都是默认即可,修改一下log.dirs放到/usr/kafka/logs目录中,这个可以自己指定

      

      logs目录我们后来需要手动创建,然后log.cleaner.enable要改为true,表示自动清理日志

      

      然后修改zookeeper.connect为localhost:2181/kafka,默认是localhost:2181,这样会在zookeeper上直接创建kafka对应文件,这里加上/kafka和之前一样,表示在zookeeper上创建kafka节点,把kafka相关文件都放在localhost:2181/kafka节点下

      

      到现在,基本的配置就完成了,现在保存并退出配置文件

      然后创建logs日志目录: mkdir /usr/kafka/logs ,创建目录之后,开始启动kafka服务:

    nohup bin/kafka-server-start.sh config/server.properties >> /dev/null &

      上面代码hohup代表把任务放到后台作为服务运行,有些脚本不像之前的二进制程序一样可以一直跑在服务器上,虽然后面加上&表示在后台运行,但是一段时间后可能会退出,nohup可以让程序一直跑在后台,输入以上命令后命令行会卡住,然后需要再次输入一次回车回到命令行,另外我们退出shell时必须使用logout退出,切不可直接关闭窗口,否则程序也可能异常退出

      然后创建一个消息队列:

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

      创建队列的时候,replication-factor只能是1个,因为是单节点,而partitions分区可以是1个或者2个都可以,测试环境建议是1个即可

      然后,创建一个消费者:

    bin/kafka-console-consumer.sh --zookeeper localhost:2181/kafka --topic test

      此时,命令行会进入运行状态,界面就卡住不动了,然后再新建一个窗口,进入kafka目录,继续创建一个生产者:

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

      同样这个时候命令行进入运行状态,我们输入一个字符串:Hello Kafka!

      

      此时打开刚才创建消费者的窗口,会看到刚才的输入消息被消费了

      

      到现在,Kafka单机消息队列基本的配置和运行都是正常的,单机环境配置基本上就是这些

  • 相关阅读:
    juc线程池原理(六):jdk线程池中的设计模式
    阻塞队列之一:BlockingQueue汇总
    阻塞队列之二:LinkedTransferQueue
    遍历并批量删除容器中元素出现ConcurrentModificationException原因及处置
    Spring 3.1新特性之一:spring注解之@profile
    ThreadPoolExecutor之三:自定义线程池-扩展示例
    守护线程
    cookie跨域问题汇总
    线程组ThreadGroup
    Eclipse中设置JDK、${user}变量
  • 原文地址:https://www.cnblogs.com/adolfmc/p/7345333.html
Copyright © 2020-2023  润新知