hadoop伪分布式环境搭建过程

  • Post author:
  • Post category:其他



何为伪分布式?


将一个任务分为几个任务去执行,只是这个任务都是运行在同一个机器上,只是模拟了分布式的过程。

伪分布式安装过程

2.7.6版本
安装过程
http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation
    -》将hadoop压缩包(一般是.tar.gz格式)上传至linux 后解压
    -》看看hadoop目录结构
        bin/*.cmd 删除*.cmd文件 *是通配符 .cmd文件是运行在windows上的
        sbin/*.cmd
        share/doc
    -》修改3个模块的环境变量(*.env)
        hadoop-env.sh、 yarn-env.sh、mapred-env.sh env代表的是environment(环境)
        修改这些文件中的JAVA_HOME全局变量 mapred-env.sh中的JAVA_HOME语句是注释掉的

添加可执行权限
        chmod u+x hadoop-env.sh yarn-env.sh mapred-env.sh 意思只授予这个文件的所属者执行的权限 而chmod +x somefile 和 chmod a+x somefile 是一样的
    -》按照模块来进行配置
        指明hdfs的主机位置 

common模块设置

在core-site.xm文件设置以下
<!--指定文件系统为HDFS及主节点NameNode运行的机器和端口-->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://bigdata-hpsk01.huadian.com:8020</value>
    </property>


其中bigdata-hpsk01.huadian.com为linux的主机名 当然IP地址也是可以的

<!--指定文件系统的本地临时存储目录,默认是当前系统/tmp-->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/modules/hadoop-2.7.3/data/tmpData</value>
    </property>
需要先创建临时文件夹之后在配置上面的这个! 如果不能创建的话 要注意权限问题哦

HDFS 引言:什么是分布式 分布式就是几个人同时在做一件事 把一件大事分为几件小事 很多个人都在做这件大事 只不过只是在做一部分 需要主从结构是因为要分工合作和对外联系 主节点负责分配工作以及对外联系 从节点负责向主节点汇报工作情况 主节点并根据从节点的情况合理分配资源 其次要体现这是一个分布式的文件系统 既然是分布式那么就会有主从结构 指明文件系统的主节点和从节点 并且开启服务 主节点(namenode)从节点(DataNode)

HDFS模块设置


 1. hdfs-site.xml文件设置

    <!--由于是伪分布式部署,仅有一台机器,所以block副本数没有必要设置为3,设置为1即可-->
        <property>
        <name>dfs.replication</name>
        <value>1</value>
        </property>

2. slaves文件:配置slaves文件,指定datanode运行在那些机器上

    bigdata-hpsk01.huadian.com    一行一个主机名,

3. 启动HDFS:

    第一次使用文件系统,需要格式化。
    -》格式系统

    cd /opt/modules/hadoop-2.7.3 进入hadoop的最高级目录
    bin/hdfs namenode -format 如果不成功可能是之前环境配置出错
    **-》启动**
        主节点
        sbin/hadoop-daemon.sh start namenode
        从节点
        sbin/hadoop-daemon.sh start datanode
    **-》验证是否启动成功**
     方式一:
     jps,
     ps -ef |grep java

     方式二:
     通过webUI 界面查看
     bigdata-hpsk01.huadian.com:50070
     **-》测试HDFS**
        帮助文档:bin/hdfs dfs 
        注意:HDFS文件系统目录和Linux目录结构类似,命令也类似                 
        创建目录:
            bin/hdfs dfs -mkdir /datas 
        看目录:
            bin/hdfs dfs -ls /datas
        上传文件:
            bin/hdfs dfs -put /opt/datas/input.data /datas/
        查看文件内容:
            bin/hdfs dfs -text /datas/input.data    
            bin/hdfs dfs -cat  /datas/input.data
            下载文件:
        bin/hdfs dfs -get /datas/input.data ./
        删除文件
        bin/hdfs dfs -rm -r /datas/input.data 

YARN模块配置

对于分布式资源管理和任务调度来说,哪些程序可以运行在YARN之上


MapReduce


并行数据处理框架


spark


基于内存分布式处理框架


storm/flink


实时流式处理框架


TeZ


分析数据,比MapReduce速度快


主节点


resourceManager


从节点


nodeManager

需要修改的配置


yarn-site.xml

    <!--resourceManager服务运行的主机名称-->
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>bigdata-hpsk01.huadian.com</value>
        </property>
        <!--告知yarn ,mapreduce程序将在你这里运行-->
            <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
            </property>

        slaves文件:
            前面已经修改了,不用增加了

            启动:
主节点:resourceManager
sbin/yarn-daemon.sh start resourcemanager
从节点:nodeManager
sbin/yarn-daemon.sh start nodemanager

        验证:
         方式一:jps  === ps -ef |grep java 
         方式二:bigdata-hpsk01.huadian.com:8088
        MapReduce:
            并行计算框架(2.X)
            思想:分而治之
            核心
                Map
                    并行处理数据,将数据分割,一部分一部分的处理
                Reduce
                    将Map的处理结果进行合并,
            配置:
                cd  {Hadoop_home}/etc/hadoop
                cp mapred-site.xml.template mapred-site.xml

                <!--指定MapReduce程序运行在YARN上,默认值local-->
                <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
                </property>


        mapreduce程序运行在YARN上
            通过经典程序案例,wordcount,
            Hadoop提到测试案例,
            /opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
            -》准备数据,数据是放到hdfs上
            -》提交运行
                bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount
            bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input.data /output1


        配置历史服务器
            查看监听已经运行完成的MapReduce任务的执行情况
            配置mapred-site.xml
                <!--配置历史服务器-->
                <property>
                    <name>mapreduce.jobhistory.address</name>
                    <value>bigdata-hpsk01.huadian.com:10020</value>
                </property>
            启动
                sbin/mr-jobhistory-daemon.sh start historyserver

            注意:在启动historyServer服务之前运行的job相关信息已经没了,
            只有后面运行的才有。

        日志集聚功能
            当MapReduce程序在YARN上运行完成之后,将产生日志文件上传到HDFS目录中,
            以便后续查看。
            yarn-site.xml   
            <!--日志集聚功能-->
                <property>
                    <name>yarn.log-aggregation-enable</name>
                    <value>true</value>
                </property>
                <!--日志存储的时间1周 60*60*24*7-->
                <property>
                    <name>yarn.log-aggregation.retain-seconds</name>
                    <value>604800</value>
                </property>


        重启YARN和jobHistoryServer

——————快照,克隆————————–

日志信息
    {Hadoop_home}/logs
     组件名称-用户名-服务名称-主机名
     hadoop-huadian-datanode-bigdata-hpsk01.huadian.com.log
     根据后缀名:
        .log
            程序启动相关信息会在里面,
            进程启动失败
        .out
            程序运行相关的输出   
            system.out.print
            system.out.error
    怎么看:
        tail -100f name



版权声明:本文为weixin_39056864原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。