1.安装前提条件

(1)首先安装jdk,最好安装1.7及1.7以上版本,并且安装jdk的环境变量
    vi ~/.bashrc 
    export JAVA_HOME=/usr/local/software/jdk1.8.0_141
    export PATH=$JAVA_HOME/bin:$PATH

(2)检查ssh和sshd是否安装,如果没有安装,
  ubuntu下面安装ssh和sshd:
    $ sudo apt-get install ssh
    $ sudo apt-get install rsync

  如果你用的是redhat,fedora,centos等系列linux发行版,那么使用命令,例如安装sshd:
    sudo yum install sshd

  检查ssh和sshd是否安装:
    sudo service sshd status
  开启ssh服务:
    sudo service sshd start

2.在hadoop的官网下载hadoop版本http://www-eu.apache.org/dist/hadoop/common/,选择相应的版本进行下载,然后使用winscp工具上传hadoop-2.9.1到linux上。
3.解压hadoop
tar -zxvf hadoop-2.9.1
4.配置hadoop的环境变量,方便输入命令,vi ~/.bashrc 
    export HADOOP_HOME=/usr/local/software/hadoop-2.9.1
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

	5.配置文件

(1)配置etc/hadoop/core-site.xml,hdfs的根路径
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://slave2:9000</value>
    </property>
(2)配置etc/hadoop/hdfs-site.xml,hdfs的副本
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
(3)配置etc/hadoop/slaves,hdfs的datanode节点,直接把localhost改为域名,我这里是slave2
(4)配置免密码登录
  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 0600 ~/.ssh/authorized_keys
(5)格式化namenode
  $ bin/hdfs namenode -format
  只要看见打印的日志里面有一行:18/10/09 14:29:34 INFO common.Storage: Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.
  就表示namenode格式化成功了。
(6)启动hdfs
  start-dfs.sh

(6)启动hdfs
  start-dfs.sh
(7)jps看一下进程,如果显示下面这样的,表示hdfs启动成功。
[root@slave2 hadoop-2.9.1]# jps
69617 Jps
69312 DataNode
69487 SecondaryNameNode
69198 NameNode
 (8)访问http://192.168.2.130:50070,就能看到hadoop的界面

【伪分布式模式下,配置yarn】
 (1)配置etc/hadoop/mapred-site.xml
   先复制一个cp mapred-site.xml.template mapred-site.xml,然后输入下面的
   <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
 (2)配置etc/hadoop/yarn-site.xml
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
 (3)启动yarn
   start-yarn.sh
 (4)这个时候进程多了两个,一个主节点ResourceManager,一个从节点NodeManager
69312 DataNode
69907 ResourceManager
70354 Jps
69487 SecondaryNameNode
70015 NodeManager
69198 NameNode

 (5)测试伪分布式模式下的mapreduce,让mapreduce计算test.txt里面的每个单词出现的次数。
        [root@slave2 input]# cat test.txt 
    hadoop
    hdfs
    mapreduce
    nodemanager
    yarn
    hadoop
    hdfs
    nodemanager
    hadoop
    yarn
    hadoop
    1. 在hdfs系统上面创建目录input 
    hdfs dfs -mkdir /input
    2.上传test.txt到hdfs
    hdfs dfs -put  test.txt /input
    3. 在hadoop的home目录下输入命令并回车,bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar wordcount /input /output
    4.这个时候可以看见hdfs系统上面生成了一个目录output,查看output里面的内容
    [root@slave2 hadoop-2.9.1]# hdfs dfs -text /output/*
    hadoop  4
    hdfs    2
    mapreduce       1
    nodemanager     2
    yarn    2
12-21 12:32