搭建kafka2.12-1.0.0+storm1.1.1集群

16 篇文章 1 订阅
8 篇文章 0 订阅

各应用程序及版本

  • CentOS65
  • jdk1.8.0_121
  • storm1.1.1
  • zookeeper3.4.10
  • kafka2.12-1.0.0
  • redis4.0.5

storm、zookeeper、kafka可从apache.org网站获取相应版本,建议版本与本文档一致;否则后续的示例程序可能会有乱码等不可知异常。

服务器IP及拓朴结构


storm安装配置

storm安装在/app/apache-storm-1.1.1

四台服务器 创建本地输出路径 /data/storm

mkdir /data
mkdir /data/storm

四台服务器 {storm_home}/conf/storm.yaml配置内容

storm.zookeeper.servers:
     - "CentOS65M1"
     - "CentOS65M2"
     - "CentOS65M3"

nimbus.seeds: ["CentOS65App"]

storm.zookeeper.port: 2181
storm.local.dir: "/data/storm"
ui.port: 9099

supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703

四台服务器配置/etc/hosts,为方便后续部署,四台服务器已经设置了ssh免密登录

172.16.2.105 CentOS65App
172.16.2.106 CentOS65M1
172.16.2.107 CentOS65M2
172.16.2.108 CentOS65M3

四台服务器配置环境变量 /etc/profile

export STORM_HOME=/app/apache-storm-1.1.1
export STORM_EXT_CLASSPATH=$STORM_HOME/extlib
export STORM_EXT_CLASSPATH_DAEMON=$STORM_HOME/extlib-daemon

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$REDIS_HOME/bin:$ZOOKEEPER_HOME/bin:$STORM_HOME/bin:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin:$PATH
加载环境变量
source /etc/profile

zookeeper安装配置

zookeeper安装在 /app/zookeeper-3.4.10
三台supervisor服务器的 {zookeeper_home}/conf/zoo.cfg

dataDir=/data/zookeeper
clientPort=2181
server.106=CentOS65M1:2888:3888
server.107=CentOS65M2:2888:3888
server.108=CentOS65M3:2888:3888
三台supervisor服务器创建并设置 /data/zookeeper/myid
mkdir /data/zookeeper
touch /data/zookeeper/myid
echo {主机IP最后一节,如106} > /data/zookeeper/myid
#即/data/zookeeper/myid的内容为106、107、108之一,且三台服务器的myid内容不同。
三台supervisor服务器配置然后加载环境变量/etc/profile
export ZOOKEEPER_HOME=/app/zookeeper-3.4.10
export ZOO_LOG_DIR=/data/zookeeper  #有了此项配置,便不在当前路径生成zookeeper.out

export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$STORM_HOME/bin:$KAFKA_HOME/bin:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin:$PATH

kafka安装配置

kafka安装在/app/kafka_2.12-1.0.0

三台supervisor服务器的 {kafka_home}/config/server.properties

broker.id=106            #此处与zookeeper/myid相同
log.dirs=/data/kafka     #作用同storm、zookeeper,统一输出路径,便于问题集中排查
zookeeper.connect=CentOS65M1:2181,CentOS65M2:2181,CentOS65M3:2181
三台supervisor服务器 创建输出路径 /data/kafka
mkdir /data/kafka
将来kafka所有的topic消息流都会以压缩文件的方式存储在这里,所以清理老旧topic也需要在用kafka-topics.sh删除topic后,再把这里的topic实际文件夹删除,可以节省不少的磁盘空间。

三台supervisor服务器配置然后加载环境变量/etc/profile

export KAFKA_HOME=/app/kafka_2.12-1.0.0

export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$STORM_HOME/bin:$KAFKA_HOME/bin:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin:$PATH

redis安装配置

redis安装在nimbus服务器CentOS65App的 /app/redis/

如果需要设置访问密码,则配置{redis_home}/conf/redis.conf

requirepass inputYourPasswordHere
配置并加载环境变量/etc/profile
export REDIS_HOME=/app/redis

export PATH=$JAVA_HOME/bin:$REDIS_HOME/bin:$STORM_HOME/bin:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin:$PATH

设置防火墙

设置nimbus服务器防火墙

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6627 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9099 -j ACCEPT
特别注意这里的6627端口一定要打开,storm ui的nimbus summary可以看到此端口

设置supervisor服务器防火墙

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6700 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6701 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6702 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6703 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9092 -j ACCEPT
启动运行集群环境

按如下顺序启动集群:

在三台supervisor服务器上启动zookeeper

zkServer.sh start
在nimbus服务器CentOS65App启动nimbus和ui
storm nimbus > /data/storm/nimbus.log 2>&1 &
storm ui > /data/storm/ui.log 2>&1 &
在三台supervisor服务器启动supervisor
storm supervisor > /data/storm/supervisor.log 2>&1 &
在三台supervisor服务器启动kafka
kafka-server-start.sh /app/kafka_2.12-1.0.0/config/server.properties > /data/kafka/kafka.log 2>&1 &

启动完成后在浏览器输入以下地址进入storm ui

http://centos65app:9099/index.html


示例代码

代码亲测可用,具体执行顺序,请参考下载项目的README.md的[Order of execution]部分。

http://download.csdn.net/download/wender/10234046


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值