storm-0.9.5 ubuntu超详细配置攻略

来源:互联网 发布:全钢oa网络防静电地板 编辑:程序博客网 时间:2024/05/17 09:20

请勿转载 请勿转载 请勿转载

配置环境 Ubuntu 14
主要流程:
1. 创建hadoop用户
2. 配置ZOOKEEPER
3. 配置STORM集群

1 创建Hadoop用户

sudo useradd -m hadoop -s /bin/bash

增加hadoop用户

sudo passwd hadoop 

设置hadoop用户的密码

sudo adduser hadoop sudo 

给hadoop用户增加sudo权限

su - hadoop

登录hadoop用户

2 配置Zookeeper

下载zookeeper。在当前的的linux目录下:

wget http://apache.mirrors.ionfish.org/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

(wget 命令用于下载)

解压缩文件:

sudo tar -zxvf zookeeper-3.4.6.tar.gz

得到文件zookeeper-3.4.6,移动到/usr/local

sudo mv zookeeper-3.4.6 /usr/local

重命名

sudo mv zookeeper-3.4.6 zookeeper

改变文件的所有权

sudo chown -R hadoop:hadoop zookeeper

在文件zookeeper/bin/zkEnv.sh 最上面增加一行
(emacs zkEnv.sh 用emacs或者vi,vim打开此文件)
zookeeper的日志文件将放在此处

ZOO_LOG_DIR=/var/log/zookeeper

改变zkEnv.sh权限

sudo chown -R hadoop:hadoop /var/log/zookeeper

修改配置文件 zookeeper/conf/zoo.cfg
先复制一份模板

mv zoo_sample.cfg zoo.cfg

emacs,vi,vim打开文件zoo.cfg

emacs zoo.cfg
12行dataDir 修改为

dataDir=/usr/local/zookeeper/tmp

至此单机版Zookeeper就可以运行了

zookeeper/bin/zkServer.sh start

查看状态

zookeeper/bin/zkServer.sh status

会显示stonalone model

好了,接下来我们往下配置Cluster集群模式
我们需要在当前系统打开3个linux虚拟机。虚拟机的配置请自行搜索。

记得同样在另外两台虚拟机上按照以上步骤同样新建hadoop用户。

为了方便在一台主机配置完成以后把相关配置文件直接发送给其他主机, 我们先配置ssh登录。

首先安装openssh-server,ssh的依赖库

sudo apt-get install openssh-server

生成主节点,也就是storm中得nimbus节点,我们叫做Master

打开/etc/hostname, 改变本机器的网络映射名

emacs /etc/hostname 

把原有的内容清空,在第一行加上

Master

同样在另外两台虚拟机中,我们叫做Slave1,Slave2中 打开hostname文件, 把原有的内容清空,在第一行分别写上

Slave1Slave2

打开/etc/hosts文件, 把所有主机的ip地址加上
按照这种格式,把Master,Slave1,Slave2的地址都加上
查看本机ip地址使用

ip addr show
emacs /etc/hosts

下一步我们生成ssh公钥
进入目录 ~/.ssh

cd ~/.ssh

如果显示没有该目录的话,

cd ~mkdir ./.ssh

生成ssh

ssh-keygen -t rsa

Master 节点需能无密码 ssh 本机,这一步还是在 Master 节点上执行:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

完成后可以使用 ssh Master 验证一下。接着将公匙传输到 Slave1 节点:

cp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/

scp时会要求输入Slave1上hadoop用户的密码(hadoop),输入完成后会提示传输完毕。

接着在 Slave1节点 上将ssh公匙保存到相应位置,执行

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

最后在 Master 节点上就可以无密码SSH到Slave1节点了。

尝试

ssh Slave1

成功登陆后退回来

exit

同样的步骤重复在Slave2节点!!

进入zookeeper目录,将其压缩打包发送给Slave1,Slave2

sudo tar -zcf ./zookeeper.tar.gz ./zookeeperscp ./zookeeper.tar.gz Slave1:/home/zookeeper

现在在Slave1,Slave2两台机器我们的/home/目录下,我们接收到Master节点发送过来的zookeeper文件。把他解压缩

tar -zxvf ./zookeeper.tar.gz

放入/usr/local

sudo mv ./zookeeper /usr/local

改变权限

sudo chown -R hadoop:hadoop ./zookeeper

接着为了配置集群模式,我们需要修改zookeeper的文件
首先修改zookeeper/conf/zoo.cfg

emacs zoo.cfg

这里写图片描述

如图增加额外三行
server.1=10.0.0.6:8881:77771
server.2
server.3
这里表示3台虚拟机的ip地址,主服务端口号,备用服务端口号

然后我们还需要修改这个目录
dataDir=/usr/local/zookeeper/tmp
注意:每台机器都需要做相应的修改
在server.* (*表示上图1,2,3编号)的机器上创建新文件myid,
emacs myid
默认是空白,第一行添加一个字符* (*表示上图1,2,3)
例如在机器Master(server1) 在myid中写上1.

下载storm
http://www.apache.org/dyn/closer.cgi/storm/apache-storm-0.9.5/apache-storm-0.9.5.tar.gz
压缩到本地

sudo tar -zxvf apache-storm-0.9.5.tar.gz

改名字

sudo mv apache-storm-0.9.5 storm

放到/usr/local

sudo mv storm /usr/local

修改权限

sudo chown hadoop:hadoop storm

修改文件storm/conf/storm.yaml
emacs storm.yaml
找到storm.zookeeper.server这行
在下面添加

- "Slave1"- "Slave2"

在nimbus.host这行 写上

“Master”

按照发送zookeeper同样步骤, 压缩storm,发送给Slave1,Slave2,并在Slave1,Slave2上解压缩, 并放入/usr/local中,且修改权限。

最后我们来运行storm集群

在3台虚拟机都打开zookeeper服务

zookeeper/bin/zkServer.sh start

输入jps

jps

配置成功的话可以看到 QuorumPeerMain这个进程

在Master机器上输入

./storm nimbus >/dev/null 2>&1 &./storm ui >/dev/null 2>&1 &

在Slave1,Slave2输入

./storm supervisor >/dev/null 2>&1 &

在Master上输入jps可以看到进程
jps
core
QuorumPeerMain
nimbus

在Slave1,Slave2上输入jps可以看到进程
jps
QuorumPeerMain
supervisor

打开Master:8080/index.html (Master表示nimbus节点的ip地址,如果你设置的不是master,需要改成对应的名字或者对应的ip地址)
这里写图片描述

ok 到这里整个storm集群配置就结束了!!!
有问题的欢迎讨论!!!

0 0
原创粉丝点击