zoukankan      html  css  js  c++  java
  • windows下安装和配置hadoop

    1.安装java

    hadoop基于java开发,安装hadoop前需要安装java,并在环境变量中加入JAVA_HOME,hadoop通过JAVA_HOME的地址找到java;

    2.安装hadoop

    下载hadoop,下载地址:

     
    建议不要下载最高版本,而是下载稳定版本,我下载的是3.2.2版本;将压缩包解压到安装目录,注意安装目录的路径中不要有空格;
     
    我将hadoop压缩包解压到D:hadoop路径下,解压后hadoop的目录是D:hadoophadoop-3.2.2;
     
    然后下载winutils,在github上可以找到:
     
    找到winutils中对应hadoop版本的文件夹,我的安装版本是3.2.2,将winutils下名为3.2.2文件夹中的文件,复制到hadoop安装目录下的bin文件夹中,替换所有同名的文件;
     
    在环境变量中加入HADOOP_HOME,路径为D:hadoophadoop-3.2.2,并在path中加入%HADOOP_HOME%in和%HADOOP_HOME%sbin;
     
    跟安装java检查环境变量是否配置正确类似,可以在cmd中输入hadoop version,检查hadoop环境变量配置是否正确;
     
     
    3.配置hadoop
    hadoop的主要配置在安装目录中etc/hadoop目录下;
     
    (1)修改core-site.xml
    其中第一个property,hadoop.tmp.dir配置的是保存数据的临时路径,在hadoop安装路径下新建data文件夹,value配置为/D:/hadoop/hadoop-3.2.2/data,注意路径前加了一个'/';
    fs.defaultFS配置的是hdfs的ip和端口号,因为安装在本地,ip配置为localhost,端口配置为9000;
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
          <name>hadoop.tmp.dir</name>
          <value>/D:/hadoop/hadoop-3.2.2/data</value>
        </property>
        <property>
          <name>fs.defaultFS</name>
          <value>hdfs://localhost:9000</value>
        </property>
    </configuration>
    (2)修改hadoop-env.cmd
    其中JAVA_HOME默认配置为%JAVA_HOME%,可以按实际情况修改;
    set JAVA_HOME=%JAVA_HOME%
    (3)修改hdfs-site.xml
    其中dfs.replication是数据库的副本数,默认为3;
    dfs.namenode.name.dir是DFS名称节点在本地文件系统中存储名称表(fsimage)的位置;
    dfs.datanode.data.dir是DFS数据节点在本地文件系统中的位置;
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/D:/hadoop/hadoop-3.2.2/data/namenode</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/D:/hadoop/hadoop-3.2.2/data/datanode</value>
        </property>
    </configuration>
    (3)修改mapred-site.xml
    其中mapreduce.framework.name是指定执行mapreduce作业时使用的框架,可以配置local、classic、yarn,我这里配置的是yarn;
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
         <property>
                <name>mapreduce.framework.name</name>
                 <value>yarn</value>
        </property>
    </configuration>
    (4)修改yarn-site.xml
    其中yarn.nodemanager.aux-services用于指定在进行mapreduce作业时,yarn使用mapreduce_shuffle混洗技术;
    yarn.nodemanager.aux-services.mapreduce.shuffle.class用于指定混洗技术对应的字节码文件;
    <?xml version="1.0"?>
    <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.hahoop.mapred.ShuffleHandler</value>
        </property>
    </configuration>
    4.节点格式化
    正常情况下,格式话结束会显示'namenode has been successfully formated',如果格式话失败,原因可能是环境变量配置问题、hadoop版本和winutils版本不一致、etc中配置错误;
    hdfs namenode -format
    5.启动hadoop
    以管理员身份打开cmd,使用win+r快捷键打开运行,输入cmd,然后ctrl+shift+enter,选择‘是’,打开cmd;
    执行start-all.cmd,会新打开4个cmd,分别是namenode、resourcemanager、nodemanager、datanode的4个进程,如果这4个cmd启动没有报错,则启动成功;
     
     
    6.访问hadoop服务网页
     
    访问集群节点:
    http://localhost:8088/
     
    访问HDFS:
    http://localhost:9870/
     
     
    7.启动hadoop遇到的报错和解决方法
     
    报错1: 
    java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/server/timelineservice/collector/TimelineCollectorManager
     
    解决方法:
    将<hadoop安装目录>sharehadoopyarn imelineservicehadoop-yarn-server-timelineservice-3.1.4.jar复制到<hadoop安装目录>sharehadoopyarn下一份
     
     
    报错2:
    Permissions incorrectly set for dir ... should be rwxr-xr-x, actual value = rw-rw-rw-
     
    解决方法:
    执行节点格式化语句(hdfs namenode -format)后,会在C盘tmp下生成hadoop-yarn-...的文件夹,删除这个文件夹后重新运行hadoop
     
     
    报错3:
    org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Failed to setup local dir ... /nm-local-dir, which was marked as good.
     
    解决方法:
    使用管理员权限运行cmd
     
     
    报错4:
    util.SysInfoWindows: ExitCodeException exitCode=-1073741515
     
    解决方法:
    运行hadoop安装目录bin下的winutils.exe,查看报错,根据报错内容解决具体问题
     
     
    参考:
    -1.WIN10安装配置Hadoop  https://zhuanlan.zhihu.com/p/111844817
    -2.Hadoop集群的四个配置文件的常用属性解析  https://zhuanlan.zhihu.com/p/114278318
     
     
  • 相关阅读:
    Linq的一些常见Demo
    有一名员工发现日历已经7天没有翻了,于是他连着翻了7页,7天的总和刚好是138,问这一天是几号?
    20块钱,1块钱1瓶,两个空瓶子可以换一瓶,问最多可以喝几瓶?
    【转】Java编程之字符集问题研究
    Reset / Validate Buffer
    Article Master Data Deviation
    STAD Parameters
    Linux11.2 MySQL常用命令
    Linux11.1 设置更改Mysql的root密码及连接mysql
    Linux5.10 告警系统
  • 原文地址:https://www.cnblogs.com/xhj123/p/15359298.html
Copyright © 2011-2022 走看看