linux(centos)下搭建Storm(0.8.1)集群(很长,但很详细!!!)
linux(centos)下搭建Storm(0.8.1)集群(很长,但很详细!!!)
linux(centos)下搭建Storm(0.8.1)集群(很长,但很详细!!!)安装步骤如下:
1.搭建Zookeeper集群;
2.安装Storm依赖库(ZeroMQ、JZMQ);
3.下载并解压Storm发布版;
4.修改storm.yaml配置文件;
5.启动各台机器上的Storm各个后台进程;
注意:在每台机器上都要安装如下软件!!!
一、搭建Zookeeper集群
(安装Zookeeper之前确保已安装JDK,并配置JAVA_HOME,可使用 echo $JAVA_HOME查看)
1.下载Zookeeper,官方下载链接为http://hadoop.apache.org/zookeeper/releases.html,并解压至
/opt/zookeeper目录下。
2.在 /opt/zookeeper/conf 目录下创建配置文件 zoo.cfg,内容如下:
tickTime=2000
dataDir=/opt/zookeeper/data/ #zookeeper数据文件存放目录
clientPort=2181 #zookeeper通信端口
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888 #zoo1是主机1的hostname,zoo2...zoo3...
server.2=zoo2:2888:3888 #2888 是连接leader的端口, 3888是leader选举的端口
server.3=zoo3:2888:3888
3.在各主机的上述 dataDir目录下创建myid文件,文件内容只包含server.id(如:server.1)中对应的id编号;
4.在各主机上启动zookeeper服务,进入 /opt/zookeeper/bin/,运行 zkServer.sh start;
5.测试Zookeeper是否正确安装,命令如下:
zkCli.sh -server zoo1:2181
zkCli.sh -server zoo1:2181
zkCli.sh -server zoo1:2181
二、安装Storm依赖库
按下来要在Nimbus和Supervisor机器上安装Storm的依赖库,具体步骤:
注意:不保证使用其他版本能正常运行Storm,Storm测试的依赖库版本如下:
zeromq-2.1.7 jdk 1.6 python 2.6.6
1.安装ZMQ,命令如下
cd /opt
wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar -xzf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure
make
make install
如果我没有预料错的话,你一定不会一帆风顺,可能会遇到如下错误
1.1 缺少 uuid-devel 库
configure: error: cannot link with -luuid, install uuid-dev.
这时你需要运行:
yum install uuid.x86_64
yum install libuuid.x86_64
yum install libuuid-devel.x86_64
1.2 Insufficient space in download directory /var/cache/yum/x86_64/6/base/packages(磁盘空间不足)
原因:
你的磁盘已经满了,不信使用 df -h 查看,使用情况是 100%
解决方法:
a.手动删除一些日志文件
b.试一下 yum clean all ,清空 yum 缓存。
Attention:如果还没有安装成功,要注意查看命令打印出的错误信息。
三、安装JZMQ
如果我没有猜错的话,你可能没有安装 git 依赖包,安装命令如下:
yum install git.x86_64
接着运行:
cd /opt
git clone https://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make
make install
当然,这一步你也不一定能顺利进行,可能会遇到如下依赖包缺少错误:
a.autogen.sh: error: could not find libtool. libtool is required to run autogen.sh.
解决方法:
yum install libtool.x86_64
四、安装Python2.6.6
cd /opt
wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2
tar –jxvf Python-2.6.6.tar.bz2
cd Python-2.6.6
./configure
make
make install
测试是否成功:
python -V
打印:Python 2.6.6
五、安装 unzip
yum install unzip
六、下载并解压Storm 0.8.1
cd /opt
mkdir storm
cd /storm
wget https://github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
unzip storm-0.8.1.zip
接下来进行配置了
cd /opt/storm/conf
vi storm.yaml
修改后的内容如下(注意:请将如下代码原封不动的拷过去,然后再修改,不要删除内容中的任何空格,否则启动时会报解析错误):
########### These MUST be filled in for a storm configuration
storm.zookeeper.servers:
- "zoo1"
- "zoo2"
- "zoo3"
storm.zookeeper.port: 2181 #上述配置的zookeeper端口
storm.local.dir: "/opt/storm/workdir" #请自行创建该目录
storm.local.mode.zmq: true
nimbus.host: "zoo1" #nimbus主机,等同于hadoop中的master
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
ui.port: 8888 #storm UI 端口,默认为8080
七、启动Storm集群
在 zoo1 上运行:
cd /opt/storm/bin
storm nimbus
另起一个窗口
storm supervisor
再起一个窗口
storm ui
在 zoo2,zoo3上运行:
cd /opt/storm/bin
storm supervisor
此时访问 http://zoo1:8888/ 就可以看到Storm UI 的界面了。
如果不出意外,你还会看到这个错误:
eternal Server Error
org.apache.thrift7.transport.TTransportException: java.net.ConnectException: Connection refused
at org.apache.thrift7.transport.TSocket.open(TSocket.java:183)
at org.apache.thrift7.transport.TFramedTransport.open(TFramedTransport.java:81)
at backtype.storm.thrift$nimbus_client_and_conn.invoke(thrift.clj:56)
解决方法:
需要在客户端机器(zoo1,zoo2,zoo3)上配置 ~/.storm/storm.yaml
命令如下:
cd /opt/storm
mkdir ~/.storm
cp ../conf/storm.yaml ~/.storm/storm.yaml
再重新启动Storm集群,你就可以看到可爱的Storm UI 界面了。
当然,如果仍然没有看到,请检查 /opt/storm/logs文件中的详细信息。
欢迎转载,请注明出处:http://blog.csdn.net/ytmfnfge/article/details/34090827 谢谢!
评论暂时关闭