美文网首页
大数据基础知识学习-----Storm学习笔记(三)Storm集

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

作者: Waldeinsamkeit4 | 来源:发表于2018-06-08 13:00 被阅读0次

    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>

    相关文章

      网友评论

          本文标题:大数据基础知识学习-----Storm学习笔记(三)Storm集

          本文链接:https://www.haomeiwen.com/subject/eztasftx.html