Kafka 0.10 安装及使用

本文详细介绍了Kafka 0.10的安装步骤,包括操作系统配置、Java安装、Zookeeper和Kafka的部署,以及Kafka的使用和开发要点。通过主机规化、端口配置、SSH免密登录等操作,确保多节点集群的顺畅运行。同时,文章还讲解了Producer和Consumer的实现细节,帮助读者深入理解Kafka的工作机制。
摘要由CSDN通过智能技术生成

1    总体说明

笔记本:i5第六代,16G内存,256G固态硬盘

使用VirtualBox 5.0.22建立3台虚拟机。

2    主机规化

主机名

IP

用途

master

192.168.56.101

 

slave1

192.168.56.102

 

slave2

192.168.56.103

 

 

3    目录规化

组件

目录

说明

JDK

/usr/java/jdk1.8.0_92

ln -s /usr/java/jdk1.8.0_92 /usr/java/default

zookeeper

/opt/zookeeper

 

kafka

/opt/kafka

 

各输出目录的根

/var/kafka/

/var/zookeeper/

 

 

 

 

 

4    端口规化

端口

说明

9092

 

2888

ZooKeeper,如果是Leader,用来监听Follower的连接

3888

ZooKeeper,用于Leader选举

2181

ZooKeeper,用来监听客户端的连接

 

5    操作系统配置

5.1   OS安装

l  使用CentOS 6.5版

l  磁盘划分:

/boot  500MB  ext4 boot partition # 迫使主分区

swap   2GB swap # 与物理内存一样大

/      剩余空间 ext4 # 迫使主分区

/data1 sda所有空间 ext4

/data2 sdb所有空间 ext4

l  安装软件:sysstat , httpd, tftp-server, ntp

启动sysstat :/etc/init.d/sysstat start

设置sysstat自启动:checkfig sysstat on

安装pssh

wget https://pypi.python.org/packages/source/p/pssh/pssh-2.3.1.tar.gz

tar zxf pssh-2.3.1.tar.gz

cd pssh-2.3.1

python setup.py install

pssh   多主机并行运行命令

pscp   传输文件到多个hosts,他的特性和scp差不多

pslurp   从多台远程机器拷贝文件

pnuke   kill远程机器的进程

pslurp   从远程主机考本文件到本地

prsync   使用rsync协议从本地计算机同步到远程主机

5.2   配置SSH免密登陆

原理:就是我把我的公钥放到你的authorized_keys里面,然后我就可以ssh无密码登录你了

5.2.1 配置规则

u  NameNode 能免密码登录所有的 DataNode

u  SecondaryNameNode 能免密码登录所有的 DataNode

u  NameNode 能免密码登录自己

u  SecondaryNameNode 能免密码登录自己

u  NameNode 能免密码登录 SecondaryNameNode

u  SecondaryNameNode 能免密码登录 NameNode

u  DataNode 能免密码登录自己

u  DataNode 不需要配置免密码登录 NameNode、SecondaryNameNode和其它 DataNode。

5.2.2 配置步骤

l  在master(NameNode)上执行:

cd ~

ssh-keygen -t rsa # 一路回车。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ssh localhost # 验证本机无密码登陆

ssh master # 验证本机无密码登陆

for ip in `seq 1 2`; do scp ~/.ssh/authorized_keysroot@slave$ip:~/keys.master; done

l  在slave1(SecondaryNameNode, DataNode)上执行:

cd ~

ssh-keygen -t rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ssh localhost # 验证本机无密码登陆

ssh slave1 # 验证本机无密码登陆

cat ~/keys.master >> ~/.ssh/authorized_keys # 实现master免密码登陆slave1

scp ~/.ssh/id_rsa.pub root@slave2:~/keys.slave1

scp ~/.ssh/id_rsa.pub root@master:~/keys.slave1

master主机上执行:cat ~/keys.slave1 >> ~/.ssh/authorized_keys

l  在slave2(DataNode)上执行:

cd ~

ssh-keygen -t rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ssh localhost # 验证本机无密码登陆

ssh slave2 # 验证本机无密码登陆

cat ~/keys.master >> ~/.ssh/authorized_keys

cat ~/keys.slave1 >> ~/.ssh/authorized_keys

l  免密码登陆验证

master(NN)登录所有节点

slave1(SNN)登录所有的 DataNode(slave2)

slave1(SNN)登录NameNode(master)

5.3   系统配置

每台主机执行以下操作:

1.  修改hosts&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值