• 流式大数据计算实践(2)Hadoop集群和Zookeeper


    一、前言

    1、上一文搭建好了Hadoop单机模式,这一文继续搭建Hadoop集群

    二、搭建Hadoop集群

    1、根据上文的流程得到两台单机模式的机器,并保证两台单机模式正常启动,记得第二台机器core-site.xml内的fs.defaultFS参数值要改成本机的来启动,启动完毕后再改回来

    2、清空数据,首先把运行单机模式后生成的数据全部清理掉

    rm -rf /work/hadoop/nn/current
    
    rm -rf /work/hadoop/dn/current

    hdfs namenode -format

    3、启动集群

    (1)storm1作为namenode节点,所以在这台机上面执行命令启动namenode

    $HADOOP_PREFIX/sbin/hadoop-daemon.sh --script hdfs start namenode

    (2)storm2作为datanode节点,所以在这台机上面执行命令启动datanode

    $HADOOP_PREFIX/sbin/hadoop-daemon.sh --script hdfs start datanode

    (3)通过jps命令可以看到对应的节点,然后通过50070的控制台可以看到storm2的datanode节点

    三、ZooKeeper

    1、Zookeeper是分布式框架经常要用到的应用协调服务,相当于让分布式内的每个组件同步起来

    2、Zookeeper安装

    (1)下载Zookeeper的tar.gz包,并解压

    (2)配置环境变量

    vim /etc/profile
    
    #set zookeeper env
    export ZOOKEEPER_HOME=/work/soft/zookeeper-3.4.13
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
    
    source /etc/profile

    (3)配置ZooKeeper

    ①进入到Zookeeper目录的conf文件夹,可以看到里面有一个配置文件的模板zoo_sample.cfg,将模板复制一份到zoo.cfg

    ②然后编辑内容,只需要修改Zookeeper的存放数据的目录(记得创建对应文件夹)

    vim /work/soft/zookeeper-3.4.13/conf/zoo.cfg
    
    dataDir=/work/zookeeper/data

    ③继续编辑bin目录下的zkEnv.sh文件来修改Zookeeper存放日志的目录(记得创建对应文件夹)

    vim /work/soft/zookeeper-3.4.13/bin/zkEnv.sh
    
    ZOO_LOG_DIR=/work/zookeeper/logs

    ④进入到刚刚设定的数据目录,创建一个文件myid,并写入本台机器的Zookeeper Id,这个id的取值范围是1-255,我这里取得分别是1和2

    vim /work/zookeeper/data/myid
    
    1

    (4)启动单机版Zookeeper

    ①首先启动Zookeeper

    $ZOOKEEPER_HOME/bin/zkServer.sh start

    ②进入到Zookeeper的控制台查看数据目录是否正常

    $ZOOKEEPER_HOME/bin/zkCli.sh
    
    ls /

    (5)启动集群版Zookeeper

    ①先停止单机版

    $ZOOKEEPER_HOME/bin/zkServer.sh stop

    ②把刚刚单机版产生的数据删除,执行删除目录时,一定要小心不要输错,还有记得再把刚才的myid文件创建出来- -

    rm -rf /work/zookeeper/data/*
    rm -rf /work/zookeeper/logs/*

    ③进入Zookeeper的conf目录,编辑zoo.cfg,在文件末尾配置Zookeeper集群的节点信息

    vim /work/soft/zookeeper-3.4.13/conf/zoo.cfg
    
    server.1=storm1:2888:3888
    server.2=storm2:2888:3888

    ④在每台机器启动Zookeeper,然后通过jps命令查看进程是否存在

    $ZOOKEEPER_HOME/bin/zkServer.sh start
    
    jps

    ⑤使用查看集群状态命令,在每台机器执行,可以发现一台是leader,另一台是follower,说明集群是OK的

    $ZOOKEEPER_HOME/bin/zkServer.sh status

  • 相关阅读:
    怎么点击div之外的区域就隐藏这个div啊 找了很久,都没有很好解决
    ibatis 到 MyBatis区别
    MyBatis学习(一)一个简单的例子
    iBatis简单入门教程
    strut2的标签
    spring事务传播机制实例讲解
    ORACLE中Drop table cascade constraints之后果.
    oracle表的操作sql语句
    webService
    Oracle临时表
  • 原文地址:https://www.cnblogs.com/orange911/p/9990328.html
Copyright © 2020-2023  润新知