Hadoop系列~环境搭建,单机/伪分布式配置(一)

下载

前往下载最新的Hadoop安装包 Apache Download Mirrors

我使用的版本是2.7.3

安装JDK环境

这个自行网上查,配置文章很多,这里不过多赘述。

  # 验证方式
  java -version

  # 启动hadoop
  hadoop安装目录/bin/hadoop

Hadoop 支持三种模式:

  • 本地模式(单机) 
  • 伪分布式模式
  • 分布式模式-集群

本文章只介绍前面两种

Standalone Operation本地模式(单机)

默认情况下,Hadoop是作为单独的JAVA进程处理,运行在非分布式场景下,调试非常方便。

下面的案例:复制hadoop安装目录下etc/hadoop/*.xml作为输入input数据源,运行hadoop自带案例examples程序,匹配查找,最后把输出到output目录下.

  $ mkdir input
  $ cp etc/hadoop/*.xml input
  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output 'dfs[a-z.]+'
  $ cat output/*

伪分布式模式

Hadoop也可以在单节点上以伪分布式的方式运行,Hadoop进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。.

配置文件修改

修改两个配置文件:

etc/hadoop/core-site.xml:


    
        fs.defaultFS
        hdfs://localhost:9000
    

etc/hadoop/hdfs-site.xml:


    
        dfs.replication
        1
    

设置不用密码登录的ssh

如果没有安装ssh,则先进行安装,然后通过下面命令连接localhost

  $ ssh localhost

如果提示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

执行

下面的说明是运行一个本地MapReduce任务.

  1. 格式化:

      $ bin/hdfs namenode -format
    
  2. 启动NameNode和DataNode:

      $ sbin/start-dfs.sh
    

    启动日志输出目录: $HADOOP_LOG_DIR (默认是$HADOOP_HOME/logs).

  3. 打开浏览器查看NameNode,默认访问地址:

    • NameNode - http://localhost:50070/
  4. 创建HDFS目录,执行MapReduce任务:

      $ bin/hdfs dfs -mkdir input
    
  5. 复制xml文件到分布式文件系统中:

      $ bin/hdfs dfs -put etc/hadoop/*.xnl input
    
  6. 运行案例:

      $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output 'dfs[a-z.]+'
    
  7. 检验输出结果: 从分布式文件系统中复制文件到本地系统,然后查看:

      $ bin/hdfs dfs -get output output
      $ cat output/*
    

    或者

    你也可以直接在分布式文件系统中查看输出结果:

      $ bin/hdfs dfs -cat output/*
    
  8. 停止服务:

      $ sbin/stop-dfs.sh
    

YARN on a Single Node

你也可能YARN的方式运行MapReduce任务,只需要配置一些参数,会独立启动ResourceManager和NodeManager进程.

YARN 是从 MapReduce 中分离出来的,负责资源管理与任务调度。

YARN 运行于 MapReduce 之上,提供了高可用性、高扩展性,YARN 的更多介绍在此不展开,有兴趣的可查阅相关资料。

假定上面 1. ~ 4步,已经正确执行了.

  1. 修改配置文件:etc/hadoop/mapred-site.xml:

    
        
            mapreduce.framework.name
            yarn
        
    
    

    etc/hadoop/yarn-site.xml:

    
        
            yarn.nodemanager.aux-services
            mapreduce_shuffle
        
    
    
  2. 启动yarn,从而启动ResourceManager和NodeManager进程:

      $ sbin/start-yarn.sh
    
  3. 浏览器访问; 默认访问地址是:

    • ResourceManager - http://localhost:8088/
  4. 运行案例(和上面一样),验证输出.

  5. 停止服务:

      $ sbin/stop-yarn.sh
    

分布式模式

请参考文章 Cluster Setup.



参考资料

http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/SingleCluster.html

http://www.powerxing.com/install-hadoop/ (ubuntu)

http://www.powerxing.com/install-hadoop-in-centos/ (centos)

大数据技术学习路线


你可能感兴趣的:(Hadoop,云计算/大数据)