Kafka安装配置

我们使用5台机器搭建Kafka集群:

1. cluster-1-namenode-1-001       172.16.0.147

2. cluster-1-datanode-1-001       172.16.0.144

3. cluster-1-datanode-1-003       172.16.0.145

4. cluster-1-datanode-1-002       172.16.0.146

5. cluster-1-datanode-1-004       172.16.0.148

由于之前已经安装了Zookeeper,就不再使用Kafka自带的Zookeeper。

首先,在namenode上准备Kafka安装文件,执行如下命令:

cd /opt

wget http://www-eu.apache.org/dist/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz

tar -xvzf kafka_2.11-0.10.0.0.tgz

解压好之后,修改配置文件/opt/kafka_2.11-0.10.0.0/config/server.properties,原配置为:

broker.id=0

zookeeper.connect=localhost:2181

修改为:

broker.id=0

listeners=PLAINTEXT://cluster-1-namenode-1-001:9092

advertised.listeners=PLAINTEXT://cluster-1-namenode-1-001:9092

log.dirs=/opt/kafka_2.11-0.10.0.0/logs/kafka-logs

zookeeper.connect=cluster-1-namenode-1-001:2181,cluster-1-datanode-1-001:2181,cluster-1-datanode-1-003:2181,cluster-1-datanode-1-002:2181,cluster-1-datanode-1-004:2181

这里需要说明的是,默认Kafka会使用ZooKeeper默认的/路径,这样有关Kafka的ZooKeeper配置就会散落在根路径下面,如果你有其他的应用也在使用ZooKeeper集群,查看ZooKeeper中数据可能会不直观,所以强烈建议指定一个chroot路径,直接在zookeeper.connect配置项中指定。

由于kafka-logs不存在,创建并给与权限:

cd /opt/kafka_2.11-0.10.0.0/logs

mkdir kafka-logs

chmod -R 777 kafka-logs

然后,将配置好的文件同步到datanode节点上:

scp -r /opt/kafka_2.11-0.10.0.0/ cluster-1-datanode-1-001:/opt/

scp -r /opt/kafka_2.11-0.10.0.0/ cluster-1-datanode-1-003:/opt/

scp -r /opt/kafka_2.11-0.10.0.0/ cluster-1-datanode-1-002:/opt/

scp -r /opt/kafka_2.11-0.10.0.0/ cluster-1-datanode-1-004:/opt/

并修改/opt/kafka_2.11-0.10.0.0/config/server.properties内容:

broker.id=1

listeners=PLAINTEXT:// cluster-1-datanode-1-001:9092

advertised.listeners=PLAINTEXT:// cluster-1-datanode-1-001:9092

# 在cluster-1-datanode-1-001修改

broker.id=2

listeners=PLAINTEXT:// cluster-1-datanode-1-002:9092

advertised.listeners=PLAINTEXT:// cluster-1-datanode-1-002:9092

# 在cluster-1-datanode-1-002修改

broker.id=3

listeners=PLAINTEXT:// cluster-1-datanode-1-003:9092

advertised.listeners=PLAINTEXT:// cluster-1-datanode-1-003:9092

# 在cluster-1-datanode-1-003修改

broker.id=4

listeners=PLAINTEXT:// cluster-1-datanode-1-004:9092

advertised.listeners=PLAINTEXT:// cluster-1-datanode-1-004:9092

# 在cluster-1-datanode-1-004修改

因为Kafka集群需要保证各个Broker的id在整个集群中必须唯一,需要调整这个配置项的值。

通过检查进程状态,使用守护进程模式启动kafka,保证kafka集群启动成功,并且kafka不会自动关闭:

./kafka-server-start.sh -daemon /opt/kafka_2.11-0.10.0.0/config/server.properties &

分别启动节点上的kafka。

测试kafka的状态

  1. 在namenode上创建mytest主题(kafka有几个,replication-factor就填几个)

[root@cluster-1-namenode-1-001 bin]# ./kafka-topics.sh --create --topic mytest --replication-factor 5 --partitions 2 --zookeeper cluster-1-namenode-1-001:2181

Created topic "mytest".

[root@cluster-1-namenode-1-001 bin]#

  1. 在namenode上查看刚才创建的mytest主题

[root@cluster-1-namenode-1-001 bin]# ./kafka-topics.sh --list --zookeeper cluster-1-namenode-1-001:2181

idoall

idoall_testTopic

my_test

mytest

test

[root@cluster-1-namenode-1-001 bin]#

  1. 在datanode1上发送消息至kafka,发送消息“this is for test”

[root@cluster-1-datanode-1-001 bin]# ./kafka-console-producer.sh --broker-list cluster-1-namenode-1-001:9092 --sync --topic mytest

this is for test

  1. 在datanode2上开启一个消费者,模拟consumer,可以看到刚才发送的消息

[root@cluster-1-datanode-1-002 bin]# ./kafka-console-consumer.sh --zookeeper cluster-1-namenode-1-001:2181 --topic mytest --from-beginning

this is for test

^CProcessed a total of 1 messages

[root@cluster-1-datanode-1-002 bin]#

kafka_2.11-0.10.0.0安装步骤的更多相关文章

  1. QualityCenter10+Oracle10.2.1.0.1+Win2003SP2企业版安装步骤

    HpQualityCenter10+Oracle10.2.1.0.1+Win2003SP2企业版安装步骤: 1.点击setup.exe,等待,知道出现以下界面,然后按“下一步” 2.出现如下界面,接受 ...

  2. cron 表达式0 0/10 * * * 与 0 */10 * * *的区别

    0 0/10 * * * 与 0 */10 * * * 的差别在于什么地方.在说这两者的差别之前,先说下各个字符代表的含义.0代表从0分开始,*代表任意字符,/代表递增. 0 0/10 * * *代表 ...

  3. Ubuntu11.10 带图形安装步骤详解

    不多说,直接上干货! 成功!  关于Ubuntu的网络设置.静态IP设置,见 Ubuntukylin-14.04-desktop( 不带分区)安装步骤详解 Ubuntukylin-14.04-desk ...

  4. 高版本mysql8.0解压版安装步骤

    解压版安装操作官网下载: mysql-installer-community-8.0.12.0.msi如上操作: http://www.cnblogs.com/elfin/p/9429877.html ...

  5. Kafka0.10.2.0分布式集群安装

    一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh/p/6623530.html 1.2 Scala 参见博文:http://www.cnblogs. ...

  6. centos7.6下编译安装zabbix4.0.10长期支持版

    一.安装数据库,这里使用的是percona-server5..24版本 配置如下 [root@zabbix4_clone:~]# cat /etc/my.cnf # Example MySQL con ...

  7. hive 0.10 0.11新增特性综述

    我们的hive版本升迁经历了0.7.1 -> 0.8.1 -> 0.9.0,并且线上shark所依赖的hive版本也停留在0.9.0上,在这些版本上有我们自己的bug fix patch和 ...

  8. redis4.0.10安装与常用命令

    ----------- redis安装 ------------------------------------------- 安装reids:https://redis.io/download (4 ...

  9. Kakfa集群(2.11-0.10.1.0)版本滚动升级方案

    Kafka集群版本升级(2.11-0.10.1.0)升级(2.11-0.10.2.2) 官网升级说明: 一.系统环境Zookeeper集群:172.16.2.10172.16.2.11172.16.2 ...

  10. kafka 0.10.2 cetos6.5 集群部署

    安装 zookeeper http://www.cnblogs.com/xiaojf/p/6572351.html安装 scala http://www.cnblogs.com/xiaojf/p/65 ...

随机推荐

  1. Haskell 笔记(三)类型系统

    类型 (Type) Haskell的类型系统式静态类型系统,在编译的时候就知道数据类型,所以不同类型的值运算在编译的时候就会报错,比如用布尔值和整数运算,在C语言中这种运算就不会报错. Haskell ...

  2. swift 动态获取label宽度或高度

    func getLabHeigh(labelStr:String,font:UIFont,width:CGFloat) -> CGFloat { let statusLabelText: NSS ...

  3. 用Bottle开发web程序(一)

    Bottle Bottle是一个轻量级的web app框架.相较与django等框架,bottle几乎没有任何依赖,而且只有一个文件.而相对于python默认的SimpleHTTPServer,功能更 ...

  4. 浅谈java垃圾回收机制

    今天看thinking in java,里面很详细的谈到java垃圾回收器机制,看完后让我对这神秘的区域有一定的了解,特写一些小总结记录下来. 分两点来说. 第一点:Object.finalize() ...

  5. 数据库中的null问题

    在数据库中有些列的值可以为null,这一篇,我们围绕数据库中的null来讲述. 1. null与 “”.0的区别   数据库中的null表示——不知道,“”——一个空字符串,0则是一个数值.  所以n ...

  6. TMCache

    TMCache设计的目的是用于存储临时持久化对象的开源iOS/OS  key/value缓存类库,减少重复创建像下载数据.缓慢的处理结果这样的昂贵性能花销.TMCache由两个本身相似的存储组成,一个 ...

  7. 前端——CSS笔记

    CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小.颜色.字体加粗等. p{ font-size:12px; c ...

  8. LoadLibraryW 参数问题

    error C2664: "LoadLibraryW": 不能将参数1 从"const char [8]"转换为"LPCWSTR" 右击工程 ...

  9. mysql的数据类型与列属性

  10. CodeForces 645D Robot Rapping Results Report

    二分,拓扑排序. 二分答案,然后进行拓扑排序检查,若某次发现存在两个或者两个以上入度为$0$的节点,那么不可行. #pragma comment(linker, "/STACK:102400 ...