设为首页 加入收藏

TOP

kafka+storm+zookeeper集群部署
2019-02-07 02:29:34 】 浏览:77
Tags:kafka storm zookeeper 集群 部署

1.安装包准备

storm:apache-storm-1.1.0.tar

kafka:kafka_2.11-0.10.1.0

zookeeper:zookeeper-3.4.8.tar

jdk:jdk-8u171-linux-x64.tar

2.环境准备

此次安装准备三台服务器:分别是 192.168.2.24,192.168.2.41,192.168.2.42

修改hostname和ip映射关系

vim /etc/hosts

在里面新增

192.168.2.24 scrs01
192.168.2.41 scrs02

192.168.2.42 scrs03

保存退出

vim /etc/sysconfig/network

HOSTNAME=scrs01

保存退出

然后让修改生效;

hostname scrs01

注意:这里每个服务器都需要配置(ip和hostname映射,用到哪些就配置哪些),可以通过ping hostname看是否生效

3.jdk安装

采用tar命令解压jdk安装包

tar -zxvf /home/kafkazookeeperstorm/source/jdk-8u171-linux-x64.tar.gz

修改环境变量(最后一起贴出来)

vim /etc/profile

使环境变量生效

source /etc/profile

然后查看是否生效,可以用 java -version查看是否有版本信息

安装完成后,将jdk环境拷贝到其它服务器上

4.zookeeper安装

解压zookeeper安装包

tar -zxvf /home/kafkazookeeperstorm/source/zookeeper-3.4.8.tar.gz

同样需要在profile文件中添加环境变量(最后一起贴出来)

检查环境变量是否生效

zkServer.sh start

如果环境变量没有生效,则会提示找不到zkServer.sh

*修改配置文件

将conf下面原来的配置文件重命名为zoo.cfg,并修改其内容

vim zoo.cfg

内容如下

tickTime=2000
initLimit=10
syncLimit=5
#数据文件路径(需要先创建好文件)
dataDir=/home/kafkastorm/zookeeper/zookeeperData
#日志路径(需要先创建好文件)
dataLogDir=/home/kafkastorm/zookeeper/zookeeperDataLog
#端口
clientPort=2181
#下面配置的是zookeeper集群的配置
server.1=scrs01:2888:3888
server.2=scrs02:2888:3888

server.3=scrs03:2888:3888

注意:上面的内容中,dataDir 和 dataLogDir两个路径需要提前创建好,并有写的权限。server.x 这个 1 2 3可以随便取值。

保存退出

在上面dataDir文件路径文件夹下面创建一个名为 myid的文件,并在里面只写入一个值,就是上面server.x=y:2888:3888中的x的值,注意,每个服务器中这个myid文件的值不一样,需要一一对应。

启动zookeeper

分别将三台服务器的zookeeper都启动

zkServer.sh start

可以通过 jps命令查看是否启动

查看zookeeper状态(可以看到具体哪台服务器是 leader,哪些是 flower)

zkServer.sh status

如果需要测试zookeeper集群是否生效,可以通过客户端连接来测试

zkCli.sh

然后在一台服务器的zookeeper上设置值,其它两台获取值,如果能数据同步,环境搭建完成。

5.storm安装

解压storm安装包

tar -zxvf /home/kafkazookeeperstorm/source/apache-storm-1.1.0.tar.gz

修改配置文件storm.yaml

vim storm.yaml

内容如下(具体每个配置意义可以百度,这里不做详细说明):

下面设置集群主机,让集群中所有的节点可以从主机下载拓扑以及配置文件,主机上运行的就是nimbus,而其他节点就是supervisor进程,这里scrs01为nimbus,而scrs02和scrs03为supervisor

#zookeeper服务列表
torm.zookeeper.servers:
- "scrs01"
- "scrs02"
- "scrs03"
#storm数据目录
storm.local.dir: "/home/kafkazookeeperstorm/storm/data"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
nimbus.host: "scrs01"
drpc.servers:
- "scrs01"
worker.childopts: "-Xmx2048m"

将安装环境拷贝到其它服务器上 scp命令,拷贝完毕后,不需要修改配置文件,检查storm.local.dir文件路径是否存在。

服务启动:

只在主机nimbus节点上启动nimbus服务(scrs01服务器,也指storm配置文件中nimbus.host的服务器)

nohup bin/storm nimbus >> /dev/null &

在supervisor节点服务器上启动 supervisor服务(其它服务器)

nohup bin/storm supervisor >> /dev/null &
在nimbus主机节点启动drpc服务

nohup bin/storm drpc >> /dev/null &

在nimbus主机节点启动ui服务

nohup bin/storm ui >> /dev/null &

通过jps查看core进程是否启动,启动之后,可以通过nimbus主节点服务器的ip访问进入web管理页面:

http://ip:8080/index.html

如果有storm相关内容表示storm环境成功

6.kafka安装

解压kafka安装包

tar -zxvf /home/kafkazookeeperstorm/source/kafka_2.11-0.10.1.0.tgz

修改kafka配置文件server.properties

具体内容如下:

num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connection.timeout.ms=60000
group.initial.rebalance.delay.ms=0
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
#上面是默认配置,下面是需要修改或添加的值
#这个不能重复,集群中的每一个kafka的broker.id都不能重复
broker.id=0
#指定host.name 不然当用java程序连接时,连不上
host.name=192.168.93.130
#数据日志路径
log.dirs=/home/kafkastorm/kafka/datalog
#端口
port=9092
#zookeeper集群服务列表
zookeeper.connect=scrs01:2181,scrs02:2181,scrs03:2181

内容配置完成后,保存退出,环境配置拷贝到其它服务器上,注意修改 配置文件中的 broker.id的值

启动kafka(在启动之前,需要确定zookeeper是否都已启动)

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

注意: & 表示后台启动

启动完成后,可以通过 jps命令查看kafka是否启动

也可以通过zookeeper客户端 zkCli.sh 来查看zookeeper服务中是否有kafka的配置文件夹

还可以通过 kafka的生产者和消费者服务命令来测试是否成功。

备注:环境变量如下,在/ect/profile文件末尾加jdk、zookeeper如下环境变量配置内容JAVA_HOME=/home/kafkazookeeperstorm/jdk/jdk1.8.0_171
CLASS_PATH=.:$JAVA_HOME/lib
ZOOKEEPER_HOME=/home/kafkazookeeperstorm/zookeeper/zookeeper-3.4.8
PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin
export PATH JAVA_HOME CLASS_PATH ZOOKEEPER_HOME

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇kafka安装部署及Unsupported majo.. 下一篇使用pykafka,kafka-python的api..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目