kafka linux下的集群安装

第一步.kafka 集群安装环境准备

环境:CentOS6.5

集群环境:

192.168.139.130 master

192.168.139.131 node1

192.168.139.132 node2

zookeeper 版本:zookeeper-3.3.6.tar.gz

kafka 版本:kafka_2.11-0.9.0.0.tar.gz

第二步.安装zoookeeper集群

注意kafka有自己自带的zookeeper,我这里没用kafka自带的zookeeper集群,而是自己安装的zookeeper集群,因为zookeeper在其他地方用到比如hadoop集群中

安装自己的zookeeper集群很简单,这里我就不一步步安装了,详细的安装流程见我的另外一篇关于zookeeper安装的博文:http://blog.csdn.net/wangguanyin98/article/details/51200747

安装完成后启动zookeeper集群启动顺序master、node1、node2

在master、node1、node2上分别用zookeeper的客户端连接上zookeeper的服务器

执行命令:

[[email protected] bin]# ./zkCli.sh

出现下面的效果表示zookeeper客服端连接服务端成功

创建节点:kafka节点:create /kafka ‘‘

注意:

zookeeper 常用命令

启动ZK服务:        bin/zkServer.sh start

查看ZK服务状态:  bin/zkServer.sh status

停止ZK服务:        bin/zkServer.sh stop

重启ZK服务:        bin/zkServer.sh restart

连接服务器          zkCli.sh -server 127.0.0.1:2181

查看根目录 ls /

创建 kafka节点,关联字符串‘‘         create /kafka
‘‘

查看节点内容  getkafka

设置节点内容  setkafka abc

删除节点      deletekafka

为了验证节点是否创建成功可以在两位两台服务器上查看节点的值

node1节点查看结果如图:

node2节点查看结果如图:

因为是集群所以在每个节点都能查看到刚创建节点kafka的结果:这样证明zookeeper集群安装成功并且可以使用

第三步:kafka集群安装

1.创建kafka的安装目录

mkdir /usr/local/kafka

2.把kafka_2.11-0.9.0.0.tar.gz移动到安装目录kafka解压缩

tar -zxvf  kafka_2.11-0.9.0.0.tar.gz

3.配置集群文件

vi server.properties

内容如下:

# The id of the broker. This must be set to a unique integer for each broker.

#broker id,每个broker id在集群中必须唯一

broker.id=1

#监听端口

listeners=PLAINTEXT://:9091

#端口

# The port the socket server listens on

#port=9092

port=9091

#

# Hostname the broker will bind to. If not set, the server will bind to all interfaces

#host.name=localhost

host.name=192.168.139.130

# The number of threads handling network requests

num.network.threads=3

# The number of threads doing disk I/O

num.io.threads=8

# The send buffer (SO_SNDBUF) used by the socket server

socket.send.buffer.bytes=102400

# The receive buffer (SO_RCVBUF) used by the socket server

socket.receive.buffer.bytes=102400

# The maximum size of a request that the socket server will accept (protection against OOM)

socket.request.max.bytes=104857600

# A comma seperated list of directories under which to store log files

#kafka的日志记录目录

log.dirs=/tmp/kafka-logs

# The default number of log partitions per topic. More partitions allow greater

# parallelism for consumption, but this will also result in more files across

# the brokers.

num.partitions=1

# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown.

# This value is recommended to be increased for installations with data dirs located in RAID array.

num.recovery.threads.per.data.dir=1

# The minimum age of a log file to be eligible for deletion

log.retention.hours=168

# A size-based retention policy for logs. Segments are pruned from the log as long as the remaining

# segments don‘t drop below log.retention.bytes.

#log.retention.bytes=1073741824

# The maximum size of a log segment file. When this size is reached a new log segment will be created.

log.segment.bytes=1073741824

# The interval at which log segments are checked to see if they can be deleted according

# to the retention policies

log.retention.check.interval.ms=300000

# By default the log cleaner is disabled and the log retention policy will default to just delete segments after                their retention expires.

# If log.cleaner.enable=true is set the cleaner will be enabled and individual logs can then be marked for log               compaction.

log.cleaner.enable=false

zookeeper.connect=192.168.139.130:2181,192.168.139.131:2181,192.168.139.132:2181/kafka

# Timeout in ms for connecting to zookeeper

#连接zookeeper超时

zookeeper.connection.timeout.ms=6000

注意:红色代表必须配置的项,集群其他节点的配置更这个配置一样,只是下面的四项不相同

broker.id=1

listeners=PLAINTEXT://:9091

port=9091

host.name=192.168.139.130

需要注意的是 zookeeper.connect=192.168.139.130:2181,192.168.139.131:2181,192.168.139.132:2181/kafka

这条配置信息的 /kafka 是kafka集群连接外部zookeeper集群必须配置的节点否则会安装不成功,报错好多博文并未指出这一点,所以导致初学者安装集群会花费很长的时间,这是一个坑,大家需要特别注意,我会把详细的配置文件server.properties放在CSDN的资料下载上,欢迎大家下载

4.配置成功以后按顺序启动kafka,master->node1->node2

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

注意&符号是为了能够继续输入命令没有特殊含义

5.启动成功后就是验证kafka集群安装是否成功

创建一个名称为my-replicated-topic5的Topic,5个分区,并且复制因子为3

bin/kafka-topics.sh
--create --zookeeper 192.168.139.130:2181,192.168.139.131:2181,192.168.139.132:2181/kafka 

--replication-factor
3 --partitions 5 --topic my-replicated-topic5

查看创建的Topic,执行如下命令

bin/kafka-topics.sh
--describe --zookeeper 192.168.139.130:2181,192.168.139.131:2181,192.168.139.132:2181/kafka 

--topic
my-replicated-topic5

查看结果

解释

bin/kafka-topics.sh –list –zookeeper 192.168.172.98:2181/kafka

:

1 Partition: 分区

2 Leader : 负责读写指定分区的节点

3 Replicas : 复制该分区log的节点列表

4 Isr : “in-sync” replicas,当前活跃的副本列表(是一个子集),并且可能成为Leader

我们可以通过Kafka自带的bin/kafka-console-producer.sh和bin/kafka-console-consumer.sh脚本,来验证演示如果发布消息、消费消息。

6.在node2终端,启动Producer,并向我们上面创建的名称为my-replicated-topic5的Topic中生产消息

bin/kafka-console-producer.sh --broker-list 192.168.139.130:9091,192.168.139.133:9092,192.168.139.132:9092
--topic my-replicated-topic5

7.在master上启动Consumer,并订阅我们上面创建的名称为my-replicated-topic5的Topic中生产的消息

bin/kafka-console-consumer.sh
--zookeeper 192.168.139.130:2181,192.168.139.131:2181,192.168.139.132:2181/kafka --from-beginning --topic my-replicated-topic5

现在就可以在Producer输入你的消息,然后你就可以在consumer端看到你输入的消息内容,说明你的集群安装成功

8.启停kafka集群

启动:bin/kafka-server-start.sh
config
/server.properties
&

停止:bin/kafka-server-stop.sh

第四步:kafka集群安装成功后怎样创建topic

创建:

bin/kafka-topics.sh --create --zookeeper 192.168.139.130:2181/kafka --replication-factor
3 --partitions 3 --topic test_topic5

zookeeper指定其中一个节点即可,集群之间会自动同步。

–-replication-factor
2 –-partitions 3理论上应该是可选参数,但此脚本必须写这2个参数。

查看全部topic:

[[email protected]
kafka_2.11-0.9.0.0]# bin/kafka-topics.sh --list --zookeeper 192.168.139.130:2181/kafka

[2016-04-22 04:27:20,928] WARN Connected to an old server; r-o mode will be unavailable (org.apache.zookeeper.ClientCnxnSocket)

my-replicated-topic5

test_topic5

 
删除:

 bin/kafka-topics.sh
--delete --zookeeper 192.168.139.130:2181/kafka test_topic5

(1)配置文件中必须delete.topic.enable=true,否则只会标记为删除,而不是真正删除。

(2)执行此脚本的时候,topic的数据会同时被删除。如果由于某些原因导致topic的数据不能完全删除(如其中一个broker
down了),此时topic只会被marked for deletion,

而不会真正删除。此时创建同名的topic会有冲突

集群安装结束 希望安装本博客安装成功的同学 给予好评 谢谢

配置文件下载路径:http://download.csdn.net/detail/wangguanyin98/9499185

时间: 2024-11-05 17:32:37

kafka linux下的集群安装的相关文章

Linux下Elasticsearch集群配置

一.简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便. 二.集群安装 1.选择指定的版本下载 wget https://download.elastic.co/elasticsearch/release/org/elas

windows下redis集群安装和部署

1.下载windows版本的Redis 官网只提供linux版本的下载 官网下载地址:http://redis.io/download github下载地址:https://github.com/MSOpenTech/redis/tags 解压之后,拷贝到自定义的Redis目录下,例如D:\Redis\Redis 打开cmd,切换到Redis目录下,执行 redis-server redis.windows.conf 再重新打开一个cmd窗口,连接Redis执行 redis-cli.exe -h

Linux下Hadoop集群环境的搭建

本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安装与配置 现在直接到Oracle官网(http://www.oracle.com/)寻找JDK7的安装包不太容易,因为现在官方推荐JDK8.找了半天才找到JDK下载列表页的地址(http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html).因

linux docker swarm集群安装

1. docker swarm 简介 Docker Swarm是Docker自己的Docker容器本地集群解决方案,具有与Docker生态系统紧密集成并使用自己的API的优势.它监视跨服务器群集的容器数量,是在没有其他硬件的情况下创建群集docker应用程序的最便捷方式.它为Dockerized应用程序提供了一个小规模但有用的编排系统. 使用Docker Swarm的优点 与docker集成的集群管理工具 去中心化设计,只使用docker引擎即可创建各类节点 声明式服务模型.可以声明的方式来定义

Linux下Redis集群环境的搭建

一.安装redis(使用redis3.0版本) 1.需要gcc环境,如果没有执行命令安装gcc yum install gcc-c++ 2.下载redis3.0的源码包并上传至服务器 3.解压源码包 tar -zxvf redis-3.0.0.tar.gz 4.进入解压目录编译 make 5.安装redis make install PREFIX=/usr/local/redis 二.启动redis 1.从redis-3.0.0文件中复制redis-conf到redis的安装目录中 2.然后修改

mysql5.5在linux下的集群,同步和配置优化

最近想自己去搭建mysql集群和读写分类,因为没有实际项目,所有一切都是我自己搭建的方法,如有问题还望指教 1 在虚拟机上准备mysql 5.5*的环境   mysql -V    1)centos6.5      192.168.239.129        msyql 5.5.27  打算用作从服务器    2)ubuntu14      192.168.239.128        mysql 5.5.39  主服务器 2 主服务上的配置     查看mysql是否启动:ps aux |g

Linux下ZooKeeper集群搭建

首先安装VMWare,装了两个虚拟机,版本是CentOS6.5,IP分别是 192.168.3.20 192.168.3.21 然后下载ZooKeeper包:http://zookeeper.apache.org/,使用命令tar -zxvf  zookeeper.tar.gz 进行解压,解压到/opt/soft目录 修改主机名 vim  /etc/hosts ,在hosts文件中添加一下两项 192.168.1.20 master 192.168.1.21 slave1 进入zookeeper

centos下redis集群安装

Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:7000127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 1:下载redis.官网下载3.0.0版本,之前2.几的版本不支持集群模式 下载地址:https://github.com

【redis】 linux 下redis 集群环境搭建

Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:7000127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 1:下载redis.官网下载3.0.0版本,之前2.几的版本不支持集群模式 下载地址:https://github.com