storm集群搭建
storm集群也是由主节点和从节点组成的。
storm版本的变更:
storm0.9.x
storm0.10.x
storm1.x
前面这些版本里面storm的核心源码是由java+clojule组成的。
storm2.x
后期这个版本就是全部用java重写了。
(阿里在很早的时候就对storm进程了重写,提供了jstorm,后期jstorm也加入到apachestorm
负责使用java对storm进行重写,这就是storm2.x版本的由来。)
注意:
在storm0.9.x的版本中,storm集群只支持一个nimbus节点,主节点是存在问题。
在storm0.10.x以后,storm集群可以支持多个nimbus节点,其中有一个为leader,负责真正运行,其余的为offline。


主节点(控制节点 master)【主节点可以有一个或者多个】
职责:负责分发代码,监控代码的执行。
nimbus:
ui:可以查看集群的信息以及topology的运行情况
logviewer:因为主节点会有多个,有时候也需要查看主节点的日志信息。

从节点(工作节点 worker)【从节点可以有一个或者多个】
职责:负责产生worker进程,执行任务。
supervisor:
logviewer:可以通过webui界面查看topology的运行日志


规划一下集群部署情况
主节点:
192.168.1.100
nimbus
ui
logviewer
192.168.1.101
nimbus
logviewer
从节点
192.168.1.101
supervisor
logviewer
192.168.1.102
supervisor
logviewer
开始部署storm集群(centos6.8):
部署之前需要确认一下服务器的基本环境
storm集群部署需要依赖如下环境:
=======================================
python2.6.6及以上【centos6.8自带】
jdk1.7【需要安装】
集群节点之间ssh免密码登陆【需要配置】
zookeeper【storm集群是依赖于zookeeper的,需要安装】
=======================================
jdk的安装【集群的所有节点都需要安装】
1:下载jdk1.7的压缩包。解压。
2:在/etc/profile文件中配置JAVA_HOME环境变量
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
集群节点之间ssh免密码登陆
建议百度一下 ssh免密码登陆
zookeeper的安装【建议先安装一个单机的服务】
1:首先下载zookeeper的安装包 zookeeper-3.4.6.tar.gz
2:上传到192.168.1.100这台服务器的/usr/local目录下
3:解压,重命名
cd /usr/local
tar -zxvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper
4:修改配置文件
cd zookeeper/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
dataDir=/usr/local/zookeeper/data
5:启动zk单机服务
cd zookeeper
bin/zkServer.sh start
开始安装storm集群
1:下载storm的安装包apache-storm-1.0.2.tar.gz
2:上传到192.168.1.100这台服务器的/usr/local目录下
3:解压,重命名
tar -zxvf apache-storm-1.0.2.tar.gz
mv apache-storm-1.0.2 storm
4:修改配置文件
cd storm/conf
vi storm.yaml
storm.zookeeper.servers:
- "192.168.1.100"
nimbus.seeds: ["hadoop100","hadoop101"]
##注意:nimbus.seeds指定的时候最好指定主机名,否则在webui界面查询的时候会重复显示节点信息。
storm.local.dir: "/usr/local/storm/tmp"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
【注意:yaml文件的格式,属性必须顶格,缩进只能使用空格,一点不能使用制表符。】
5:把修改后的storm目录拷贝到其他所有主从节点【主从节点配置完全一样】
scp -rq /usr/local/storm 192.168.1.101:/usr/local
scp -rq /usr/local/storm 192.168.1.102:/usr/local
6:分别启动主从节点的进程
192.168.1.100
nimbus:nohup bin/storm nimbus >/dev/null 2>&1 &
ui:nohup bin/storm ui >/dev/null 2>&1 &
logviewer:nohup bin/storm logviewer >/dev/null 2>&1 &
192.168.1.101
nimbus:nohup bin/storm nimbus >/dev/null 2>&1 &
logviewer:nohup bin/storm logviewer >/dev/null 2>&1 &
supervisor:nohup bin/storm supervisor >/dev/null 2>&1 &
192.168.1.102
supervisor:nohup bin/storm supervisor >/dev/null 2>&1 &
logviewer:nohup bin/storm logviewer >/dev/null 2>&1 &
7:访问storm的ui界面来查看集群信息
http://192.168.1.100:8080/
问题排查:
1:如果发现无法在webui界面查看日志信息
只可能是两个问题
一:可能是logviewer进程没启动
二:主机名和ip的映射关系没有配置
2:服务器的8080端口被占用导致ui进程启动失败
修改storm.yaml文件
ui.port: 8081
最完整的属性配置在storm-core.jar中的defaults.yaml文件中

storm1.x支持主节点nimbus高可用 多master集群部署相关推荐

  1. LVS+keepalived高可用负载均衡集群部署(一) ----数据库的读写分离

    l  系统环境: RHEL7 l  硬件环境:虚拟机 l  项目描述:为解决网站访问压力大的问题,需要搭建高可用.负载均衡的 web集群. l  架构说明:整个服务架构采用功能分离的方式部署.后端采用 ...

  2. RHCS套件实现高可用负载均衡集群(二)——Fence设备

    注:此博文在博文"套件实现高可用负载均衡集群(一)"的基础上完成 环境: 物理机:172.25.54.250,作为fence server1:172.25.54.1 , serve ...

  3. Keepalived+Nginx实现高可用负载均衡集群

    转载自 https://www.cnblogs.com/mrlapulga/p/6857294.html 一 环境介绍 1.操作系统 CentOS Linux release 7.2.1511 (Co ...

  4. Redis 高可用之哨兵集群

    Redis 高可用之哨兵集群 前言 哨兵集群 启动并初始化 Sentinel 初始化 Sentinel 状态 初始化Sentinel监视的主服务器列表 创建连向主服务器的网络连接 获取主服务器信息 获 ...

  5. 轻松实现基于Heartbeat的高可用web服务集群

    高可用集群就是为了保证某项服务能够时时在线,我们可以通过几个9来衡量一个高可用集群提供服务的稳定性,例如5个9的高可用集群必须保证服务一年在线的时间占99.999%,也就是说一年的时间中仅允许服务电线 ...

  6. RHCS套件实现高可用负载均衡集群(三)——共享存储

    注:此博文在博文"RHCS套件实现高可用负载均衡集群(二)"的基础上完成 实验开始前设置实验环境 target端配置--server3 [root@server3 ~]# yum ...

  7. MyCAT+MySQL 搭建高可用企业级数据库集群

    第1章 课程介绍 课程介绍 1-1 MyCAT导学 试看 1-2 课程介绍 第2章 MyCAT入门 这一章中,我们将回顾了垂直切分,水平切分,分库分表等基础概念,然后快速回如何安装和启动MyCAT的, ...

  8. 高可用的MongoDB集群

    高可用的MongoDB集群 MongoDB 是一个可扩展的高性能,开源,模式自由,面向文档的数据库. 它使用 C++编写.MongoDB 包含一下特点: l  面向集合的存储:适合存储对象及JSON ...

  9. 百度可观测系列 | 如何构建亿级指标的高可用 TSDB 存储集群?

    [百度云原生导读]在前一篇<采集亿级别指标,Prometheus 集群方案这样设计中>,我们为大家介绍了针对针对亿级指标场景,百度云原生团队基于Prometheus 技术方案的研究,包括资 ...

  10. 总结 Underlay 和 Overlay 网络,在k8s集群实现underlay网络,网络组件flannel vxlan/ calico IPIP模式的网络通信流程,基于二进制实现高可用的K8S集群

    1.总结Underlay和Overlay网络的的区别及优缺点 Overlay网络:  Overlay 叫叠加网络也叫覆盖网络,指的是在物理网络的 基础之上叠加实现新的虚拟网络,即可使网络的中的容器可 ...

最新文章

  1. c++虚函数_「C++」对象模型和虚函数
  2. CENTOS下SAMBA服务不能开启的解决方法
  3. hdu 1301 Jungle Roads 最小生成树
  4. [Debugging]分析博客园提交评论的校验规则
  5. 伯纳德•罗森伯格先生参加华为技术2016首届国际光电连接技术研讨会
  6. BZOJ4327:[JSOI2012]玄武密码(SAM)
  7. PHP以xml形式获取POST数据
  8. python控制多台手机,用python同时启动多个appium,并让多个手机同时执行脚本
  9. $.getJSON()应用
  10. php微信段子,年度挤进前十名的微信段子,笑死了
  11. HTML5实现涂鸦板
  12. Memcached主主复制+Keepalived高可用架构
  13. SpringBoot→整合数据层、@Valid参数校验、事务propagation属性、动态SQL、AOP监控执行时间
  14. Hooks——钩子概览
  15. 两种获取python版本的方法
  16. 初级程序员如何写项目周报和月报
  17. 《计算机网络微课堂》一、计算机网络概述(你确定不点进来看看?)
  18. 游戏测试成长之路02-测试用例
  19. s3c2440 linux3.2.65 uda134x声卡卡顿,杂音修复
  20. 常用概率分布及其数学期望和方差

热门文章

  1. mysql 命令之工作小结
  2. 21 PagerTabStrip-PagerTitleStrip-viewPager
  3. [转载经验] 探亲签证申请
  4. 经常用到的一个分页存储过程
  5. 测试 jdbc 中连接关闭的时机
  6. 2015 ACM/ICPC Asia Regional Changchun Online HDU - 5441 (离线+并查集)
  7. mysql实现自动更新时间戳
  8. nj04---事件回调函数
  9. 方法级别的java日志输出控制(一)
  10. java jdbc 连接mysql 数据库