storm-(1)集群安装及部署

来源:互联网 发布:北京赛车计划软件 编辑:程序博客网 时间:2024/06/05 16:06
master:redhat6.4版本
slave1:centos6.5版本
安装的zeromq及jzmq缺少的依赖版本适用于redhat6.4,centos6.5安装这些版本会出问题,最好配置yum源,用yum install安装。
1.搭建ZooKeeper集群。
 2.在Nimbus和所有工作机器上面安装所有的软件。
(1)ZeroMQ 2.1.7 
(2)JZMQ 
(3)Java 
(4)Python 2.6.6 (因为storm的启动脚本是用Python写的)
3.在Nimbus和所有工作机器上下载并解压storm。 
4.对storm.yaml进行一些必要的配置。 
5.使用storm脚本来启动所有的必要的进程(nimbus, supervisor, worker)。

1、准备:
1).修改主机名:
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master

2).修改IP:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO="static"
HWADDR="00:0C:29:FC:62:B6"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="d0731a46-36df-4ab1-9bac-42bb151acc41"
IPADDR="192.168.1.11"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS1="8.8.8.8"
DNS2="8.8.4.4"

3).修改主机和IP的映射关系
vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.11   master
192.168.1.12   slave1


4).关闭防火墙
vim /etc/sysconfig/selinux

继续执行命令:
service iptables stop
chkconfig iptables off
reboot

2、搭建ZooKeeper集群。
1)解压tar -zxvf zookeeper-3.4.3.tar.gz 
2)conf / zoo_sample.cfg 改名为 zoo.cfg,因为 Zookeeper 在启动时会找这个文件作为默认配置文件 
3)修改zoo.cfg参数 
dataDir=/opt/software/zookeeper-3.4.3/data
server.1=192.168.1.11:2888:3888 
server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;当Leader 失效后,D 表示进行选举时服务器相互通信的端口。
4)创建myid文件并赋值。
集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下。所以我们创建dataDir目录,如(/zookeeper-3.4.3/data),并在目录下创建文件myid”    
编辑“myid”文件,这个文件里面就有一个数据就是 A 的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。 如果是多服务器配置,就需要将zookeeper-3.4.3目录拷贝到其他服务器,并修改myid。如server.1=192.168.211.1:2888:3888  那么myid文件在192.168.211.1服务器上的内容就是1。
3、在Nimbus和所有工作机器上面安装所有的软件。
1).安装jdk
chmod +x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin

mkdir /usr/java
mv jdk1.6.0_45/ /usr/java/

配置环境变量
vim /etc/profile
在文件最后面添加:
export JAVA_HOME=/usr/java/jdk1.6.0_45
export CLASSPATH=$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
更新配置:
source /etc/profile


上传zeromq-2.1.7.tar.gz、jzmq-master.zip、storm-0.8.2.zip、zookeeper-3.4.5.tar.gz等文件
2).编译安装ZMQ:zmq是通过源文件进行安装
tar -xzf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure 检测编译环境
#编译可能会出错:configure: error: Unable to find a working C++ compiler
#安装一下依赖的rpm包:libstdc++-devel gcc-c++ 
可以上网的情况下或已配置yum源的情况下: 
yum install gcc-c++
虚拟机不能上网情况:首先到http://mirrors.163.com/centos/6.4/os/x86_64/Packages/ 下载rpm
rpm -i libstdc++-devel-4.4.7-3.el6.x86_64.rpm
rpm -i gcc-c++-4.4.7-3.el6.x86_64.rpm
rpm -i libuuid-devel-2.17.2-12.9.el6.x86_64.rpm



再次执行
cd zeromq-2.1.7
./configure

再次执行
cd zeromq-2.1.7
./configure

make 编译
make install

3).编译安装JZMQ:java调用C++的桥梁,提供接口将数据存储在消息队列,也可以从消息队列取消息

cd jzmq
./autogen.sh 生成configure检测文件
#报错:autogen.sh: error: could not find libtool. libtool is required to run autogen.sh. 缺少libtool
yum install libtool
或者手动安装
rpm -i autoconf-2.63-5.1.el6.noarch.rpm 
rpm -i automake-1.11.1-4.el6.noarch.rpm 
rpm -i libtool-2.2.6-15.5.el6.x86_64.rpm

缺少autoconf,版本>=2.58

重新安装libtool

再次执行
cd jzmq
./autogen.sh 

./configure
make
make install
4).安装python:系统已经有了

4、在Nimbus和所有工作机器上下载并解压storm的发行版。
    解压即可
5、对storm.yaml进行一些必要的配置。 
1)storm.zookeeper.servers:为Storm集群配置的Zookeeper集群的主机列表。它应该像这样: storm.zookeeper.servers:  
 - "192.168.1.11"   
如果你的Zookeeper集群使用不同于默认的端口,你应该设置storm.zookeeper.port。 storm.zookeeper.port: 2181 
2)nimbus.host:Worker节点需要知道哪个机器是Master,和哪个通信。以便下载topology jars和confs。例如:
 nimbus.host: "192.168.1.11" 

6、使用storm脚本来启动所有的必要的进程(nimbus, supervisor, worker)。
Nimbus 在Nimbus机器上运行bin/storm nimbus  
Supervisor 在每台工作机器上运行bin/storm supervisor, supervisor负责启动和终止工作机器上的工作进程。  
UI storm UI是一个可以查看storm运行状态的的一个网站,通过bin/storm ui运行,访问地址: http://{nimbus.host}:8080 
后台进程访问


0 0
原创粉丝点击