我是靠谱客的博主 殷勤小土豆,最近开发中收集的这篇文章主要介绍Hadoop3.1.0(伪分布式)安装教程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、支持的平台

  • 支持GNU/Linux作为开发和生产平台。
  • Windows也是一个支持的平台,下面步骤仅适用于Linux。

二、所需软件

所需的Linux软件包括:

  1. Java必须安装。
  2. 如果要使用可选的启动和停止脚本,必须安装ssh,并且必须运行sshd才能使用管理远程Hadoop守护程序的Hadoop脚本。此外,建议安装pdsh以获得更好的ssh资源管理。

三、安装软件

    如果你的集群没有必要的软件,你需要安装它。

    $ sudo apt-get install ssh

    $ sudo apt-get install pdsh

四、下载

    在hadoop.apache.org中下载当前最新版本hadoop3.1.0。

五、准备启动Hadoop集群

    解压下载的Hadoop发行版。在发行版中,编辑文件etc/hadoop/hadoop-env.sh来定义一些参数,如下所示:

#设置为Java安装的根目录
  导出JAVA_HOME=/usr/java/latest

    尝试以下命令:

$ bin/hadoop

    这将显示hadoop脚本的使用文档。

    启动hadoop集群有三种模式:

  1. 本地(独立)模式
  2. 伪分布式模式
  3. 完全分布式模式

    1、本地(独立)模式

        默认情况下,Hadoop被配置为以非分布式模式运行,作为单个Java进程。这对调试很有用。

        以下示例将解压后的conf目录复制为输出,然后查找并显示给定正则表达式的每个匹配项。输出写入给定的输出目录。

  $ mkdir输入
  $ cp etc / hadoop / *。xml输入
  $ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-3.1.0.jar grep input output'dfs [az。] +'
  $ cat输出/ *

    2、伪分布式操作

        Hadoop也可以在伪分布式模式下的单节点上运行,其中每个Hadoop守护进程都在单独的Java进程中运行。

        使用一下配置:

            在etc/hadoop/core-site.xml中:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop000:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hadoopdata</value>
        <description>Abase for other temporary directories.</description>
    </property>
</configuration>

            在etc/hadoop/HDFS-site.xml中:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

           设置passphraseless ssh

                现在检查是否可以在没有密码的情况下ssh到本地主机:

  $ ssh localhost

                如果不能再没有密码的情况下ssh到本地主机,请执行一下命令:

  $ ssh-keygen -t rsa -P''-f〜/ .ssh / id_rsa
  $ cat〜/ .ssh / id_rsa.pub >>〜/ .ssh / authorized_keys
  $ chmod 0600〜/ .ssh / authorized_keys

            修改etc/hadoop/workers,注意:workers这个文件就是hadoop2.x版本中的slaves。

hadoop000  #主机名

            格式化文件系统:

  $ bin / hdfs namenode -format

            启动NameNode守护进程和DataNode守护进程:

  $ sbin / start-dfs.sh

            浏览NameNode的Web界面:

http://localhost:9870

            配置YARN在单个节点上:

            在etc/hadoop/mapred-site.xml中:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

            在etc/hadoop/yarn-site.xml中:

 <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>

            启动ResourceManager守护进程和NodeManager守护进程:

  $ sbin / start-yarn.sh

            浏览ResourceManage的Web界面:

http://localhost:8088/

            运行MapReduce作业。

            停止进程:

$ stop-dfs.sh
$ stop-yarn.sh

注:

    如果启动HDFS时出现以下错误:

Starting namenodes on [hadoop000]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [hadoop000]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
2018-04-13 07:37:05,439 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

     解决办法:

            一定要在文档的最前面添加参数!!!

$ vim start-dfs.sh
$ vim stop-dfs.sh
#分别在文档的最前面,添加如下参数:
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root 

如果启动YARN时出现以下错误:

Starting resourcemanager
ERROR: Attempting to operate on yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
Starting nodemanagers
ERROR: Attempting to operate on yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.

     解决办法:

            一定要在文档的最前面添加参数!!!

$ vim start-yarn.sh
$ vim stop-yarn.sh
#分别在两个文件最前端,添加如下参数:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root



最后

以上就是殷勤小土豆为你收集整理的Hadoop3.1.0(伪分布式)安装教程的全部内容,希望文章能够帮你解决Hadoop3.1.0(伪分布式)安装教程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部