Hadoop安装——单机

根据Hadoop官网文档Hadoop: Setting up a Single Node Cluster.

准备环境、

  • Linux下java环境 jdk1.7+,下载hadoop 解压位置 /usr/local/hadoop

  • 为hadoop配置JAVA_HOME,修改etc/hadoop/hadoop-env.sh文件

# set to the root of your Java installation
  export JAVA_HOME=/usr/local/jdk

配置运行示例、

  • 1、单机示例,Hadoop默认配置是在非分布式模式,单一的 Java进程
    正则匹配 ./input/*.xml为输入内容,输出在./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/*


  • ** 2、伪分布式(Pseudo-Distributed)**,Hadoop也能在一个节点下部署伪分布式,Hadoop运行在分离的Java进程中
    a、配置文件如下
    etc/hadoop/core-site.xml:

    
        fs.defaultFS
        hdfs://localhost:9000
    

etc/hadoop/hdfs-site.xml:


    
        dfs.replication
        1
    

** b、检查 $ 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

c、格式化文件系统: $ bin/hdfs namenode -format
d、启动NameNode进程和DataNode进程: $ sbin/start-dfs.sh
hadoop进程日志在$HADOOP_LOG_DIR目录下,默认在$HADOOP_HOME/logs
WebUI:NameNode - http://localhost:50070/
注: 启动start-dfs.sh后,jps显示没有datanode进程,
查看相关日志,原因是在name和data目录下VERSION中的clusterID不一致,文件的默认目录在/tmp/hadoop-root/dfs下的/data/current/VERSION/name/current/VERSION,将data的clusterID修改与name的一致。

e、hdfs操作 在伪分布式下运行示例

hadoop fs -mkdir /input               # 在hdfs上创建目录
hadoop fs -ls /                       # 显示hdfs上目录/下文件
hadoop fs -put input/*.xml /input     #将 input/*.xml 上传到 hdfs上的/input文件夹下
hadoop fs -ls /input                  #显示hdfs上目录下/input下文件
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar grep /input /output 'd[a-z.]+'   #运行example  输入为hdfs上的/input  输出在hdfs上的/output
hadoop fs -cat /output/*              #输出结果
hadoop fs -get /output ./output       #将hdfs上的 结果/output下载到 ./output
cat output/*                          #输出结果


  • **3、YARN on a Single Node **
    You can run a MapReduce job on YARN in a pseudo-distributed mode by setting a few parameters and running ResourceManager daemon and NodeManager daemon in addition.
    etc/hadoop/mapred-site.xml:

    
        mapreduce.framework.name
        yarn
    

etc/hadoop/yarn-site.xml:


    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    

启动ResourceManger进程和NodeManger进程: $ sbin/start-yarn.sh
WebUI:ResourceManager - http://localhost:8088/
在yarn上运行示例:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar grep /input /output1 'd[a-z.]+'
注: *运行示例是如果报错显示

17/06/07 19:18:12 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s);```
连接不到ResourceManger,原因是yarn未启动。*

你可能感兴趣的:(Hadoop安装——单机)