zoukankan      html  css  js  c++  java
  • Hadoop伪分布式模式部署

    Hadoop的安装有三种执行模式

    1. 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置。Hadoop执行在一个Java进程中。使用本地文件系统。不使用HDFS,一般用于开发调试MapReduce程序的应用逻辑。

    2. 伪分布式模式(Pseudo-Distributed Mode):需简单配置,相当于仅仅有一个节点的集群,Hadoop的全部守护进程执行在同一台机器上。该模式在单机模式之上添加了代码调试功能,同意你检查内存使用情况,HDFS输入输出。以及其它的守护进程交互。
    3. 全然分布式模式(Fully-Distributed Mode):依据须要进行配置。多节点,一般用于生产环境。可觉得是由伪分布式模式的一个节点变为多个节点。

    准备工作

    这里的准备工作能够查看Hadoop单机模式部署准备工作

    总结一下就是:

    1. Linux系统环境
    2. 安装JDK及其环境变量、ssh及ssh的免password登录
    3. Hadoop安装包
    4. 环境变量的配置

    环境搭建

    改动core-site.xml

    改动$HADOOP_HOME/etc/hadoop/core-site.xml文件。在默认情况下,这个文件为空。没有不论什么配置。这里须要指定NameNode的ip和port(默认port是8020)。

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://192.168.1.134:9000</value>
        </property>
    </configuration>
    

    192.168.1.134是我的本机地址。能够写localhost或127.0.0.1。可是假设须要Eclipse远程调用Hadoop的时候,须要些详细的ip地址。否则调不通。

    改动hdfs-site.xml

    HDFS是分布式文件系统。为了安全性考虑,会将上传至HDFS的文件的每一个分块复制到N个节点上,即复制N次(这里的N成为复制因子)。这里将复制因子改为1。

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

    启动最小Hadoop伪分布式模式

    经过上面的最小配置后,Hadoop已经能够启动伪分布式模式了。

    格式化文件系统

    第一次执行Hadoop的时候须要格式化其文件系统:

    $ bin/hdfs namenode -format
    

    假设成功,会打印:

    。。。

    14/10/14 19:09:05 INFO common.Storage: Storage directory /tmp/hadoop-lxh/dfs/name has been successfully formatted. 。

    。。

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

    直接通过Hadoop提供的脚本start-dfs.sh就可以:

    $ sbin/start-dfs.sh
    

    启动日志保存在$HADOOPLOGDIR文件夹中(默认是$HADOOP_HOME/logs)。

    查看启动的进程

    能够通过jps查看已经启动的进程:

    31536 SecondaryNameNode
    31381 DataNode
    31254 NameNode
    31643 Jps
    

    说明DataNodeNameNodeSecondaryNameNode已经启动成功。

    查看NameNode的web接口

    通过默认的NameNode的web接口http://localhost:50070/,能够查看NameNode收集的信息。相当于关于Hadoop提供的一个信息查询系统。

    Hello World

    运行官网提供的验证程序。

    $ hdfs dfs -mkdir /input
    $ hdfs dfs -put $HADOOP_HOME/etc/hadoop/* /input
    $ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep /input /output 'dfs[a-z.]+'
    $ hdfs dfs -cat /output/*
    

    最后一条命令是显示最后的运行结果:

    6   dfs.audit.logger
    4   dfs.class
    3   dfs.server.namenode.
    2   dfs.period
    2   dfs.audit.log.maxfilesize
    2   dfs.audit.log.maxbackupindex
    1   dfsmetrics.log
    1   dfsadmin
    1   dfs.servers
    1   dfs.replication
    1   dfs.file
    

    停止进程

    伪分布式模式中的第一个Hello World运行成功后,能够关闭进程了。

    $ stop-dfs.sh
    

    配置YARN

    通过配置一些參数,并启动ResourceManager守护进程和NodeManager守护进程,能够在伪分布式模式中,在YARN上执行MapReduce任务。

    上面的最小配置不变。

    改动mapred-site.xml

    在默认的Hadoop安装包中,没有mapred-site.xml文件,能够复制mapred-site.xml.template,并改动。指定在YARN中执行MapReduce任务:

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

    改动yarn-site.xml

    指明须要向MapReduce应用提供的Shuffle服务。

    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    

    执行

    能够通过start-yarn.sh启动ResourceManager守护进程和NodeManager守护进程,通过stop-yarn.sh停止。

    补充配置

    Hadoop默认将HDFS文件系统写在/tmp/hadoop-中。由于系统重新启动会清理/tmp文件夹。所以须要保证重新启动系统不丢失数据,须要改动默认数据保存位置。

    core-site.xml

    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/lxh/hadoop/tmp/hadoop</value>
    </property>
    

    hdfs-site.xml

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/lxh/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/lxh/hadoop/hdfs/data</value>
    </property>
    
  • 相关阅读:
    nginx 正向代理 反向代理 负载均衡
    nginx配置文件常用基本配置指令
    92)http 和https协议入门
    tp6--nginx下pathinfo配置
    tp6省略url里的index.php
    echarts鼠标移上去显示数据
    composer 下载thinkphp6失败
    tp5写入cookie失效
    4.15 Spring Cloud理论基础
    4.14 SpringBoot理论基础
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5118680.html
Copyright © 2011-2022 走看看