storm集群搭建

JDK
storm1.0.0 官方要求 JDK1.7 及以上,本次实验使用 JDK1.8
java version "1.8.0_91"
zookeeper 版本
zookeeper-3.4.9.tar.gz

分配机子职能

由于机子数量不足,一台机子可能有多个职能。
zookeeper
172.24.132.173
172.24.132.143
172.24.132.142
nimbus
172.24.132.174
supbervisor
172.24.132.143
172.24.132.142

主机名与 IP 的映射

编辑各个机子的 /etc/hosts 文件,将主机名称与 IP 的对应关系加上,例如:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.24.132.142  CLTQ-132-142

配置 jdk

  1. 用文本编辑器打开/etc/profile
  2. 在profile文件末尾加入:

    export JAVA_HOME=/usr/local/lifecycle/jdk1.8.0_91
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  3. source /etc/profile 使修改生效

注意点:

  1. 你要将 /usr/local/lifecycle/jdk1.8.0_91 改为本机 jdk安装目录
  2. linux下用冒号 : 来分隔路径
  3. CLASSPATH中当前目录 . 不能丢,把当前目录丢掉也是常见的错误。
  4. export是把这三个变量导出为全局变量。
  5. 大小写必须严格区分。

安装 zookeeper 集群

zookeeper-3.4.9.tar.gz 解压到:/usr/local/

sudo tar -C /usr/local -xzf zookeeper-3.4.9.tar.gz

配置 zookeeper 的环境变量(可选)

配置 zookeeper 的环境变量,这一步是可选的,配置之后能够全局使用 zookeeper 相关的命令,没有配置则需要到 zookeeper 的安装目录下执行命令
添加如下配置到 /etc/profile 文件的最后,并通过命令 source /etc/profile 命令使修改后的配置生效

#ZOOKEEPER
ZOOKEEPER=/usr/local/zookeeper-3.4.9
PATH=$PATH:$ZOOKEEPER/bin

修改 zookeeper 的配置文件

首先将 /usr/local/zookeeper-3.4.6/conf/zoo_sample.cfg 文件复制一份,并更名为 zoo.cfg。如果不需要配置集群,则不修改修改 zoo.cfg 文件。要配置集群,则需要将 zookeeper 集群信息通过 server 配置。

tickTime=2000  
initLimit=10  
syncLimit=5  
dataDir=/usr/local/zookeeper-3.4.6/data
dataLogDir=/usr/local/zookeeper-3.4.6/log
clientPort=2181  
server.1=172.24.132.173:2888:3888
server.2=172.24.132.143:2888:3888
server.3=172.24.132.142:2888:3888

server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

根据 dataDir 和 dataLogDir 变量创建相应的目录,建议优先创建,因为有可能使用的 linux 账户权限不足,zookeeper 无法自动创建这几个目录。

创建 myid 文件

在配置文件 zoo.cfg 中 dataDir 所指路径 /usr/local/zookeeper-3.4.6/data 下,新建 myid 文件,并写入 zoo.cfg 文件的 server.A 中 A 的数值,在不同机器上的该文件中填写相应的值。本次部署中,172.24.132.142 的 myid 文件应该写入数值 3172.24.132.143 的 myid 文件应该写入数值 2172.24.132.173 的 myid 文件应该写入数值 1

启动 zookeeper

执行命令 zkServer.sh start 将会启动 zookeeper。而执行命令 zkServer.sh stop 将会停止 zookeeper

通过 jps 命令,可以看到 zookeeper 的进程名:QuorumPeerMain。以及执行命令 zkServer.sh status 查看 zookeeper 集群状态,如下所示:

#172.24.132.142
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg  
Mode: follower  

#172.24.132.143
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: leader  

#172.24.132.173  
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg  
Mode: follower  

storm 集群部署

apache-storm-1.0.0.tar.gz 解压到: /usr/local/

sudo tar -C /usr/local -xzf apache-storm-1.1.0.tar.gz

修改配置

添加如下几个主要参数就可以

storm.zookeeper.servers:
    - "172.24.132.142"
    - "172.24.132.143"
    - "172.24.132.173"

storm.zookeeper.port: 2181
storm.local.dir: "/usr/local/apache-storm-1.0.0/data"

nimbus.seeds: ["172.24.132.174"]

supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
  • storm.zookeeper.serverszookeeper 集群的 IP
  • storm.zookeeper.portzookeeper 集群的端口,如果不是默认端口 2181 则需要设置
  • nimbus.seeds:可以作为 nimbus 的机子

拷贝配置完成的软件

将配置修改完成的软件拷贝到其他机子上:

scp -r apache-storm-1.0.0 172.24.132.142:/usr/local/

启动 nimbus 和 supervisor

nimbus 与 supervisor 可以部署在同一台机子,但是建议分开,避免相互影响。
172.24.132.174 后台运行 nimbus

bin/storm nimbus >/dev/null 2>&1 &

172.24.132.142 172.24.132.143后台运行 supervisor

bin/storm supervisor >/dev/null 2>&1 &

172.24.132.174 后台运行 storm ui
storm ui 得要在 nimbus 机子上运行,不能够在 supervisor 机子上运行

bin/storm ui >/dev/null 2>&1 &
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【课程大纲】 01.Storm项目实战课程大纲 02.CDH5搭建之CM5安装部署 03.CDH5搭建和CM界面化集群管理 04.Hadoop、HBase、Zookeeper集群管理和角色分配 05.Kafka基础知识和集群搭建 06.Kafka基本操作和最优设置 07.Kafka Java API 简单开发测试 08.storm-kafka 详解和实战案例 09.S图表框架HighCharts介绍 10.HBase快速入门 11.基于HBase的Dao基类和实现类开发一 12.基于HBase的Dao基类和实现类开发二 13.项目1-地区销售额-需求分析和架构设计 14.项目1-地区销售额-Spout融合Kafka Consumer及线程安全测试 15.项目1-地区销售额-Bolt业务逻辑处理一 16.项目1-地区销售额-优化Bolt支持重启及结果数据核查 17.项目1-地区销售额-HighCharts图表开发一及Web端架构设计 18.项目1-地区销售额-HTTP长链接实现实时推送 19.项目1-地区销售额-HighCharts图表开发二及jquery运用 20.项目1-地区销售额-Web端完善和细节优化 21.项目1-地区销售额-项目发布及总结 22.项目1-地区销售额-项目需求分析和分区Trident Spout开发 23.项目1-地区销售额-Trident代码开发一 24.项目1-地区销售额-Trident代码开发二 25.项目1-地区销售额-基于HBase存储的State运用 26.项目2-省份销售排行-双纵轴HighCharts图表开发一 27.项目2-省份销售排行-双纵轴HighCharts图表开发二 28.项目2-省份销售排行-双纵轴HighCharts图表开发三 29.项目2-省份销售排行-前台和图表交互开发和Top N实现 30.项目2-省份销售排行-Top N展示优化和项目开发思路总结 31.项目2-效果展示及项目3需求分析梳理 32.项目3-非跳出UV-Storm topology开发一 33.项目3-非跳出UV-Storm topology开发二 34.项目3-非跳出UV-Web端Servlet开发 35.项目3-非跳出UV-Web端Highcharts图表开发 36.项目3-非跳出UV-项目效果调试 37.项目3-非跳出UV-项目整体运行 38.项目3-非跳出UV-升级图表增加柱图一 39.项目3-非跳出UV-升级图表增加柱图二 40.JStorm介绍 41.会员问题收集和解答

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值