大数据基础知识学习-----Storm学习笔记(三)Storm集群搭建

Storm集群搭建

环境准备

jar包下载

安装集群步骤:http://storm.apache.org/releases/1.1.2/Setting-up-a-Storm-cluster.html

虚拟机准备

  • 准备3台虚拟机
  • 配置ip地址
1.在终端命令窗口中输入
[root@hadoop101 /]#vim /etc/udev/rules.d/70-persistent-net.rules
删除eth0该行;将eth1修改为eth0,同时复制物理ip地址
2.修改IP地址
[root@hadoop101 /]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
需要修改的内容有5项:
IPADDR=192.168.1.101
GATEWAY=192.168.1.2
ONBOOT=yes
BOOTPROTO=static
DNS1=192.168.1.2
:wq  保存退出
3.执行service network restart
4.如果报错,reboot,重启虚拟机
  • 配置主机名称
  • 3台主机分别关闭防火墙
[root@hadoop102 luo]# chkconfig iptables off
[root@hadoop103 luo]# chkconfig iptables off
[root@hadoop104 luo]# chkconfig iptables off

安装Jdk

卸载现有jdk

  • 查询是否安装java软件:rpm -qa|grep java
  • 如果安装的版本低于1.7,卸载该jdk:rpm -e 软件包

用filezilla工具将jdk、Hadoop-2.7.2.tar.gz导入到opt目录下面的software文件夹下面

在linux系统下的opt目录中查看软件包是否导入成功

[root@hadoop101opt]# cd software/
[root@hadoop101software]# ls
jdk-7u79-linux-x64.gz  hadoop-2.7.2.tar.gz   

解压jdk到/opt/module目录下

tar -zxf jdk-7u79-linux-x64.gz -C /opt/module/

配置jdk环境变量

1.先获取jdk路径:
[root@hadoop101 jdk1.7.0_79]# pwd /opt/module/jdk1.7.0_79     
2.打开/etc/profile文件:
[root@hadoop101 jdk1.7.0_79]# vi /etc/profile
在profie文件末尾添加jdk路径:
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
3.保存后退出:
:wq
4.让修改后的文件生效:
[root@hadoop101 jdk1.7.0_79]# source  /etc/profile
5.重启(如果java –version可以用就不用重启):  
[root@hadoop101 jdk1.7.0_79]# sync
[root@hadoop101 jdk1.7.0_79]# reboot
6.测试jdk安装成功
[root@hadoop101 jdk1.7.0_79]# java -version
java version "1.7.0_79"

安装Zookeeper

集群规划

在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper

解压安装

解压zookeeper安装包到/opt/module/目录下l

[luo@hadoop102 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/

在/opt/module/zookeeper-3.4.10/这个目录下创建zkDatae

mkdir -p zkData

重命名/opt/module/zookeeper-3.4.10/conf这个目录下的zoo_sample.cfg为zoo.cfg

mv zoo_sample.cfg zoo.cfg

配置zoo.cfg文件

具体配置

dataDir=/opt/module/zookeeper-3.4.10/zkData

增加如下配置

#######################cluster##########################
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888

配置参数说明

Server.A=B:C:D
A是一个数字,表示这个是第几号服务器;
B是这个服务器的ip地址;
C是这个服务器与集群中的Leader服务器交换信息的端口;
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,
    选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口

集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。

集群操作

在/opt/module/zookeeper-3.4.10/zkData目录下创建一个myid的文件

touch myid

添加myid文件,注意一定要在linux里面创建,在notepad++里面很可能乱码

编辑myid文件

vi myid
在文件中添加与server对应的编号:如2

拷贝配置好的zookeeper到其他机器上

scp -r zookeeper-3.4.10/ root@hadoop103.luo.com:/opt/app/
scp -r zookeeper-3.4.10/ root@hadoop104.luo.com:/opt/app/
并分别修改myid文件中内容为3、4

分别启动zookeeper

[root@hadoop102 zookeeper-3.4.10]# bin/zkServer.sh start
[root@hadoop103 zookeeper-3.4.10]# bin/zkServer.sh start
[root@hadoop104 zookeeper-3.4.10]# bin/zkServer.sh start

查看状态

[root@hadoop102 zookeeper-3.4.10]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
[root@hadoop103 zookeeper-3.4.10]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader
[root@hadoop104 zookeeper-3.4.5]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower

Storm集群部署

配置集群

  • 拷贝jar包到hadoop102的/opt/software目录下
  • 解压jar包到/opt/module目录下:[luo@hadoop102 software]$ tar -zxvf apache-storm-1.1.0.tar.gz -C /opt/module/
  • 修改解压后的apache-storm-1.1.0.tar.gz文件名称为storm:[luo@hadoop102 module]$ mv apache-storm-1.1.0/ storm
  • 在/opt/module/storm/目录下创建data文件夹:[luo@hadoop102 storm]$ mkdir data
  • 修改配置文件
[luo@hadoop102 conf]$ pwd /opt/module/storm/conf
[luo@hadoop102 conf]$ vi storm.yaml
# 设置Zookeeper的主机名称
storm.zookeeper.servers:
     - "hadoop102"
     - "hadoop103"
     - "hadoop104"
# 设置主节点的主机名称
nimbus.seeds: ["hadoop102"]
# 设置Storm的数据存储路径
storm.local.dir: "/opt/module/storm/data"
# 设置Worker的端口号
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
  • 配置环境变量
[root@hadoop102 storm]# vi /etc/profile #STORM_HOME
export STORM_HOME=/opt/module/storm
export PATH=$PATH:$STORM_HOME/bin
[root@hadoop102 storm]# source /etc/profile
  • 分发配置好的Storm安装包:[luo@hadoop102 storm]$ xsync storm/

  • 启动集群

    • 后台启动nimbus
    [luo@hadoop102 storm]$ bin/storm nimbus &
    [luo@hadoop103 storm]$ bin/storm nimbus &
    [luo@hadoop104 storm]$ bin/storm nimbus &
    
    • 后台启动supervisor
    [luo@hadoop102 storm]$ bin/storm supervisor &
    [luo@hadoop103 storm]$ bin/storm supervisor &
    [luo@hadoop104 storm]$ bin/storm supervisor &
    
    • 启动Storm ui
    [luo@hadoop102 storm]$ bin/storm ui
    

通过浏览器查看集群状态:http://hadoop102:8080/index.html

Storm日志信息查看

查看nimbus的日志信息

在nimbus的服务器上
cd /opt/module/storm/logs
tail -100f /opt/module/storm/logs/nimbus.log

查看ui运行日志信息

在ui的服务器上,一般和nimbus一个服务器
cd /opt/module/storm/logs
tail -100f /opt/module/storm/logs/ui.log

查看supervisor运行日志信息

在supervisor服务上
cd /opt/module/storm/logs
tail -100f /opt/module/storm/logs/supervisor.log

查看supervisor上worker运行日志信息

在supervisor服务上
cd /opt/module/storm/logs
tail -100f /opt/module/storm/logs/worker-6702.log

logviewer,可以在web页面点击相应的端口号即可查看日志

分别在supervisor节点上执行:
[luo@hadoop102 storm]$ bin/storm logviewer &
[luo@hadoop103 storm]$ bin/storm logviewer &
[luo@hadoop104 storm]$ bin/storm logviewer &

Storm命令行操作

  • nimbus:启动nimbus守护进程:storm nimbus
  • supervisor:启动supervisor守护进程:storm supervisor
  • ui:启动UI守护进程:storm ui
  • list:列出正在运行的拓扑及其状态:storm list
  • logviewer:Logviewer提供一个web接口查看Storm日志文件:storm logviewer
  • jar:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】
  • kill:杀死名为Topology-name的拓扑:storm kill topology-name [-w wait-time-secs]-w:等待多久后杀死拓扑
  • active:激活指定的拓扑spout:storm activate topology-name
  • deactivate:禁用指定的拓扑Spout:storm deactivate topology-name
  • help:打印一条帮助消息或者可用命令的列表:storm helpstorm help <command>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 背景 OpenShift是目前比较主流的基于Kubernetes的容器云解决方案,OpenShift在kubern...
    小白_18M阅读 1,167评论 0 5
  • Strom集群结构是有一个主节点(nimbus)和多个工作节点(supervisor)组成的主从结构,主节点通过配...
    看山远兮阅读 2,822评论 0 7
  • storm简介 名词解释: spout,读取原始数据为bolt提供数据 bolt ,从spout或其它bolt接收...
    盗梦者_56f2阅读 1,316评论 2 1
  • 015年03月19日 23:28:19 本文主要是参照strom的管网中的document中来进行安装,管网地址 ...
    AIOPstack阅读 775评论 0 1
  • “我爱歌词如命,可现在它却要我的命。”患上了焦虑症的著名填词人林夕如是说。崔永元谈抑郁症:并非是一种见不得人的病。...
    媛小医阅读 994评论 4 7