分布式系统基础架构——Hadoop

1.Hadoop

  a.概念:Hadoop是一个由Apache基金会所开发的分布式系统基础架构

  b.组成:Hadoop = HDFS (文件系统) + Mapreduce (数据处理)

 

2.安装

  a.配置Java运行环境

  b.从官网下载 Hadoop 并解压,地址:http://hadoop.apache.org/releases.html

  c.下载 winutils 对 windows 进行支持,地址:https://github.com/steveloughran/winutils(支持老版本)

                      https://github.com/zyj108/apache-hadoop-3.1.0-winutils(支持Hadoop3.1.2)

  d.解压 winutils 覆盖到 Hadoop 根目录(主要是覆盖bin目录)

  e.在 Hadoop 的 etc\hadoop 下,修改如下配置文件

    ①修改core-site.xml,配置默认hdfs的访问端口

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9527</value>
    </property>    
</configuration>

 

    ②修改hdfs-site.xml,配置复制集(1为不复制)以及namenode文件路径和datanode数据路径

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>    
        <name>dfs.namenode.name.dir</name>    
        <value>file:/hadoop/data/dfs/namenode</value>    
    </property>    
    <property>    
        <name>dfs.datanode.data.dir</name>    
        <value>file:/hadoop/data/dfs/datanode</value>  
    </property>
</configuration>

 

    ③修改mapred-site.xml,配置mr使用的框架为yarn

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

 

    ④修改yarn-site.xml,配置yarn使用mr混洗

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

 

    ⑤修改hadoop-env.cmd,设置Java访问路径

set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_201

    注意:由于路径中不能包含空格,所以 Program Files 需要用 PROGRA~1 代替

 

  f.在 hadoop 的 bin 目录下,执行CMD命令格式化hdfs:hdfs namenode -format

  g.在 hadoop 的 sbin 目录下,执行CMD命令启动服务:start-all.cmd

  h.访问 http://localhost:8088/ 及 http://localhost:9870/ 集群状态及Hadoop状态

 

3.问题及解决:

  a.问题:在执行 start-all.cmd 时,其中有窗口报出java.lang.ClassNotFoundException: org.apache.hadoop.yarn.server.timelineservice.collect 的异常

   解决:将 hadoop 的 share\hadoop\yarn\timelineservice 目录下的 hadoop-yarn-server-timelineservice-3.1.2.jar,复制到上一级目录 share\hadoop\yarn 中即可

  

  b.问题:在执行 start-all.cmd 时,出现找不到hadoop文件的错误

   解决(不推荐):修改 start-all.cmd,添加hadoop路劲在文件最上方

cd D:\Tools\hadoop-3.1.2\bin

    解决(推荐):添加环境变量 HADOOP_HOMED:\Tools\hadoop-3.1.2,在 Path 变量中添加 %HADOOP_HOME%\bin

 

4.参考文章:https://www.cnblogs.com/chevin/p/9090683.html

      https://blog.csdn.net/qq_33398459/article/details/86687379

 

posted @ 2019-07-05 10:45  晨M风  阅读(622)  评论(0编辑  收藏  举报