hadoop伪分布式模式安装

伪分布式模式安装hadoop集群

 一、创建hadoop用户

 二、解压Hadoop目录文件

 三、配置Hadoop

 四、配置、格式化、启动HDFS

 五、配置、启动YARN

 六、运行MapReduce Job

 七、停止Hadoop

 八、开启历史服务

 九、开启日志聚集

 一.创建hadoop用户

      1.创建hadoop用户

              useradd hadoop

              passwd hadoop

       2、 给hadoop用户sudo权限

              vim /etc/sudoers

              设置权限,学习环境可以将hadoop用户的权限设置的大一些,但是生产环境一定要注意普通用户的权限限制。

              将下面的内容加到sudoers文件中

root    ALL=(ALL)       ALL
hadoop ALL=(root) NOPASSWD:ALL

       3、 切换到hadoop用户

              su - hadoop

       4、 创建存放hadoop文件的目录

              sudo mkdir /opt/modules

       5、 将hadoop文件夹的所有者指定为hadoop用户

              如果存放hadoop的目录的所有者不是hadoop,之后hadoop运行中可能会有权限问题,那么就讲所有者改为hadoop。

              sudo chown -R hadoop:hadoop /opt/modules

 二.解压Hadoop目录文件

       1、 复制hadoop-2.6.0-cdh5.7.0.tar.gz到/opt/modules目录下

       2、 解压hadoop-2.6.0-cdh5.7.0.tar.gz           tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz

 三.配置Hadoop

        1、 配置Hadoop环境变量    vim /etc/profile

        追加配置:

         export HADOOP_HOME="/opt/modules/hadoop-2.6.0-cdh5.7.0"
         export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

        执行:source /etc/profile 使得配置生效

        验证HADOOP_HOME参数:    echo $HADOOP_HOME

       2、 配置 hadoop-env.sh、mapred-env.sh、yarn-env.sh文件的JAVA_HOME参数

              sudo vim ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh

              修改JAVA_HOME参数为: export JAVA_HOME="/opt/modules/jdk1.7.0_67"

      3、 配置core-site.xml   (只用配置这两个标签,别的不用修改)

             

            vi  ${HADOOP_HOME}/etc/hadoop/core-site.xml

            (1) fs.defaultFS参数配置的是HDFS的地址

                      <property>
                          <name>fs.defaultFS</name>
                          <value>hdfs://address-01:9000</value>
                      </property>

            (2) hadoop.tmp.dir配置的是Hadoop临时目录,比如HDFS的NameNode数据默认都存放这个目录下,查看*-default.xml等默认配置文件,就可以看到很多依赖${hadoop.tmp.dir}的配置。

默认的hadoop.tmp.dir是/tmp/hadoop-${user.name},此时有个问题就是NameNode会将HDFS的元数据存储在这个/tmp目录下,如果操作系统重启了,系统会清空/tmp目录下的东西,导致NameNode元数据丢失,是个非常严重的问题,所有我们应该修改这个路径。

                   创建临时目录:mkdir -p /opt/data/tmp

                   将临时目录的所有者修改为hadoop    sudo chown –R hadoop:hadoop /opt/data/tmp

                     <property>

                             <name>hadoop.tmp.dir</name>

                             <value>/opt/data/tmp</value>

                     </property>

四.配置、格式化、启动HDFS

         1、 配置hdfs-site.xml (只用配置这一

个标签,别的不用修改)

               

              vi  ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml

              dfs.replication配置的是HDFS存储时的备份数量,因为这里是伪分布式环境只有一个节点,所以这里设置为1。

       2、 格式化HDFS

             ${HADOOP_HOME}/bin/ 目录下面            ./hdfs namenode –format

             

             格式化是对HDFS这个分布式文件系统中的DataNode进行分块,统计所有分块后的初始元数据的存储在NameNode中。

             格式化后,查看core-site.xml里hadoop.tmp.dir(本例是/opt/data目录)指定的目录下是否有了dfs目录,如果有,说明格式化成功。
 

注意:

          1.格式化时,这里注意hadoop.tmp.dir目录的权限问题,应该hadoop普通用户有读写权限才行,可以将/opt/data的所有者改为hadoop。
              sudo chown -R hadoop:hadoop /opt/data

          2.查看NameNode格式化后的目录。

              ll /opt/data/tmp/dfs/name/current

             

             fsimage是NameNode元数据在内存满了后,持久化保存到的文件。

             fsimage*.md5 是校验文件,用于校验fsimage的完整性。

             seen_txid 是hadoop的版本

             vession文件里保存:

              namespaceID:NameNode的唯一ID。

              clusterID:集群ID,NameNode和DataNode的集群ID应该一致,表明是一个集群。

             

           3、 启动NameNode      ${HADOOP_HOME}/sbin/hadoop-daemon.sh start namenode

           4、 启动DataNode         ${HADOOP_HOME}/sbin/hadoop-daemon.sh start datanode

           5、 启动SecondaryNameNode    ${HADOOP_HOME}/sbin/hadoop-daemon.sh start secondarynamenode

           6、 JPS命令查看是否已经启动成功,有结果就是启动成功了。

                

            7、 HDFS上测试创建目录、上传、下载文件(如果配置了hadoop环境变量可以在任何目录下面执行hdfs操作的命令)

                    HDFS上创建目录         hdfs dfs -mkdir /demo1

                   上传本地文件到HDFS上   hdfs dfs -put ${HADOOP_HOME}/etc/hadoop/core-site.xml  /demo1

                    读取HDFS上的文件内容    hdfs dfs -cat /demo1/core-site.xml

                  从HDFS上下载文件到本地     hdfs dfs -get /demo1/core-site.xml

五、配置、启动YARN

          1、 配置mapred-site.xml

               默认没有mapred-site.xml文件,但是有个mapred-site.xml.template配置模板文件。复制模板生成mapred-site.xml

               cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

               添加配置如下:  (指定mapreduce运行在yarn框架上。)

                      <property>

                          <name>mapreduce.framework.name</name>

                          <value>yarn</value>

                      </property>

         2、 配置yarn-site.xml

             添加配置如下:

           <property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
           </property>
          <property>
               <name>yarn.resourcemanager.hostname</name>
               <value>address-01</value>
           </property>

             yarn.nodemanager.aux-services配置了yarn的默认混洗方式,选择为mapreduce的默认混洗算法。

  •        yarn.resourcemanager.hostname指定了Resourcemanager运行在哪个节点上。

        3、 启动Resourcemanager      ${HADOOP_HOME}/sbin/yarn-daemon.sh start resourcemanager

        4、 启动nodemanager         ${HADOOP_HOME}/sbin/yarn-daemon.sh start nodemanager

        5 、查看启动的进程

               

         6、 YARN的Web页面   YARN的Web客户端端口号是8088,通过http://address-01:8088/可以查看。

                 

 六.运行MapReduce Job

在Hadoop的share目录里,自带了一些jar包,里面带有一些mapreduce实例小例子,位置在 ${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar

可以运行这些例子体验刚搭建好的Hadoop平台,我们这里来运行最经典的WordCount实例。
1、 创建测试用的Input文件

         bin/hdfs dfs -mkdir -p /wordcountdemo/input

        在本地/opt/data目录创建一个文件wc.input,内容如下

          

        将wc.input文件上传到HDFS的/wordcountdemo/input目录中:

             hdfs dfs -put /opt/data/wc.input /wordcountdemo/input

2、 运行WordCount MapReduce Job

          bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount /wordcountdemo/input /wordcountdemo/output

3、 查看输出结果目录

        控制台打印执行的日志

        

      hdfs目录下面的结果

            

                 ⭐️   output目录中有两个文件,_SUCCESS文件是空文件,有这个文件说明Job执行成功。

                 ⭐️part-r-00000文件是结果文件,其中-r-说明这个文件是Reduce阶段产生的结果,mapreduce程序执行时,可以没有

                       reduce阶段,但是肯定会有map阶段,如果没有reduce阶段这个地方有是-m-。

                 ⭐️ 一个reduce会产生一个part-r-开头的文件。
 

                    查看统计的结果

                      

 七.停止Hadoop

      sbin/hadoop-daemon.sh stop namenode stopping namenode
      sbin/hadoop-daemon.sh stop datanode   stopping datanode
      sbin/yarn-daemon.sh stop resourcemanager  stopping resourcemanager
      sbin/yarn-daemon.sh stop nodemanager   stopping nodemanager
八.开启历史服务

     1、历史服务介绍

           Hadoop开启历史服务可以在web页面上查看Yarn上执行job情况的详细信息。可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。

     2、开启历史服务     sbin/mr-jobhistory-daemon.sh start historyserver

           开启后,可以通过Web页面查看历史服务器:http://address-01:19888/

     3 、Web查看job执行历史

           1) 运行一个mapreduce任务

         bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount /wordcountdemo/input /wordcountdemo/output

           2) job执行中

                 

            3)  查看job历史

                  

                   

历史服务器的Web端口默认是19888,可以查看Web界面。

但是在上面所显示的某一个Job任务页面的最下面,Map和Reduce个数的链接上,点击进入Map的详细信息页面,再查看某一个Map或者Reduce的详细日志是看不到的,是因为没有开启日志聚集服务。

九.开启日志聚集

1、 日志聚集介绍

          MapReduce是在各个机器上运行的,在运行过程中产生的日志存在于各个机器上,为了能够统一查看各个机器的运行日志,            将日志集中存放在HDFS上,这个过程就是日志聚集

2、 开启日志聚集

      1)  配置日志聚集功能:

          Hadoop默认是不启用日志聚集的。在yarn-site.xml文件里配置启用日志聚集。

      <property>
          <name>yarn.log-aggregation-enable</name>
          <value>true</value>
       </property>
      <property>
          <name>yarn.log-aggregation.retain-seconds</name>
         <value>106800</value>
      </property>
         yarn.log-aggregation-enable:是否启用日志聚集功能。

        yarn.log-aggregation.retain-seconds:设置日志保留时间,单位是秒。

      2)  将配置文件分发到其他节点:

  scp /opt/modules/hadoop-2.6.0-cdh5.7.0/etc/hadoop/yarn-site.xml  root@address-02:/opt/modules/hadoop-2.6.0-cdh5.7.0/etc/hadoop/
  scp /opt/modules/hadoop-2.6.0-cdh5.7.0/etc/hadoop/yarn-site.xml root@address-03:/opt/modules/hadoop-2.6.0-cdh5.7.0/etc/hadoop/

      3)  重启Yarn进程:    sbin/stop-yarn.sh      sbin/start-yarn.sh

      4) 重启HistoryServer进程:  

              sbin/mr-jobhistory-daemon.sh stop historyserver   

             sbin/mr-jobhistory-daemon.sh start historyserver

3、 测试日志聚集

       bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount /wordcountdemo/input /wordcountdemo/output

       查看日志:

      运行Job后,就可以在历史服务器Web页面查看各个Map和Reduce的日志了。

      转载  https://blog.csdn.net/GitChat/article/details/77849331

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值