一.Storm的下载

官网下载地址:http://storm.apache.org/downloads.html

这里下载最新的版本storm1.2.2,进入之后选择一个镜像下载

二.Storm伪分布式安装

1.环境准备

JDK 1.7+             验证: java -version
Python 2.6.6+      验证:python -V

2.解压安装包

[admin@node21 software]$ tar zxvf apache-storm-1.2..tar.gz -C /opt/module/

3.创建logs文件目录

[admin@node21 software]$ cd /opt/module/apache-storm-1.2.
[admin@node21 apache-storm-1.2.]$ mkdir logs

4.启动storm

  • 查看帮助
[admin@node21 apache-storm-1.2.]$ ./bin/storm help

帮助如下

[admin@node21 storm-1.2.]$ ./bin/storm help
Commands:
activate
blobstore
classpath
deactivate
dev-zookeeper
drpc
get-errors
heartbeats
help
jar
kill
kill_workers
list
localconfvalue
logviewer
monitor
nimbus
node-health-check
pacemaker
rebalance
remoteconfvalue
repl
set_log_level
shell
sql
supervisor
ui
upload-credentials
version Help:
help
help <command> Documentation for the storm client can be found at http://storm.apache.org/documentation/Command-line-client.html Configs can be overridden using one or more -c flags, e.g. "storm list -c nimbus.host=nimbus.mycompany.com"
  • 启动Zookeeper
[admin@node21 apache-storm-1.2.]$ ./bin/storm dev-zookeeper >> ./logs/zk.out >& &
  • 启动Nimbus
[admin@node21 apache-storm-1.2.]$ ./bin/storm nimbus >> ./logs/nimbus.out >& &
  • 启动Storm UI
[admin@node21 apache-storm-1.2.]$ ./bin/storm ui >> ./logs/ui.out >& &
  • 启动Supervisor
[admin@node21 apache-storm-1.2.]$ ./bin/storm supervisor >> ./logs/supervisor.out >& &
  • 启动Logviewer
[admin@node21 apache-storm-1.2.]$ ./bin/storm logviewer ./logs/logviewer.out 2>&1 &

5.查看进程

6.WebUI查看

WebUI查看地址:http://node21:8080/

三.Storm分布式集群安装

官网集群配置文档:http://storm.apache.org/releases/1.2.2/Setting-up-a-Storm-cluster.html

1.集群部署

IP 节点名称 Jdk,Python Zookeeper Nimbus Supervisor
192.168.100.21 node21 Jdk,Python Zookeeper Nimbus  
192.168.100.22 node22 Jdk,Python Zookeeper   Supervisor
192.168.100.23 node23 Jdk,Python Zookeeper   Supervisor

Zookeeper集群安装参考: CentOS7.5搭建Zookeeper3.4.12集群与命令行操作

2.安装环境解压安装包

[admin@node21 software]$ tar zxvf apache-storm-1.2..tar.gz -C /opt/module/
[admin@node21 software]$ cd /opt/module/
[admin@node21 module]$ mv apache-storm-1.2./ storm-1.2.
[admin@node21 module]$ cd storm-1.2.
[admin@node21 storm-1.2.]$ mkdir logs

3.修改yaml配置文件

[admin@node21 storm-1.2.]$ vi conf/storm.yaml 

1)storm.zookeeper.servers:这是Storm集群的Zookeeper集群中的主机列表。

2)storm.local.dir:Nimbus和Supervisor守护进程需要本地磁盘上的目录来存储少量状态(如jar,confs和类似的东西)。您应该在每台计算机上创建该目录,为其提供适当的权限,然后使用此配置填写目录位置。

3)nimbus.seeds:工作节点需要知道哪些机器是主机的候选者才能下载拓扑罐和confs。

4)supervisor.slots.ports:对于每个工作者计算机,您可以使用此配置配置在该计算机上运行的工作程序数。每个工作人员使用单个端口接收消息,此设置定义哪些端口可以使用。如果您在此处定义了五个端口,那么Storm将分配最多五个工作人员在此计算机上运行。如果定义三个端口,Storm最多只能运行三个端口。默认情况下,此设置配置为在端口6700,6701,6702和6703上运行4个工作程序。

4.分发Storm到其他节点

[admin@node21 module]$ scp -r storm-1.2./ node22:`pwd`
[admin@node21 module]$ scp -r storm-1.2./ node23:`pwd`

5.配置环境变量

[admin@node21 module]$ sudo vi /etc/profile
export STORM_HOME=/opt/module/storm-1.2.
export PATH=$PATH:$STORM_HOME/bin
[admin@node21 module]$ source /etc/profile

6.启动集群

  • 启动zookeeper集群,各个节点执行
$ zkServer.sh start
  • 启动storm集群

node21上启动Nimbus,启动webUI

[admin@node21 storm-1.2.]$ ./bin/storm nimbus >> ./logs/nimbus.out >& &
[admin@node21 storm-1.2.]$ ./bin/storm ui >> ./logs/ui.out >& &

node22和node23启动supervisor,按照配置,每启动一个supervisor就有了4个slots

[admin@node22 storm-1.2.]$ ./bin/storm supervisor >> ./logs/supervisor.out >& &
[admin@node23 storm-1.2.]$ ./bin/storm supervisor >> ./logs/supervisor.out >& &

7.查看进程

8.查看WebUI

WebUI查看地址:http://node21:8080/

9.编写storm服务脚本

node21上   start-stormCluster.sh

#!/bin/bash
echo "******************** 正在启动nimbus服务 *******************"
ssh admin@node21 '/opt/module/storm-1.2.2/bin/storm nimbus >> /opt/module/storm-1.2.2/logs/nimbus.out 2>&1 &'
echo "********************* 正在启动webUi服务 ******************"
ssh admin@node21 '/opt/module/storm-1.2.2/bin/storm ui >> /opt/module/storm-1.2.2/logs/ui.out 2>&1 &'
echo "******************** 正在启动supervisor服务 *******************"
ssh admin@node22 '/opt/module/storm-1.2.2/bin/storm supervisor >> /opt/module/storm-1.2.2/logs/supervisor.out 2>&1 &'
ssh admin@node23 '/opt/module/storm-1.2.2/bin/storm supervisor >> /opt/module/storm-1.2.2/logs/supervisor.out 2>&1 &'
echo "****************** 服务启动成功 *******************"*

给脚本赋权限 :chmod +x 脚本名称

四.故障排除

参考文档:http://storm.apache.org/releases/1.2.2/Troubleshooting.html

Storm(二)CentOS7.5搭建Storm1.2.2集群的更多相关文章

  1. HBase(二)CentOS7.5搭建HBase1.2.6HA集群

    一.安装前提 1.HBase 依赖于 HDFS 做底层的数据存储 2.HBase 依赖于 MapReduce 做数据计算 3.HBase 依赖于 ZooKeeper 做服务协调 4.HBase源码是j ...

  2. CentOS7.5搭建spark2.3.1集群

    一 下载安装包 1 官方下载 官方下载地址:http://spark.apache.org/downloads.html 2  安装前提 Java8         安装成功 zookeeper  安 ...

  3. CentOS7.5搭建Solr7.4.0集群服务

    一.Solr集群概念 solr单机版搭建参考: https://www.cnblogs.com/frankdeng/p/9615253.html 1.概念 SolrCloud(solr 云)是Solr ...

  4. centos7 下搭建hadoop2.9 分布式集群

    首先说明,本文记录的是博主搭建的3节点的完全分布式hadoop集群的过程,环境是centos 7,1个nameNode,2个dataNode,如下: 1.首先,创建好3个Centos7的虚拟机,具体的 ...

  5. CentOS7.5搭建ELK6.2.4集群及插件安装

    一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...

  6. CentOS7.5搭建ES6.2.4集群与简单测试

    一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...

  7. Zookeeper(一)CentOS7.5搭建Zookeeper3.4.12集群与命令行操作

    一. 分布式安装部署 1.0 下载地址 官网首页: https://zookeeper.apache.org/ 下载地址: http://mirror.bit.edu.cn/apache/zookee ...

  8. centos7环境搭建Eureka-Server注册中心集群

    目的:测试和线上使用这套独立的Eureka-Server注册中心集群,目前3台虚拟机集群,后续可直接修改配置文件进行新增或减少集群机器. 系统环境: Centos7x64 java8+(JDK1.8+ ...

  9. 在CentOS7下搭建Hadoop2.9.0集群

    系统环境:CentOS 7 JDK版本:jdk-8u191-linux-x64 MYSQL版本:5.7.26 Hadoop版本:2.9.0 Hive版本:2.3.4 Host Name Ip User ...

随机推荐

  1. 修改home下的中文目录为英文目录

    原文地址:http://blog.csdn.net/esonbest1234/article/details/50729582 习惯问题,喜欢使用fedora为您在home目录下自创建的“桌面”.“文 ...

  2. Django中url()

    使用django的时候,如果我们希望我们编写的view可以被正常访问,就需要配置url. 在django的官方文档中,url()的例子如下: polls/urls.py from django.con ...

  3. 针对TCP连接异常断开的分析

    我们知道,一个基于TCP/IP的客户端-服务器的程序中,正常情况下,我会是启动服务器使其在一个端口上监听请求,等待客户端的连接:通过TCP的三次握手,客户端能够通过socket建立一个到服务器的连接: ...

  4. 20155222 2016-2017-2 《Java程序设计》第7周学习总结

    20155222 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 使用基于方法的语法在 Enumerable 类中调用 Where 方法时(像在 LINQ t ...

  5. 针对用户在个人中心绑定手机认证的一些js代码。

    需求: 1:手机号码校验(格式的校验,手机号码是否已经绑定过)---未实现 2:填完手机号码,点击发送验证码,手机会收到一条信息 3:发送验证码按钮不可用,变成重新发送的倒计时 1):60秒以后又可以 ...

  6. BOOST 之filesystem, path

    目录[-] 使用 boost::filesystem 的第一个程序 清单 1. 用于确定某个文件的类型是否为 Directory 的代码 了解 Boost path 对象 清单 2. 创建 Boost ...

  7. PL/SQ连接oracle,L 新建表的时候, virtual那一列是什么意思

    Virtual标示该栏位是否为虚拟列. https://www.2cto.com/database/201306/216917.html

  8. PyTorch快速入门教程七(RNN做自然语言处理)

    以下内容均来自: https://ptorch.com/news/11.html word embedding也叫做word2vec简单来说就是语料中每一个单词对应的其相应的词向量,目前训练词向量的方 ...

  9. zookeeper zkClient api 使用

    操作步骤: 一.引入zkclient的jar包(maven方式) <dependency> <groupId>com.101tec</groupId> <ar ...

  10. accept系统调用

    /* * For accept, we attempt to create a new socket, set up the link * with the client, wake up the c ...