storm安装配置

最近刚刚开始接触storm,安装storm集群过程中碰到了很多问题,今天把自己安装过程中碰到的问题一一整理,作为自己的学习笔记。

如果本文对和我碰到同样问题的朋友有帮助或者启发,那我就太高兴了。下面开始进入主题。

以下安装过程是在CentOS 6.5下完成的。

一、安装storm所需的依赖包

首先是准备工作,安装storm我们需要相关的安装包,主要有以下几个

这些包分从上往下依次是storm,jdk,jzmq,Python,zeromq,zookeeper。不用我说大家也能看明白大笑

网上有很多教程是在安装时才下载相关包的,我试了好多之后发现给的有的链接并不能使用,所以就事先把这些安装包都下载好了,zeromq和jzmq的安装包找了好久才找到。

下面开始安装过程。

二、安装步骤

2.1JDK安装

1. 在/usr/local/下新建一个叫java的目录。
mkdir /usr/local/java

2. 将jdk-7u76-linux-x64.tar.gz拷贝至/usr/local/java下并解压。

cp jdk-7u76-linux-x64.tar.gz /usr/local/java/
cd /usr/local/java/
tar –zxvfjdk-7u76-linux-x64.tar.gz

3. 配置环境变量

编辑/etc/profile,在文件末尾加入以下内容


执行source /etc/profile命令,使修改生效。

这一步如果环境变量设置有无容易导致系统环境变量也出问题从而使ll,ls等命令不能正常使用,提示如下信息。

这时候只需要执行以下命令修复环境变量即可。

exportPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

4.  验证是否安装成功

执行java –version命令,如果出现如下所示内容则说明jdk安装成功。


如果这时显示的JDK版本不是安装的JDK版本,那就说明系统自带JDK没有被卸载,需要先卸载系统自带JDK。


2.2安装Python

tar zxvf Python-2.7.2.tgz
cd Python-2.7.2
./configure
make
make install
nano /etc/ld.so.conf
追加/usr/local/lib/
sudo ldconfig
./configure的过程中,可能会出现找不到组件,执行以下命令安装必要的组件就行了。
sudo yum install gcc g++ make automake uuid-devel libtool
sudo yum install gcc-c++
sudo yum install uuid*
sudo yum install libtool
sudo yum install libuuid
sudo yum install libuuid-devel
如果在超级用户权限下就不要再命令前加sudo了。
下面验证Python安装是否成功,输入命令
python -V
如果出现如下所示内容则说明Python安装成功。

2.3安装zookeeper

tar -zxvf zookeeper-3.4.8.tar.gz 
cp -R zookeeper-3.4.8 /usr/local/
ln -s /usr/local/zookeeper-3.3.5/ /usr/local/zookeeper
nano /etc/profile (设置ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin)

在/etc/profile文件中追加以下内容

这是配置zookeeper的环境变量。
如果只是单机模式,那么zookeeper的安装到这里就完成了。
集群模式需要在其他机上在执行以上操作,安装zookeeper,然后做下面的配置。

集群版zookeeper配置过程如下。

把/zookeeper/conf目录下的zoo_sample.cfg复制一份并重命名为zoo.cfg。

cd conf/
cp zoo_sample.cfg zoo.cfg。
完成后如下图。

接下来修改zoo.cfg文件中的内容。需要修改两部分,

1. 修改zoo.cfg文件,在文件末尾加如下内容。

server.1=192.168.30.10:2888:3888
server.2=192.168.30.11:2888:3888
server.3=192.168.30.12:2888:3888

上面格式是server.id=host:port:port。第一个端口是与leader交互时用的端口,第二个端口是选举leader时用的端口。

2.   修改zoo.cfg中dataDir参数。

默认参数为dataDir=/temp/zookeeper。

如下图所示。

如果不使用默认目录则新建目录并配置到这里。

然后在这个目录(dataDir参数所指向的目录)下新建一个名为myid的文件,并在myid文件中写入server.id中对应的id值,作为这台机器在集群中的标识。注意,集群中每个id都不一样,并且范围是1~255。

可以使用命令如下命令:

这里假设dataDir使用的是默认配置,则

cd /tmp/zookeeper
echo 1 >> myid
这样一台机器上的zookeeper就配置完成了,其他机器上配置相同,可以把zoo.cfg文件复制到其他机器的zookeeper/conf 目录下,然后创建/tmp/zookeeper目录,并创建文件myid,在myid文件里写上自己机器标识。

下面是我的zookeeper配置示例。

我这里用了三台机器,IP分别是:

192.168.30.10

192.168.30.11

192.168.30.12

首先,每台机器上zoo.cfg配置文件里末尾都加了以下参数
server.1=192.168.30.10:2888:3888
server.2=192.168.30.11:2888:3888
server.3=192.168.30.12:2888:3888

并且dataDir参数使用了默认的配置即/tmp/zookeeper。

因此在每台机器上都创建了目录/tmp/zookeeper,并在每台机器上的这个目录下创建了文件myid。三台机器上的myid文件中对应的内容如下。

192.168.30.10机器上myid文件内容为1

192.168.30.11机器上myid文件内容为2

192.168.30.12机器上myid文件内容为3


做完以上步骤zookeeper集群环境就配置好了,现在来测试集群环境。

分别在三台机器上运行命令zkServer.sh start来启动zookeeper服务,如下图。




这样既表示在单个机器上zookeeper服务启动成功了,如果要看整个集群是否正常通信并选举出leader,还需要通过命令zkServer.sh status来看看每台机器的状态。

如果出现以下内容,则说明集群正常通行,并且选举出leader,整个zookeeper集群搭建成功。




Mode:follower表示这台机器是follower,Mode:leader表示这台机器是leader。

如果出现以下内容则说明集群还没有正常通信,有可能是因为防火墙没有关闭导致的。关闭掉系统防火墙再重启zookeeper服务即可。





2.4安装zeromq及jzmq

2.4.1安装zeromq

tar zxf zeromq-2.2.0.tar.gz
cd zeromq-2.2.0
./configure
make
make install
sudo ldconfig (更新LD_LIBRARY_PATH)

zeromq安装完成。

2.4.2安装jzmq

<span style="font-size:12px;">unzip jzmq-master.zip
cd jzmq
./autogen.sh
./configure
make
make install</span><span style="font-size: 12pt;">
</span>

然后,jzmq就装好了。

在./autogen.sh这步如果报错:autogen.sh:error:could not find libtool is required to run autogen.sh,这是因为缺少了libtool,可以用#yuminstall libtool*来解决。

2.5安装storm

unzip apache-storm-1.0.2.zip
mv apache-storm-1.0.2 /usr/local/ 
ln -s /usr/local/ apache-storm-1.0.2/ /usr/local/storm
nano /etc/profile
在/etc/profile文件末尾加入以下内容


到此为止单机版的Storm就安装完毕了,如果是集群模式,需要在其他机器上做以上步骤操作,然后再在每台机器上做如下配置。

集群版storm只需要做简单配置即可。

修改storm/conf目录下的storm.yaml文件来配置storm集群。

在文件末尾加入以下配置内容。

storm.zookeeper.servers: 
     - "192.168.30.10"
     - "192.168.30.11"
     - "192.168.30.12"
 storm.zookeeper.port: 2181
 storm.local.dir: "/tmp/storm"
 nimbus.host: "192.168.30.10"
 supervisor.slots.ports: 
  - 6700
  - 6701
  - 6702
  - 6703
  - 6704
  - 6705
  - 6706
<span style="font-size:12px;">  - 6707
</span>
如下图所示。


这里要特别注意的是,配置项 每行的开头必须有一个空格,冒号后边必须有一个空格,横杠(-)前后必须有空格
每台机器上配置文件内容都相同。
到这里storm集群安装就完成了,然后可以启动storm集群了,
通过以下命令启动主节点和从节点
storm nimbus
storm supervisor
如果环境变量配置有问题这里会提示找不到命令,那么可以到storm/bin目录下执行这些命令,zookeeper同理。
以上为我在安装storm过程中碰到的问题并记录了整个过程,感谢小吴同学帮我整理文档调格式。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值