Apache Kafka分布式消息队列安装配置

一、介绍

Apache Kafka是由Apache软件基金会开发的一个开源消息系统项目,由Scala写成。Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。

二、安装环境
kafka server IP:

10.0.0.25 10.0.0.26

操作系统:

CentOS 6.5 x86_64

须用到的软件包:

jdk-1.7.0_65-fcs.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

Hosts表记录

cat /etc/hosts
10.0.0.25 kafka1
10.0.0.26 kafka2

三、配置kafka的两个节点(kafka1和kafka2)

配置kafka1

1、解压kafka_2.10-0.8.1.1.tgz到kafka1

tar -xf kafka_2.10-0.8.1.1.tgz -C /usr/local/
cd /usr/local/
mv kafka_2.10-0.8.1.1/ kafka

2、配置kafka1上的/usr/local/kafka/config/server.properties

egrep -v ‘(^#|^$)‘ /usr/local/kafka/config/server.properties 
broker.id=1
port=9000
num.network.threads=2
 
num.io.threads=8
socket.send.buffer.bytes=1048576
socket.receive.buffer.bytes=1048576
socket.request.max.bytes=104857600
log.dirs=/usr/local/kafka/kafka-logs
num.partitions=8
log.retention.hours=168
log.segment.bytes=536870912
log.retention.check.interval.ms=60000
log.cleaner.enable=false
zookeeper.connect=kafka1:2181,kafka2:2181
zookeeper.connection.timeout.ms=1000000
egrep -v ‘(^#|^$)‘ /usr/local/kafka/config/zookeeper.properties 
dataDir=/usr/local/kafka/zookeeper
clientPort=2181
maxClientCnxns=0

配置kafka2

1、解压kafka_2.10-0.8.1.1.tgz到kafka1

tar -xf kafka_2.10-0.8.1.1.tgz -C /usr/local/
cd /usr/local/
mv kafka_2.10-0.8.1.1/ kafka

2、配置kafka2上的/usr/local/kafka/config/server.properties

egrep -v ‘(^#|^$)‘ /usr/local/kafka/config/server.properties 
broker.id=2
port=9000
num.network.threads=2
 
num.io.threads=8
socket.send.buffer.bytes=1048576
socket.receive.buffer.bytes=1048576
socket.request.max.bytes=104857600
log.dirs=/usr/local/kafka/kafka-logs
num.partitions=8
log.retention.hours=168
log.segment.bytes=536870912
log.retention.check.interval.ms=60000
log.cleaner.enable=false
zookeeper.connect=kafka1:2181,kafka2:2181
zookeeper.connection.timeout.ms=1000000
egrep -v ‘(^#|^$)‘ /usr/local/kafka/config/zookeeper.properties 
dataDir=/usr/local/kafka/zookeeper
clientPort=2181
maxClientCnxns=0

四、编写kafka启动、关闭shell脚本

cat /etc/init.d/kafka 
#!/bin/bash
source /etc/profile;
function Stop()
{
ps -ef |grep kafka|grep -v grep |awk ‘{print $2}‘|xargs kill -9 
}

function Start()
{
/bin/bash /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties &> /dev/null &
sleep 1
/bin/bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &> /dev/null &
}

case $1 in 
        stop)
            Stop
            ;;
        start)
            Start
            ;;
        *)
            echo "Usage: `basename $0` {stop|start}"
            ;;
esac

用法:

# 启动kafka:
/etc/init.d/kafka start 
# 关闭kafka:
/etc/init.d/kafka stop

五、让kafka开机自启动

echo ‘/etc/init.d/kafka start > /dev/null ‘ >> /etc/rc.local
时间: 2024-10-12 11:05:58

Apache Kafka分布式消息队列安装配置的相关文章

Apache Kafka 分布式消息队列中间件安装与配置 转载

bin/zkServer.sh start /home/guym/down/kafka_2.8.0-0.8.0/config/zookeeper.properties& bin/kafka-server-start.sh config/server.properties bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic mykafka bin/kafka-list-topi

Kafka 分布式消息队列介绍

Kafka 分布式消息队列 类似产品有JBoss.MQ 一.由Linkedln 开源,使用scala开发,有如下几个特点: (1)高吞吐 (2)分布式 (3)支持多语言客户端 (C++.Java) 二.组成: 客户端是 producer 和 consumer,提供一些API,服务器端是Broker,客户端提供可以向Broker内发布消息.消费消息,服务器端提供消息的存储等功能 Kafka 特点是支持分区.分布式.可拓展性强 三.Kafka 的消息分几个层次 (1)Topic 一类主题 (2)Pa

linkedin公司的Kafka分布式消息队列

Kafka[ 是linkedin(是一个公司)用于日志处理的分布式消息队列,linkedin的日志数据容量大,但对可靠性要求不高,其日志数据主要包括用户行为(登录.浏览.点击.分享.喜欢)以及系统运行日志(CPU.内存.磁盘.网络.系统及进程状态). 当前很多的消息队列服务提供可靠交付保证,并默认是即时消费(不适合离线).高可靠交付对linkedin的日志不是必须的,故可通过降低可靠性来提高性能,同时通过构建分布式的集群,允许消息在系统中累积,使得kafka同时支持离线和在线日志处理. 注:本文

kafka分布式消息队列介绍以及集群安装

简介 首先简单说下对kafka的理解: 1.kafka是一个分布式的消息缓存系统: 2.kafka集群中的服务器节点都被称作broker 3.kafka的客户端分为:一是producer(消息生产者)负责往消息队列中放入消息:另一类是consumer(消息消费者)负责从消息队列中取消息.客户端和服务器之间的通信采用tcp协议 4.kafka中不同业务系统的消息可以通过topic(主题)进行区分,也就是说一个主题就是一个消息队列,而且每一个消息topic都会被分区,以分担消息读写的负载 5.par

kafka分布式消息队列 — 基本概念介绍

[http://www.inter12.org/archives/818] 这个应该算是之前比较火热的词了,一直没时间抽出来看看.一个新东西出来,肯定是为了解决某些问题,不然不会有它的市场.先简单看下.官方介绍:分布式.分区.支持复制的日志提交系统适用场景:顾名思义,特别适合用于系统日志的异步记录,对于数据稳定性.一致性.可靠性要求不高的场景,追求的是高吞吐量.非传统的MQ产品! 核心模型抽象: topics:某种消息的高层抽象 producers:消息的生产者 consumers:消息的消费者

[转载] 快速理解Kafka分布式消息队列框架

转载自http://blog.csdn.net/xiaolang85/article/details/18048631 ==是什么 == 简单的说,Kafka是由Linkedin开发的一个分布式的消息队列系统(Message Queue) 目标Scope(解决什么问题) kafka开发的主要初衷目标是构建一个用来处理海量日志,用户行为和网站运营统计等的数据处理框架.在结合了数据挖掘,行为分析,运营监控等需求的情况下,需要能够满足各种实时在线和批量离线处理应用场合对低延迟和批量吞吐性能的要求.从需

kafka 分布式消息队列

参考:http://www.infoq.com/cn/articles/apache-kafka?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global 存储分布式(用zookeeper协调): kafka代理,也称为broker,是集群,集群数据的协调和同步用的是zookeeper.

Apache ActiveMQ实战(1)-基本安装配置与消息类型

ActiveMQ简介 ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信.ActiveMQ使用Apache提供的授权,任何人都可以对其实现代码进行修改. ActiveMQ的设计目标是提供标准的,面向消息的,能够跨越多语言和多系统的应用集成消息通信中间件.ActiveMQ实现了JMS标准并提供了很多附加的特性.这些附加的特性包括,JMX管理(java Management Extensions,即java

Kafka 和 ZooKeeper 的分布式消息队列分析

1. Kafka 总体架构 基于 Kafka-ZooKeeper 的分布式消息队列系统总体架构如下: 如上图所示,一个典型的 Kafka 体系架构包括若干 Producer(消息生产者),若干 broker(作为 Kafka 节点的服务器),若干 Consumer(Group),以及一个 ZooKeeper 集群.Kafka通过 ZooKeeper 管理集群配置.选举 Leader 以及在 consumer group 发生变化时进行 Rebalance(即消费者负载均衡,在下一课介绍).Pro