storm集群安装

一. 安装storm集群,需先安装jdk,zookeeper,配置本地yum源(生成环境不能随便联网),如果是本地测试,还要先关闭防火墙,请参考之前的博客。

二. 下载storm的安装包:storm-0.9.0.1.zip,Python-3.4.0a1.tgz,zeromq-4.0.3.tar.gz,jzmq-master.zip,所有的安装包最好到官网下载。

三. 安装python(很多linux都安装了python,使用命令:python ––version,查看python是否安装成功)

四. zeromq和jzmq依赖很多包,所以先把依赖包安装了,执行命令:

sudo yum -y install gcc gcc-c++ automake autoconf libtool make libuuid-devel

安装zeromq,jzmq的安装貌似是依赖zeromq的,所以应该先装zeromq,再装jzmq 

#安装zeromq 
tar -zxvf zeromq-4.0.3.tar.gz
cd zeromq-4.0.3 
sudo ./configure
sudo make 
sudo make install
sudo ldconfig #更新LD_LIBRARY_PATH

五. 安装jzmq,如果没安装unzip,使用jar -xvf jzmq-master.zip也可以解压zip包(但是建议用unzip解压,用jar解压出现过问题)

#安装jzmq
sudo unzip jzmq-master.zip
sudo cd jzmq-master
sudo ./autogen.sh
sudo ./configure
sudo make
sudo make install

六. 安装storm

#安装storm 
sudo unzip storm-0.9.0.1.zip
sudo cd storm-0.9.0.1

将storm添加到系统环境变量:vi ~/.bashrc,然后追加如下内容:

export STORM_HOME=/home/xuer/apps/storm-0.9.0.1
export PATH=$PATH:$STORM_HOME/bin

执行命令:source ~/.bashrc

修改storm的配置文件:vi ./conf/storm.yaml,特别注意yaml文件的格式,在每一行前面一定要有空格,配置文件中不要出现table代替空格的现象,在”:”后面也要空格,“-”前后必须要有空格,内容如下:

########### These MUST be filled in for a storm configuration
 storm.zookeeper.servers:
     - "host1"
#     - "host2"
#     - "192.168.0.88"
 nimbus.host: "host1"
 storm.zookeeper.port: 2181
 storm.local.dir: "/home/xuer/apps/storm-0.9.0.1/data/"
 supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
    - 6704
# storm.messaging.transport: "backtype.storm.messaging.netty.Context"
# storm.messaging.netty.server_worker_threads: 1
# storm.messaging.netty.client_worker_threads: 1
# storm.messaging.netty.buffer_size: 5242880
# storm.messaging.netty.max_retries: 100
# storm.messaging.netty.max_wait_ms: 1000
# storm.messaging.netty.min_wait_ms: 100
# 
# 
# ##### These may optionally be filled in:
#    
## List of custom serializations
# topology.kryo.register:
#     - org.mycompany.MyType
#     - org.mycompany.MyType2: org.mycompany.MyType2Serializer
#
## List of custom kryo decorators
# topology.kryo.decorators:
#     - org.mycompany.MyDecorator
#
## Locations of the drpc servers
# drpc.servers:
#     - "server1"
#     - "server2"

## Metrics Consumers
# topology.metrics.consumer.register:
#   - class: "backtype.storm.metrics.LoggingMetricsConsumer"
#     parallelism.hint: 1
#   - class: "org.mycompany.MyMetricsConsumer"
#     parallelism.hint: 1
#     argument:
#     - endpoint: "metrics-collector.mycompany.org"

七. 出现问题汇总

storm安装处问题最主要是在zeromq和jzmq的安装,这两个mq依赖的包很多,有gcc,gcc-c++,libuuid-devel,libtool,make,automake等等

安装的时候注意观察安装信息的最后几行,会出现各种问题,却c编译器,c++编译器等等,缺少什么就安装什么。

1.the JAVA_HOME environment variable must be set to your JDK location. 安装jzmq时出现这个问题。

但是当前xuer用户明明配了JAVA_HOME的。这是因为新生成的configure文件的所有者是root,虽然我们配了xuer的JAVA_HOME,但是没有配root的JAVA_HOME,所以报找不到JAVA_HOME,我也不清楚为什么用xuer用户装的产生的configure文件的所有者确是root用户的,解决方法是在configure文件的调用JAVA_HOME的地方手动设置JAVA_HOME。用vi打开jzmq-master/configure,找到如下代码:

if test "x$JAVA_HOME" = "x"; then
    as_fn_error $? "the JAVA_HOME environment variable must be set to your JDK location." "$LINENO" 5;
fi

在前面加段JAVA_HOME的声明

# Check for JDK
export JAVA_HOME=/home/xuer/apps/jdk1.7.0_45
if test "x$JAVA_HOME" = "x"; then
    as_fn_error $? "the JAVA_HOME environment variable must be set to your JDK location." "$LINENO" 5;
fi

参考文章:JAVA_HOME NOT SET WHEN INSTALL Storm

2.使用yum install的时候,提示没有包,那是因为我们安装的自定义yum源需要重新挂载iso文件,重启机器可能会导致要重新挂载。首先进去iso的挂载目录,如果挂载目录下没有东西,则重新执行mount命令挂载。

3.no acceptable C compiler found,缺少c编译器

执行命令:sudo yum install gcc

4.unable to find a working C++ compiler,缺少c++编译器

执行命令:sudo yum install gcc-c++

5.提示缺uuid

执行命令:sudo yum install libuuid-devel

6.bash: unzip: command not found,缺少unzip

执行命令:sudo yum install unzip

7.could not find libtool is required to run autogen.sh,缺libtool

执行命令:sudo yum install libtool

8./make: command not found,没有安装make,先安装gcc,再安装make

执行命令:sudo yum install make

参考文章:

Twitter Storm 安装实战

centos安装zeromq, jzmq

Centos提示-bash: make: command not found的解决办

转载于:https://my.oschina.net/cjun/blog/370214

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值