http://blog.csdn.net/ch717828/article/details/50718783
1. 机器准备
我准备了3台机器 , 其充当的角色分别是
nimbus : 10.101.214.71
zookeeper: 10.101.214.71, 10.101.214.73 , 10.101.214.74
supervisor : 10.101.214.73 , 10.101.214.74
它们之间的关系如图所示:
2.安装java8
可以是其他版本的java ,此处我选择了 java8,3台机器均需要安装
- sudo tar zxvf jdk.tar.gz -C /usr/java
- //解压出的目录名修改成java8
- cd /usr/java
- sudo mv jdk1.8.0 java8
- //修改配置文件
- vim ~/.bashrc
- vim /etc/bashrc
- //添加以下内容
- export JAVA_HOME=/usr/java/java8
- export JRE_HOME=${JAVA_HOME}/jre
- export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
- export PATH=${JAVA_HOME}/bin:$PATH
- //配置生效
- source ~/.bashrc
3.安装Zookeeper
3台机器均需要安装Zookeeper, 安装过程相同,唯一不同的地方在与myid
- //安装zookeeper
- sudo yum install zookeeper -b current
- //配置zookeeper
- vim /home/admin/zookeeper-3.4.3/conf/zoo.cfg
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/home/admin/zookeeper-3.4.3/data
- dataLogDir=/home/admin/zookeeper-3.4.3/data/log
- clientPort=2181
- server.1=10.101.214.71:2888:3888
- server.2=10.101.214.73:2888:3888
- server.3=10.101.214.74:2888:3888
- // 创建log文件夹
- mkdir /home/admin/zookeeper-3.4.3/data/log
- //在 10.101.214.71
- //在/home/admin/zookeeper-3.4.3/data 下创建 myid ,写上 1
- echo 1 >/home/admin/zookeeper-3.4.3/data/myid
- //在 10.101.214.73
- //在/home/admin/zookeeper-3.4.3/data 下创建 myid ,写上 2
- echo 2 >/home/admin/zookeeper-3.4.3/data/myid
- //在 10.101.214.74
- //在/home/admin/zookeeper-3.4.3/data 下创建 myid ,写上 3
- echo 3 >/home/admin/zookeeper-3.4.3/data/myid
- //启动zookeeper
- bin/zkServer.sh start
- //查看zookeeper启动状态
- ps -aux | grep “zookeeper"
- echo srvr | nc 127.0.0.1 2181
4.安装storm
3台机器均需要安装Storm ,配置完全相同
- //下载storm
- sudo wget [url]
- //解压
- sudo unzip -o apache-storm-0.9.2-incubating.zip -d /usr/share/
- //生成一个版本无关的软链接,这种方式便于将来升级版本或回滚版本
- sudo ln -s /usr/share/apache-storm-0.9.2-incubating/ /usr/share/storm
- //修改文件夹权限
- sudo chown -R admin:admin /usr/share/apache-storm-0.9.2-incubating/
- sudo chown -R admin:admin /usr/share/storm
- //将storm的可执行程序软连接到/usr/bin/storm目录下
- sudo ln -s /usr/share/storm/bin/storm /usr/bin/storm
- //将storm的默认配置文件移到/etc/storm下,建立软链接以便storm可以找到它
- sudo mkdir /etc/storm
- sudo chown admin:admin /etc/storm
- //对/usr/share/storm/conf/storm.yaml进行配置
- vim /usr/share/storm/conf/storm.yaml
- storm.zookeeper.servers:
- - "10.101.214.71"
- - "10.101.214.73"
- - "10.101.214.74"
- nimbus.host: "10.101.214.71"
- supervisor.slots.ports: #机器上运行的进程及每个进程使用的端口
- - 6700
- - 6701
- - 6702
- - 6703
- storm.local.dir: "/home/storm" #Nimbus和Supervisor在本地磁盘上的状态缓存信息(jar包, 配置文件等)
5.安装supervisor启动Apache storm
使用supervisor(注意不是 storm supervisor)启动apache storm的原因是: 在apahce storm后台进程因异常原因停止工作时,supervisor会重新启动它们。如果不想使用supervisor ,可以手动启动,具体方法看第6步
- // 安装和启动supervisord服务
- sudo yum install supervisor -b current
- //在/etc/supervisord.conf中配置storm守护进程(遇到一场终止时自动重启)
- vim /etc/supervisord.conf
- //注意 supervisor启动时是非常干净的环境,因此需要配置上环境变量
- environment=PATH="/usr/java/java8/bin:/usr/java/java8/bin:/usr/ali/bin:/usr/java/java8/bin:/usr/ali/bin:/usr/kerberos/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/canghong.ch/bin:/home/admin/dayu/bin/:/apsara/deploy/rpc_wrapper:/apsara/deploy:/home/tops/bin/"
- enviroment=JAVA_HOME="/usr/java/java8"
- enviroment=JRE_HOME=“/usr/java/java8/jre"
- //10.101.214.71
- [program:storm-nimbus]
- command=storm nimbus
- directory=/home/storm
- autorestart=true
- user=admin
- [program:storm-ui]
- command=storm ui
- directory=/home/storm
- autorestart=true
- user=admin
- //10.101.214.73
- [program:storm-supervisor]
- command=storm supervisor
- directory=/home/storm
- autorestart=true
- user=admin
- //10.101.214.74
- [program:storm-supervisor]
- command=storm supervisor
- directory=/home/storm
- autorestart=true
- user=admin
- //创建/home/storm
- sudo mkdir /home/storm
- sudo chown admin:admin /home/storm
- sudo /etc/init.d/supervisor stop //终止supervisord服务
- sudo /etc/init.d/supervisor start //重启supervisord服务
- ps aux | grep “xxxx” // 来查看服务是否启动
- jps //也可以通过这个命令查看
6.其他
启动成功后,通过 http://服务器IP:8080/ 访问storm UI。
如果不想使用supervisor启动storm ,可以使用手动启动
nohup storm nimbus &。可能会遇到 permission denied异常,需要更改storm文件夹的权限或者使用sudo 命令
nohub storm supervisor &
nohub storm ui &
相关推荐
### 从零开始搭建Storm集群 #### 一、概述 Apache Storm 是一款开源的大规模实时计算系统,类似于Hadoop处理批量数据,Storm处理的是实时数据流。它支持各种编程语言,能够实现高吞吐量、低延迟的数据处理,并且...
【Storm集群搭建】是关于构建分布式实时计算系统Storm的集群过程。Storm是一个开源的、用于处理实时数据流的计算框架,常被用于大数据处理、实时分析等场景。在Storm集群中,主要有两种类型的节点——主控节点...
Storm集群环境搭建 Storm集群环境搭建是指在多台服务器上安装和配置Storm集群,实现高可用和负载均衡。Storm是一个分布式实时计算系统,能够对大量数据进行实时处理和分析。本文将详细介绍Storm集群环境搭建的步骤...
在搭建Storm集群的过程中,我们需要以下步骤: 1. **环境准备**:确保安装了Java JRE和JDK,因为Storm是用Java编写的。同时,需要在所有参与集群的服务器上安装并配置好Zookeeper,它作为协调服务,管理Storm集群的...
在本压缩包“storm集群搭建...通过这个压缩包,你将能了解并实践如何搭建Storm集群,以及如何使用Java客户端编写和测试实时数据处理应用。记得在实际操作过程中,根据具体需求和环境调整配置,确保系统的稳定性和性能。
以下是搭建Storm集群的详细步骤: 1. **设置Zookeeper集群**: Storm依赖Zookeeper进行集群协调,确保高可用性和容错性。Zookeeper集群需要正确配置,包括设置适当的副本数量(通常为奇数个节点以避免投票冲突)和...
storm集群环境搭建文档
描述中提到的"使用zookeeper-3.4.10.tar.gz"表明在搭建Storm集群时还依赖了ZooKeeper的3.4.10版本。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据...
搭建Storm集群首先要搭建ZooKeeper集群,因为Storm依赖ZooKeeper进行集群管理。ZooKeeper是一个分布式应用程序协调服务,可以为分布式环境中的配置信息提供集中化的管理,保证配置信息的一致性和可靠性。在搭建Storm...
Zookeeper是一个分布式协调服务,用于管理Storm集群的元数据。Nimbus是Storm集群的主节点,负责任务分配和监控。Supervisor则是工作节点,每个节点上都运行一个Supervisor实例,管理worker进程。UI则提供了可视化...
在搭建Storm集群时,我们需要安装Java环境,配置Zookeeper,然后部署Storm。运行示例通常会创建一个简单的拓扑,例如“WordCount”例子,它从文本源读取数据,分割单词,然后统计每个单词出现的次数。 总结来说,这...
书中首先会介绍搭建Storm集群的相关知识。Storm集群主要包括两种节点类型:主节点(Nimbus)和工作节点(Supervisor)。Nimbus负责分发代码、分配任务以及监控Supervisor节点;而Supervisor则负责在工作节点上启动和...
### Storm集群部署知识点 #### 一、Storm集群简介 Apache Storm 是一款开源...通过以上步骤,可以成功地搭建一个Storm集群,并进行实时数据分析处理。Storm的灵活性和强大的功能使其成为处理大量实时数据的理想选择。
搭建三台Storm集群服务器 参考文档:Linux部署Storm集群 启动Kafka集群 启动Zookeeper Zookeeper启动需要一定时间,建议等一分钟再操作其他命令 cd /usr/local/kafka/zookeeper ./bin/zkServer.sh start
ApacheStorm集群搭建[整理].pdf
本文档主要介绍如何在多台服务器上部署一个完整的Storm集群,其中包括JDK安装、Zookeeper集群安装以及Storm集群的搭建。整个过程分为三个主要部分:Java环境(JDK)的安装、Zookeeper集群的配置以及Storm集群的具体...
4. Storm的集群管理和部署:从零开始搭建Storm集群,包括集群的配置、监控、维护和故障排查等操作。这方面的知识能帮助读者更好地在生产环境中部署和使用Storm。 5. Storm与其他大数据组件的整合:Storm能够与...
最后是Storm的安装,需要搭建Storm集群,配置nimbus、supervisor以及worker节点,同时编写和提交topology来定义实时数据处理逻辑。 在学习和实践这个过程时,你可能需要了解以下几个方面: 1. 分布式系统的基本概念...
以上就是关于这些文件的详细说明和如何使用它们来搭建Storm集群的基础知识。需要注意的是,尽管这里提供的Storm版本相对较旧,但理解这些组件的工作原理对于理解更现代的Storm版本或类似的实时处理框架如Apache ...
Storm-集群环境搭建