storm文档(12)----自己搭建storm集群

转载请注明出处:http://blog.csdn.net/beitiandijun/article/details/41802543

ubuntu下  storm  安装步骤

安装storm之前首先需要安装一些依赖库:

zookeeper、JDK 6、python2.6.6、jzmq、zeromq

这些库所需要的依赖库不再一一笔述。

以下为具体安装过程:

一、安装JDK

zookeeper要求安装JDK 6或更高版本( 目前最新稳定版本为JDK8), 但是由于storm要求安装JDK 6, 因此选择安装JDK 6。

JDK下载地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html

JDK安装过程:http://www.oracle.com/technetwork/java/javase/index-137561.html#linux

1、下载JDK6

(1)打开 JDK下载地址:

(2)选择Java  SE 6并下载

2、安装JDK

(1)修改权限:

chmod+x 6u <version>-linux-x64.bin

 

(2) 安装:Sun公司出版的《Java核心编程》建议安装在/usr下,而不是/usr/local下,具体原因不明。

sudo  ./ 6u <version>-linux-x64.bin安装目录

 

(3)  配置环境变量

export  JAVA_HOME=安装目录

export  JRE_HOME=$JAVA_HOME/jre

export  CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export  PATH=$JAVA_HOME/bin:$PATH

注意:解决JDK版本冲突的方式就是修改这些环境变量

三种方式:

方式一: 只在当前shell中可用:

则在当前shell命令行中上述语句即可

方式二: 只在当前用户中可用:

则在~/.bashrc末尾添加上述语句即可

当前shell中启用:

source   ~/.bashrc

方式三: 所有用户均可用:

则在/etc/profile末尾添加上述语句即可

当前shell中启用:

sudo source  /ect/profile

本例中采用方式三。

3、测试java是否安装成功

java  -version

二、安装zookeeper

参考zookeeper官方wiki: http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html

1、zookeeper的系统要求:

支持的平台包括:GNU/LINUX、 Sun Solaris、FreeBSD、Win32、MaxOSX

软件要求:需要JDK 6或更高版本; 对于Zookeeper集群,官方推荐最小节点数是3个,并且运行在不同的机器上; 为避免数据swap导致性能下降, 在内存允许的情况下,尽可能的增大java heap size,例如 4GB 内存时java heap size可以设置为3GB

2、具体安装过程

(1)

(2)安装zookeeper的依赖工具包:

gcc、cppunit、python-setuptools

i.  gcc系统一般会自带, 不需要安装

ii.  安装python-setuptools:

sudoapt-get install  python-setuptools

iii.  安装cppunit

sudoapt-get install  cppunit

(2) 配置zookeeperconfiguration file:

由于本集群中有10个节点,因此配置

三、安装python

根据storm要求,需要安装python2.6.6,python下载地址:http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2

1、下载python 2.6.6

wget  http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2

2、编译安装python 2.6.6

(1)解压:tar -jxvfPython-2.6.6.tar.bz2

(2)编译安装:

cd  Python

sudo./configure --prefix=/usr/local/lib/python2.6.6

sudomake

在安装过程中有可能会出现几处错误

错误一:

根据上述错误,搜索得出是因为Debian/Ubuntu的Multiarch机制造成:即使不同架构下编译的二进制文件可以在同一个系统下运行。

参考文档:

http://jisedai.vayn.de/2011/06/28/python-3-installation-note.html

http://bugs.python.org/issue9762

http://bugs.python.org/issue11715

出错原因:不同架构下的库的搜索路径可能不一致,因此setup.py可能找不到编译时所需要的库文件。

解决办法:修改setup.py,将multiarch的路径加进setup.py的搜索路径。

具体补丁:https://hg.python.org/cpython/rev/bd0f73a9538e

错误二:

解决错误一之后,进行make,依然报错:

上述错误说明缺少依赖库:按照提示说明上述依赖库可以修改setup.py中的detect_modules()函数取消依赖,但由于无法预料不安装哪一个会出现何种结果,因此决定都安装,共18个依赖库。

依次安装:

1)安装 zlib(压缩库)

查找zlib库

安装:sudo  apt-get install  zlib1g-dev

查看是否安装成功,zlib没有出现说明安装成功,继续安装

2)安装bz2

查找bz2库(压缩库)

安装:sudoapt-get install libbz2-dev

3)安装gdbm(dbm是类unix系统的数据库,使用Hash保存非结构化数据,不支持SQL,gdbm是GNU版本的dbm)

查找gdbm并安装:

sudoapt-get install libgdbm-dev

注:安装gdbm之后,不需要再安装dbm

4)安装readline(GNU,用于编辑命令行,当前使用者:GDB,VI,Emacs等)

查找并安装readline:

sudoapt-get install  libreadline-dev

5)安装_sqlite3(SQL 数据库引擎的C库)

安装: libsqlite3-dev

6)安装 _curses 和_curses_panel

安装:  libncurses5-dev

3、安装失败的依赖库说明

以下为没有成功安装的依赖库:(并不是意味着安装失败,只是python2.6.6无法调用以下库)

先将安装步骤列出如下:

1)安装_bsddb(pythoninterface for berkeley DB)

方法一:不成功

搜索apt-cachesearch  bsddb

但是安装python-bsddb3和python-bsddb3-dbg之后,执行python的make发现依然提示没有_bsddb,于是到python官网搜索有关bsddb相关信息:

https://pypi.python.org/pypi?%3Aaction=search&term=bsddb&submit=search

方法二:不成功

依然不行,网上搜索发现有人先安装berkeley的db: libdb-dev

方法三:

网上有说bsddb是一个很古老的berkeley DB模块,可以不必安装。

通过修改setup.py

disabled_module_list= ["bsddb185"]

依然失败

2)安装_hashlib(hash表)和 _ssl(信息安全、数据加密)

搜索以及安装:sudoapt-get install libssl-dev

安装好libssl-dev后,编译python依然没有成功识别_ssl模块

安装openssl:sudo apt-get install openssl

结果依然无法成功调用 _ssl模块,以下所示:

3)dl、imageop、linuxaudiodev、ossaudiodev

dl 是 32 位系统上的过时模块(被 ctypes 替代);

imageop 也是 32 位系统上的过时模块,被 PIL 代替;

linuxaudiodev是音频模块;

ossaudiodev是音频模块;

_tkinter是界面模块。

这几个模块不用安装。

4、解决python版本冲突问题

原本机器上本来就有python2.7,现在storm需要使用python2.6,如何解决版本冲突问题是需要解决的。

搜索网上,提出两种解决办法:

(1)安装python版本管理工具 pythonbrew

下载地址:https://pypi.python.org/pypi/pythonbrew/1.3.5

下载解压,进入pythonbrew1.3.5

阅读README.rst,按照推荐安装步骤进行:

(1)curl -kLhttp://xrl.us/pythonbrewinstall | bash

需要安装依赖库: curl

sudoapt-get install curl

安装完curl之后,执行步骤(1)命令行,显示:

(2)根据上面输出提示,将提示命令写入~/.bashrc末尾,即:

[[ -s"$HOME/.pythonbrew/etc/bashrc" ]] && source"$HOME/.pythonbrew/etc/bashrc"

(3) 选择相应的版本号:

pythonbrew  switch 2.6.6

注:重点推荐pythonbrew软件,希望各位在安装python之前就安装pythonbrew,可以使用pythonbrew安装想要的python版本。

(2)使用软链接:

本例中,python2.6.6安装在/usr/local/lib下,因此软链接可以为:

sudo ln -s/usr/bin/python   /usr/local/lib/python2.6.6/bin/python2.6

四、安装zeromq

1、安装 zeromq

(1)下载zeromq源码,版本号2.1.7

wget http://download.zeromq.org/zeromq-2.1.7.tar.gz

报错,缺少 uuid-dev

因此安装 sudo  apt-get install  uuid-dev

(2)编译安装:

make

make install

五、安装jzmq

(1)下载jzmq源码

https://github.com/zeromq/jzmq

执行 ./autogen.sh,报错:

需要安装 pkg-config

sudo apt-get install pkg-config

依然报错:

需要安装libtool

sudo apt-get install libtool

依然报错:

需要安装autoconf和automake:

sudo apt-get install automake  autoconf

在安装过程中自动安装了依赖库m4

./autogen.sh执行成功,生成configure

./configure

make 出错:

解决办法:http://my.oschina.net/mingdongcheng/blog/43009

1)首先在makefile所在路径以及src目录下都生成一个classdist_noinst.stamp空文件。

2)到src/org/zeromq目录下:javac  *.java

3)到src目录下:make  -j24; make install

4) 到makefile所在路径下: make-j24; make  install

六、storm安装以及配置过程:

1、下载可执行软件包:

http://storm.incubator.apache.org/downloads.html

2、启动过程:

参考storm官网:

http://storm.incubator.apache.org/documentation/Setting-up-a-Storm-cluster.html

(1)修改storm配置文件:

(2)启动storm  nimbus:

bin/storm nimbus >/dev/null 2>&1 &

(3)启动 supervisor:

bin/storm supervisor >/dev/null 2>&1 &

(4)启动 ui:

bin/storm ui  >/dev/null 2>&1&

注意:

ui节点与nimbus节点最好位于同一节点。

ui默认使用端口为8080,但是这个端口已经被tcp占用,因此需要修改ui.port参数,以防端口冲突。

(5)查看storm ui:

时间: 2024-07-31 04:51:10

storm文档(12)----自己搭建storm集群的相关文章

zookeeper文档(1)----zookeeper集群搭建

转载请注明出处:http://blog.csdn.net/beitiandijun/article/details/41802835 ubuntu下搭建zookeeper集群步骤 主要参考文档: http://zookeeper.apache.org/doc/r3.3.3/zookeeperStarted.html http://www.blogjava.net/hello-yun/archive/2012/05/03/377250.html 一.下载源码: 官方网站: http://mirro

storm文档(6)----storm手册目录

源地址:http://storm.apache.org/documentation/Documentation.html storm基础知识 l  Javadoc l  概念 l  配置 l  保证消息处理机制 l  容错性能 l  命令行客户端 l  理解storm topology并行机制 l  FAQ trident 对storm来说,trident是可选接口.它提供了准确的一次性处理.事务性数据存储保持以及一系列通用数据流分析操作. l  Trident指导-----基本概念及浏览 l 

Storm文档详解

1.Storm基础概念 1.1.什么是storm? Apache Storm is a free and open source distributed realtime computation system. Storm是免费开源的分布式实时计算系统 实时和离线的区别: 1 离线计算:批量获取数据.批量传输数据.周期性批量计算数据.数据展示 代表技术:Sqoop批量导入数据.HDFS批量存储数据.MapReduce批量计算数据.Hive批量计算数据.***任务调度 2 流式计算:数据实时产生.

Android官方入门文档[12]启动一个活动

Android官方入门文档[12]启动一个活动 Starting an Activity启动一个活动 This lesson teaches you to1.Understand the Lifecycle Callbacks2.Specify Your App's Launcher Activity3.Create a New Instance4.Destroy the Activity 这节课教你1.了解生命周期回调2.指定您的应用程序的启动活动3.创建一个新实例4.销毁活动 You sho

MongoDB 搭建分片集群

在MongoDB(版本 3.2.9)中,分片是指将collection分散存储到不同的Server中,每个Server只存储collection的一部分,服务分片的所有服务器组成分片集群.分片集群(Sharded Clustered)的服务器分为三中类型:Router(mongos),Config Server 和 Shard(Replica Set 或 Standalone mongod).使用分片集群,不需要使用强大的计算机,就能存储更多的数据,处理更大的负载.分布式数据库系统的设计目的是:

分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用(主从.事务与锁.持久化)> 本文我们继续学习redis的高级特性--集群.本文主要内容包括集群搭建.集群分区原理和集群操作的学习. Redis集群简介 Redis 集群是3.0之后才引入的,在3.0之前,使用哨兵(sentinel)机制(本文将不做介绍,大家可另行查阅)来监控各个节点之间的状态.Redi

Linux下使用Apache的Httpd+Mod_jk+Tomcat搭建Web集群服务

Linux下使用Apache的Httpd+Mod_jk+Tomcat搭建Web集群服务 目的 ?? 使用多个tomcat服务器来对请求进行分流,防止单个服务器压力过重.这里为了简单,只使用两个tomcat. 软件 apache httpd-2.2.31(下载地址:https://httpd.apache.org/download.cgi) apache tomcat-7.0.69(下载地址:https://tomcat.apache.org/download-70.cgi) tomcat-con

搭建Hadoop集群Tips(1)

1 安装版本 搭建Hadoop2.4.0版本,基于Ubuntu12.04 x86_64.jdk1.7.0_79 2 参考文献: 1)可靠安装文档http://www.aboutyun.com/thread-7684-1-1.html 2)官方安装文档http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/ClusterSetup.html#Installation 3 主要思路: 完全分布式集群搭建思路基本是各

Windows 环境搭建Redis集群

环境以及引用资料 1.windows server 2008 r2 enterprise  (木有办法,公司的服务器全是如此,就这种环境搭建吧) 2.redis官方资料下载: https://redis.io/download 3.redis官方没有提供相关的程序包,但是Microsoft Open Tech group提供并维护了相关的redis安装包 https://github.com/MSOpenTech/redis(只是提供64位程序) 这里说一句,很多公司的redis都是部署在lin

centos7搭建kafka集群-第二篇

好了,本篇开始部署kafka集群 Zookeeper集群搭建 注:Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群(也可以用kafka自带的ZK,但不推荐) 1.软件环境 (3台服务器) 10.0.20.131 10.0.20.132 10.0.20.133 1.Linux服务器一台.三台.五台.(2*n+1),Zookeeper集群的工作是超过半数才能对外提供服务,3台中超过两台超过半数,允许1台挂掉 ,是否可以用偶数,其实没必要. 如果有四台那么挂掉一台还