安装包准备
- zookeeper-3.4.8.tar
- kafka_2.11-0.10.1.0.tar
- apache-storm-1.1.0.tar
环境准备
三台服务器:
- 192.168.1.111
- 192.168.1.112
- 192.168.1.113
修改hosts文件:
vim /etc/hosts
192.168.1.111 master
192.168.1.112 slave01
192.168.1.113 slave02
zookeeper安装
- 解压zookeeper安装包
- 将conf下面原来的配置文件重命名为zoo.cfg
vim zoo.cfg
#数据文件路径(需要先创建好文件)
dataDir=/opt/zookeeper/zkData
#日志路径(需要先创建好文件)
dataLogDir=/opt/zookeeper/zkDataLog
server.1=master:2888:3888
server.2=slave01:2888:3888
server.3=slave02:2888:3888
在上面dataDir文件路径文件夹下面创建一个名为 myid的文件,内容为server.x=y:2888:3888中的x的值
启动zookeeper
分别将三台服务器的zookeeper都启动
zkServer.sh start
jps命令查看进程
用zkServer.sh status命令查看zookeeper状态(leader与follower)
storm安装
- 解压storm安装包
- 修改配置文件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