手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

大数据技术学习指南之Storm集群安装

时间:2024-11-05 05:20:21

在大数据时代,要想个性化实现业务的需求,还是得操纵各类的大数据软件,例如Hadoop、Storm等。本节就先介绍Storm集群的安装。

工具/原料

i5以上核心、8G以上内存电脑一台

storm集群组件

了解Storm集群组件的功能

1、Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node)。其分别对应的角色如下:

2、主控节点(Master Node)上运行一个被称为Nimbus的后台程序,它负责在Storm集群内分发代码,分配任务给工作机器,并且负责监控集群运行状态。Nimbus的作用类似于Hadoop中JobTracker的角色。

3、每个工作节点(Work Node)上运行一个被称为Supervisor的后台程序。Supervi衡痕贤伎sor负责监听从Nimbus分配给它执行的任务,据此启动或停止执行任务的工作进程。每一个工作进程执行一个Topology的子集;一个运行中的Topology由分布在不同工作节点上的多个工作进程组成。

大数据技术学习指南之Storm集群安装

4、Nimbus和Supervisor节点之间所有的协调工作是通过砟羟稼翕Zookeeper集群来实现的。此外,Nimbus和Supervisor进程都是快速失败(fail-fast)和无状态(stateless)的;Storm集群所有的状态要么在Zookeeper集群中,要么存储在本地磁盘上。这意味着你可以用kill -9来杀死Nimbus和Supervisor进程,它们在重启后可以继续工作。这个设计使得Storm集群拥有不可思议的稳定性。

搭建Zookeeper集群

1、下载安装Java JDK,官方下载链接为http://java.sun.com/javase/downloads/index.jsp,JDK版本为JDK 6或以上。

2、根据Zookeeper集群的负载情况,合理设置Java堆大小,尽可能避免发生swap,导致Zookeeper性能下降。保守期间,4GB内存的机器可以为Zookeeper分配3GB最大堆空间。

3、下载后解压安装Zookeeper包,官方下载链接为http://hadoop.apache.org/zookeeper/releases.html。

4、根据Zookeeper集群节点情况,按照图片上的内容添加配置:

大数据技术学习指南之Storm集群安装

5、在dataDir目录下创建myid文件,文件中只包含一行,且内容为该节点对应的server.id中的id编号。

6、启动Zookeeper服务。通过Zookeeper客户端测试服务是否可用。

安装Storm依赖库

1、安装ZMQ 2.1.7,按照图片输入命令即可:

大数据技术学习指南之Storm集群安装

2、下载后编译安装JZMQ,按照图片输入命令:

大数据技术学习指南之Storm集群安装

3、下载并安装JDK 6,参考:http://jingyan.baidu.com/article/1e5468f923a811484861b749.html

4、输入命令:wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2下载并安装Python2.6.6

5、安装unzip:如果使用RedHat系列Linux系统,执行以下命令安装unzip:apt-get install unzip如果使用Debian系列Linux系统,执行以下命令安装unzip:yum install unzip

下载并解压Storm发布版本

1、输入命令下载Storm发行版本,推荐使用Storm0.8.1:wget https://github.com/downloads/nathanmarz/storm/storm-0.8.1.zip

2、输入命令解压到安装目录下:unzip storm-0.8.1.zip

修改storm.yaml配置文件

1、Storm发行版本解压目录下有一个conf/storm.yaml文件,用于配置Storm。默认配置在这里可以查看。conf/storm.yaml中的配置选项将覆盖defaults.yaml中的默认配置。

2、storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式如下:storm.zookeeper.servers: - "111.222.333.444" - "555.666.777.888"如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项。

3、storm.local.dir: Nim水瑞侮瑜bus和Supervisor进程用于存储少量状态,如jars、艘早祓胂confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如:storm.local.dir: "/home/admin/storm/workdir"

4、java.library.path: Storm使用的本地库(ZMQ和JZMQ)加载路径,默认为"/usr/local/lib:/opt/local/lib:/usr/lib",一般来说ZMQ和JZMQ默认安装在/usr/local/lib 下,因此不需要配置即可。

5、nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件,如:nimbus.host: "111.222.333.444"

6、supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口

启动Storm各个后台进程

1、在Storm主控节点上运行"bin/storm nimbus >/dev/null 2>&1 &"启动Nimbus后台程序,并放到后台执行;

2、在Storm各个工作节点上运行"bin/storm supervisor >/dev/null 2>&1 &"启动Supervisor后台程序,并放到后台执行;

3、在Storm主控节点上运行"bin/storm ui >/dev/艘绒庳焰null 2>&1 &媪青怍牙"启动UI后台程序,并放到后台执行,启动后可以通过http://{nimbus host}:8080观察集群的worker资源使用情况、Topologies的运行状态等信息。

向集群提交任务

1、输入命令启动Storm Topology:storm jar allmy罕铞泱殳code.jar org.me.MyTopology arg1 arg2 arg3其中,allmycode.jar是包含Topology实现代码的jar包,org.me.MyTopology的main方法是Topology的入口,arg1、arg2和arg3为org.me.MyTopology执行时需要传入的参数。

2、输入命令停止Storm Topology:storm kill {toponame}其中,{toponame}为Topology提交到Storm集群时指定的Topology任务名称。

3、好了,以上就是我们本篇帖子的全部内容啦~

© 手抄报圈