KafKa集群安装、配置

一、事前准备

1.kafka官网:http://kafka.apache.org/downloads.

2.选择使用版本下载.

3.kafka集群环境准备:(linux)

192.168.145.129   主机名:kafka01

192.168.145.130              kafka02

192.168.145.131              kafka03

4.本次安装版本:kafka_2.10-0.8.2.0

5.注意事项

    ①:kafka依赖zookeeper集群.  

    ②:集群环境都需要超过半数机器正常工作才能对外提供服务.

    ③:Java jdk1.7

6.KafKa官方文档:http://kafka.apache.org/documentation.html

二、KafKa集群安装

1.登录测试环境

    192.168.145.129   kafka01

2.切换用户到kafka解压:

$ tar -zxvf kafka_2.10-0.8.2.0.tgz

3.重命名为kafka01:

$ mv kafka_2.10-0.8.2.0.tgz kafka01 

4.配置:

$ cd kafka01/conf

5.只需要修改conf目录下的server.properties文件

6.server.properties文件配置解释:

 1 broker.id=0  #当前机器在集群中的唯一标识,和zookeeper的myid性质一样
 2 port=9092 #当前kafka对外提供服务的端口默认是9092
 3 host.name=localhost #这个参数默认是关闭的,在0.8.1有个bug,DNS解析问题,失败率的问题。
 4 num.network.threads=3 #这个是borker进行网络处理的线程数
 5 num.io.threads=8 #这个是borker进行I/O处理的线程数
 6 log.dirs=/tmp/kafka-logs #消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数这个目录,如果配置多个目录,新创建的topic他把消息持久化的地方是,当前以逗号分割的目录中,那个分区数最少就放那一个
 7 socket.send.buffer.bytes=102400 #发送缓冲区buffer大小,数据不是一下子就发送的,先回存储到缓冲区了到达一定的大小后在发送,能提高性能
 8 socket.receive.buffer.bytes=102400 #kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
 9 socket.request.max.bytes=104857600 #这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
10 num.partitions=1 #默认的分区数,一个topic默认1个分区数
11 log.retention.hours=168 #默认消息的最大持久化时间,168小时,7天
12 message.max.byte=5242880  #消息保存的最大值5M
13 default.replication.factor=2  #kafka保存消息的副本数,如果一个副本失效了,另一个还可以继续提供服务
14 replica.fetch.max.bytes=5242880  #取消息的最大直接数
15 log.segment.bytes=1073741824 #这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件
16 log.retention.check.interval.ms=300000 #每隔300000毫秒去检查上面配置的log失效时间(log.retention.hours=168 ),到目录查看是否有过期的消息如果有,删除
17 log.cleaner.enable=false #是否启用log压缩,一般不用启用,启用的话可以提高性能
18 zookeeper.connect=localhost:2181 #设置zookeeper的连接端口

以上broker.id、port、host.name以及zookeeper.connect请按需修改.

7.启动kafka服务器:

$ bin/kafka-server-start.sh config/server.properties &

三、KafKa服务测试&常用命令

 1.检查服务是否启动 

#执行命令jps
$ jps
21450 Kafka
25199 Jps

 2.在kafka02、kafka03机器上重复以上步骤,进入测试

  创建topic:

$ bin/kafka-topics.sh --create --zookeeper kafka01:2181 --replication-factor 2 --partitions 1 --topic topic1

  查看topic  list

$ bin/kafka-topics.sh --list --zookeeper kafka01:2181

  查看某个具体topic的信息

$ bin/kafka-topics.sh  --describe --zookeeper kafka01:2181 --topic topic1

  创建生产者

$ bin/kafka-console-producer.sh --broker-list kafka01:9092 --topic topic1

创建消费者

$ bin/kafka-console-consumer.sh --zookeeper kafka01:2181 --topic topic1--from-beginning

  以上,kafka集群搭建、配置完毕.可以使用javaAPI进行coding了.

PS:第一篇技术随笔,后续慢慢把自己知道的,学到的都记录下来,欢迎拍砖!

时间: 2024-10-13 08:01:23

KafKa集群安装、配置的相关文章

kafka集群安装配置

1.下载安装包 2.解压安装包 3.进入到kafka的config目录修改server.properties文件 进入后显示如下: 修改log.dirs,基本上大部分都是默认配置 kafka依赖zookeeper保存一些meta信息,所以这些需要配置 分发安装包到其他节点上 scp -r .... 再次修改配置文件(重要) 依次修改各服务器上配置文件的的broker.id,分别是0,1,2不得重复. 启动集群 依次在各节点上启动kafka bin/kafka-server-start.sh  c

Kafka集群安装与扩容

介绍略 集群安装: 一.准备工作: 1.版本介绍: 目前我们使用版本为kafka_2.9.2-0.8.1(scala-2.9.2为kafka官方推荐版本,此外还有2.8.2和2.10.2可以选择) 2.环境准备: 安装JDK6,目前使用版本为1.6,并配置JAVA_HOME 3.配置修改: 1)拷贝线上配置到本地kafka目录. 2)需要注意的是server.properties里broker和ip的指定,必须要唯一. 3)server.properties中log.dirs必须要手动指定.此配

zookeeper+kafka集群安装之二

zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装参考: http://blog.csdn.net/ubuntu64fan/article/details/26678877 首先了解几个kafka中的概念: kafka是一个消息队列服务器,服务称为broker, 消息发送者称为producer, 消息接收者称为consumer; 通常我们部署多个b

Hadoop集群安装配置文档

Hadoop集群安装配置文档 日期 内容 修订人 2015.6.3 文档初始化 易新             目录 1 文档概要... 5 1.1软件版本... 5 1.2机器配置... 5 2 虚拟机配置... 5 2.1新建虚拟机... 5 2.2虚拟网络配置... 8 3 CentOS安装及配置... 9 3.1系统安装... 9 3.2系统配置... 10 3.2.1防火墙配置... 10 3.2.2 SElinux配置... 10 3.2.3 IP配置... 11 3.2.4安装vim

zookeeper+kafka集群安装之一

zookeeper+kafka集群安装之一 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置如下: $ cat /etc/hosts ... # zookeeper hostnames: 192.168.8.182 zk1 192.168.8.183 zk2 192.168.8.184 zk3 2) 每台机器上安装jdk, zookeeper, kafka, 配置如下: $ vi /etc/profile ... # jdk, zookeeper, kafka export KA

Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装

Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kafka02 √ √ kafka03 √ √ 准备工作: 网络配置 vim /etc/sysconfig/network-scripts/ifcfg-ens33 # kafka01 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=sta

高可用RabbitMQ集群安装配置

RabbitMQ集群安装配置+HAproxy+Keepalived高可用 rabbitmq 集群 消息队列 RabbitMQ简介 RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现. AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然.AMQP的主

elk集群安装配置详解

#  一:简介 ``` Elasticsearch作为日志的存储和索引平台: Kibana 用来从 Elasticsearch获取数据,进行数据可视化,定制数据报表: Logstash 依靠强大繁多的插件作为日志加工平台: Filebeat 用来放到各个主机中收集指定位置的日志,将收集到日志发送到 Logstash: Log4j 直接与 Logstash 连接,将日志直接 Logstash(当然此处也可以用 Filebeat 收集 tomcat 的日志). ``` ####  port ```

spark集群安装配置

spark集群安装配置 一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所具有的优点:但不同于Hadoop MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,节省了磁盘IO耗时,性能比Hadoop更快. 所以,相对来说Hadoop更适合做批处理,而Spark更适合做需要反复迭代的机器学习.下面是我在ubuntu1