Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2809254
  • 博文数量: 587
  • 博客积分: 6356
  • 博客等级: 准将
  • 技术积分: 6410
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-23 10:54
个人简介

器量大者,福泽必厚

文章分类

全部博文(587)

文章存档

2019年(3)

2018年(1)

2017年(29)

2016年(39)

2015年(66)

2014年(117)

2013年(136)

2012年(58)

2011年(34)

2010年(50)

2009年(38)

2008年(16)

分类: 大数据

2015-12-04 17:58:57

安装步骤

  • 从下载relase包
  • 搭建Zookeeper集群
  • 安装Python 2.6
  • 安装Java
  • 安装zeromq
  • 安装Jzmq
  • 配置$JSTORM_HOME/conf/storm.yaml
  • 搭建web ui
  • 启动JStorm集群

搭建Zookeeper集群,这个很容易搞定的,省略....


搭建JStorm集群

安装python 2.6

  • yum -y install python python-devel

安装java: 就是安装jdk,配置环境变量,省略.....

注意,如果当前系统是64位系统,则需要下载java 64位,如果是32为系统,则下载32位java

安装zeromq(如果不使用zeromq, 可以不安装zeromq)

wget 

tar zxf zeromq-2.1.7.tar.gz
####这里需要先安装下该软件的依赖包,否则会有报错的 
yum -y install uuid-devel  libuuid-devel

cd zeromq-2.1.7

./configure --prefix=/home/hadoop/zeromq

make

sudo make install

sudo ldconfig
##如果不执行后面这两个命令,编译下面的jzmq会报错:

 export CPPFLAGS=-I/home/hadoop/zeromq/include/
 export LDFLAGS=-L/home/hadoop/zeromq/lib/




如果没有root权限,或当前用户无sudo权限时,执行 “ ./configure --prefix=/home/xxxxx” 替换 “./configure”, 其中/home/xxxx 为安装目标目录

安装jzmq(如果不使用jzmq, 可以不安装jzmq)

   su - hadoop

  git clone git://github.com/nathanmarz/jzmq.git

cd jzmq

./autogen.sh

./configure  --prefix=/home/hadoop/jzmq

make

make install

如果没有root权限,或当前用户无sudo权限时,执行 “ ./configure --prefix=/home/xxxx --with-zeromq=/home/xxxx” 替换 “./configure”, 其中/home/xxxx 为安装目标目录

安装JStorm

假设以为例

tar jxvf jstorm-2.1.0.tar.bz2
ln -s deploy  jstorm

vi ~/.bash_profile

export JSTORM_HOME=/home/hadoop/jstorm/jstorm

export PATH=$PATH:$JSTORM_HOME/bin  ##红色为添加的部分,个人目录不同要做相应的修改!
source ~/.bash_profile   #使之立即生效


配置$JSTORM_HOME/conf/storm.yaml

配置项:

  • storm.zookeeper.servers: 表示zookeeper 的地址,
  • nimbus.host: 表示nimbus的地址
  • storm.zookeeper.root: 表示jstorm在zookeeper中的根目录,当多个JStorm共享一个ZOOKEEPER时,需要设置该选项,默认即为“/jstorm”
  • storm.local.dir: 表示jstorm临时数据存放目录,需要保证jstorm程序对该目录有写权限
  • java.library.path: zeromq 和java zeromq library的安装目录,默认"/usr/local/lib:/opt/local/lib:/usr/lib"
  • supervisor.slots.ports: 表示supervisor 提供的端口slot列表,注意不要和其他端口发生冲突,默认是68xx,而storm的是67xx
  • supervisor.disk.slot: 表示提供数据目录,当一台机器有多块磁盘时,可以提供磁盘读写slot,方便有重IO操作的应用。
  • topology.enable.classloader: false, 默认关闭classloader,如果应用的jar与jstorm的依赖的jar发生冲突,比如应用使用thrift9,但jstorm使用thrift7时,就需要打开classloader
  • nimbus.groupfile.path: 如果需要做资源隔离,比如数据仓库使用多少资源,技术部使用多少资源,无线部门使用多少资源时,就需要打开分组功能, 设置一个配置文件的绝对路径,改配置文件如源码中group_file.ini所示
  • storm.local.dir: jstorm使用的本地临时目录,如果一台机器同时运行storm和jstorm的话, 则不要共用一个目录,必须将二者分离开

在提交jar的节点上执行:

#mkdir ~/.jstorm
#cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm 
我的 配置文件如下:
  1. [hadoop@namenode conf]$ cat storm.yaml | grep -v "#" | grep -v "^$"
  2.  storm.zookeeper.servers:
  3.      - "10.33.96.241"
  4.      - "10.33.96.242"
  5.      - "10.33.96.243"
  6.  storm.zookeeper.root: "/jstorm"
  7.  nimbus.host: "10.33.96.241"  
  8.  storm.local.dir: "%JSTORM_HOME%/data"  
  9.  java.library.path: "/usr/local/lib:/opt/local/lib:/usr/lib:/usr/local/jdk/lib"
  10.  supervisor.slots.ports:
  11.     - 6800
  12.     - 6801
  13.     - 6802
  14.     - 6803
  15.  [hadoop@namenode conf]$ pwd
  16. /home/hadoop/jstorm/jstorm/conf
  17. [hadoop@namenode conf]$
##说明:我用3台机器做了zookeeper集群,10.33.96.241为nimbus机器,其他的3台为supervisor机器! 

安装JStorm web ui

必须使用tomcat 7.0 或以上版本, 注意不要忘记拷贝 ~/.jstorm/storm.yaml

web ui 可以和nimbus不在同一个节点

mkdir ~/.jstorm
cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm
下载tomcat 7.x (以apache-tomcat-7.0.37 为例)
tar -xzf apache-tomcat-7.0.37.tar.gz
cd apache-tomcat-7.0.37
cd webapps
cp $JSTORM_HOME/jstorm-ui-2.1.0.war ./
mv ROOT ROOT.old
这里要先启动tomcat,会自动将jstorm-ui-2.1.0.war  文件解压,生成jstorm-ui-2.1.0文件夹,然后才能做软连接
ln -s jstorm-ui-2.1.0 ROOT   
cd ../bin
./startup.sh 

启动JStorm

在nimbus 节点上执行 “nohup jstorm nimbus &”, 查看$JSTORM_HOME/logs/nimbus.log检查有无错误

在supervisor节点上执行 “nohup jstorm supervisor &”, 查看$JSTORM_HOME/logs/supervisor.log检查有无错误

我配置后的截图如下:



jstorm HA 机制:

阅读(2311) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~