收藏 分销(赏)

storm集群版安装测试流程.docx

上传人:仙人****88 文档编号:12026215 上传时间:2025-08-29 格式:DOCX 页数:4 大小:53.81KB 下载积分:10 金币
下载 相关 举报
storm集群版安装测试流程.docx_第1页
第1页 / 共4页
storm集群版安装测试流程.docx_第2页
第2页 / 共4页


点击查看更多>>
资源描述
Storm集群版安装测试流程 最近研究Storm,现在把storm安装流程分享一下。请注意,千万慎用虚拟机,一开始本人采用虚拟机部署环境,折腾了两天都没搞定。后来使用真机,很多问题迎刃而解。 需要相关依赖环境: JDK 6、Python2.7.*、Zookeeper、Zeromq、Jzmq、Storm、Git、Maven Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node) · 主控节点(Master Node)上运行一个被称为Nimbus的后台程序,它负责在Storm集群内分发代码,分配任务给工作机器,并且负责监控集群运行状态。Nimbus的作用类似于Hadoop中JobTracker的角色。 · 每个工作节点(Work Node)上运行一个被称为Supervisor的后台程序。Supervisor负责监听从Nimbus分配给它执行的任务,据此启动或停止执行任务的 工作进程。每一个工作进程执行一个Topology的子集;一个运行中的Topology由分布在不同工作节点上的多个工作进程组成。 Nimbus和Supervisor节点之间所有的协调工作是通过Zookeeper集群来实现的。此外,Nimbus和Supervisor进程都是快 速失败(fail-fast)和无状态(stateless)的;Storm集群所有的状态要么在Zookeeper集群中,要么存储在本地磁盘上。这意味着你可以用kill -9来杀死Nimbus和Supervisor进程,它们在重启后可以继续工作。这个设计使得Storm集群拥有不可思议的稳定性。 1、 第一步,安装Python2.7.2 wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz tar zxvf Python-2.7.2.tgz cd Python-2.7.2 ./configure make make install vi /etc/ld.so.conf 追加/usr/local/lib/ sudo ldconfig 2、 第二步,安装zookeeper   wget tar -zxvf zookeeper-3.3.5.tar.gz vim /etc/profile (设置ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin) export ZOOKEEPER_HOME="/path/to/zookeeper" export PATH=$PATH:$ZOOKEEPER_HOME/bin cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg (用zoo_sample.cfg制作$ZOOKEEPER_HOME/conf/zoo.cfg) mkdir /tmp/zookeeper mkdir /var/log/zookeeper 3、 安装zeromq wget http://download.zeromq.org/zeromq-2.1.7.tar.gz tar -xzf zeromq-2.1.7.tar.gz cd zeromq-2.1.7 ./configure make sudo make install 4、 安装 jzmq (both native and into local maven cache) git clone cd jzmq ./autogen.sh ./configure make sudo make install 5、 安装Storm wget unzip storm-0.8.1.zip vim /etc/profile export STORM_HOME=/usr/local/storm-0.8.1 export PATH=$PATH:$STORM_HOME/bin 6、 修改配置文件和启动系统 Zookeeper集群版配置 根据Zookeeper集群节点情况,创建如下格式的Zookeeper配置文件zoo.cfg: tickTime=2000 dataDir=/var/zookeeper/ clientPort=2181 initLimit=5 syncLimit=2 server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 其中,dataDir指定Zookeeper的数据文件目录;其中server.id=host:port:port,id是为每个 Zookeeper节点的编号,保存在dataDir目录下的myid文件中,zoo1~zoo3表示各个Zookeeper节点的hostname,第 一个port是用于连接leader的端口,第二个port是用于leader选举的端口。请注意,zookeeper管理的服务器必须是奇数台,否则无法实现选举功能,会出现意想不到的错误。 在dataDir目录下创建myid文件,文件中只包含一行,且内容为该节点对应的server.id中的id编号 启动:./bin/zkServer.sh start 查看状态:./bin/zkServer.sh status 链接服务器:./bin/zkCli.sh 如果没有异常,则表示安装正确 Storm集群配置文件: Storm发行版本解压目录下有一个conf/storm.yaml文件,用于配置Storm。conf/storm.yaml中的配置选项将覆盖defaults.yaml中的默认配置。以下配置选项是必须在conf/storm.yaml中进行配置的: storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址 storm.zookeeper.servers: - "111.222.333.444" - "555.666.777.888" storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如: storm.local.dir: "/home/admin/storm/workdir" nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件,如: nimbus.host: "111.222.333.444" supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即 用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口,如: supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703 启动: storm nimbus& --启动主节点 storm supervisor& -启动从属节点 storm ui& --启动storm管理监控界面,可以通过网页访问 7、 测试一下WordCount 1.下载strom starter的代码 git clone 2. 使用mvn -f m2-pom.xml package 进行编译。(需要部署Maven环境) 3. 复制 storm-starter目录下的m2_pom.xml 为pom.xml ,因为eclipse需要pom.xml 4. 使用mvn eclipse:eclipse编译成eclipse工程 5. 在Eclipse 中import 选择storm-starter 的路径,一般导入项目后,会需要设置相应的M2_查看工程是否无误,可能会需要配置M2_REPO变量,M2_REPO配置方法:工程上右键->Properties->Java Build Path->Libraries->AddVariable->Configure Variable->New 输入Name:M2_REPO , Path:localRepository路径->ok刷新工程,代码无误了,可以进行开发了 6. 编译无误后,使用eclipse的export功能导出项目的jar包,便于以后分布式的情况下,提交相应的逻辑 Strom-Starter构建失败,缺少twitter4j包 的解决办法: 修改Storm-Starter的pom文件m2-pom.xml ,修改dependency中twitter4j-core 和 twitter4j-stream两个包的依赖版本,如下: <dependency> <groupId>org.twitter4j</groupId> <artifactId>twitter4j-core</artifactId> <version>[2.2,)</version> </dependency> <dependency> <groupId>org.twitter4j</groupId> <artifactId>twitter4j-stream</artifactId> <version>[2.2,)</version> </dependency> 向集群提交任务: storm jar allmycode.jar org.me.MyTopology arg1 arg2 arg3
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服