一:虚拟机安装

  1. VMware 创建虚拟机,配置centos7镜像文件,使用命令行模式对虚拟机进行操作,进入到虚拟机之后,使用cd /etc/sysconfig/network-scripts/对网卡设置静态Ip 、网关、DNS、mac地址(桥接模式),重启网卡:systemctl restart network ,查看ip地址使用ip addr 查看 (配置图形化的时候可以使用 ifconfig查看ip,没有安装图形化 就不能使用,没搞懂)
  2. 如果要使用xshell连接虚拟机,需要将虚拟机防火墙关闭:systemctl stop firewalld。永久关闭防火墙:systemctl disable firewalld,第一次连上虚拟机之后 ,可能会出现第二次连接不上 ,只能在vm的虚拟网络编辑器里面还原vm8的配置 ,修改虚拟机的ip地址、网关。修改/ect/selinux/config 的SELINUX=disabled
  3. 安装jdk ,将jdk压缩包上传到虚拟机,解压,在/ect/profile里面配置JAVA_HOME,如果存在openjdk 就先把openjdk卸载 载安装jdk。
  4. 安装hadoop,将hadoop压缩包上传到虚拟机,解压,在/ect/profile里面配置HADOOP_HOME.
    5.让修改后的文件生效source /etc/profile

二:Hadoop本地运行模式

  1. 创建在hadoop-2.5.0文件下面创建一个input文件夹
    [lb@hadoop101 hadoop-2.5.0]$ mkdir input
  2. 将Hadoop的xml配置文件复制到input
    [lb@hadoop101 hadoop-2.5.0]$ cp etc/hadoop/*.xml input
  3. 执行share目录下的MapReduce程序
    [lb@hadoop101 hadoop-2.5.0]$ bin/hadoop jar
    share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output ‘dfs[a-z.]+’
  4. 查看输出结果
    [lb@hadoop101 hadoop-2.5.0]$ cat output/*

三;伪分布式运行模式

  1. 分析
    (1)配置集群
    (2)启动、测试集群增、删、查
    (3)执行WordCount案例
  2. 执行步骤
    (1)配置集群
    (a)配置:hadoop-env.sh
    Linux系统中获取JDK的安装路径:
    [lb@ hadoop101 ~]# echo $JAVA_HOME
    /opt/module/jdk1.7.0_80
    修改JAVA_HOME 路径:
    export JAVA_HOME=/opt/module/jdk1.7.0_80
    (b)配置:core-site.xml
    指定HDFS中NameNode的地址
<property>
			<name>fs.defaultFS</name>
			    <value>hdfs://hadoop101:9000</value>
			</property>
			<!-- 指定Hadoop运行时产生文件的存储目录 -->
			<property>
				<name>hadoop.tmp.dir</name>
				<value>/opt/module/hadoop-2.5.0/data/tmp</value>
			</property>

(c)配置:hdfs-site.xml

指定HDFS副本的数量 
				<property>
					<name>dfs.replication</name>
					<value>1</value>
				</property>

(2)启动集群
(a)格式化NameNode(第一次启动时格式化)

[lb@hadoop101 hadoop-2.5.0]# bin/hdfs namenode -format

(b)启动NameNode

[lb@hadoop101 hadoop-2.5.0]# sbin/hadoop-daemon.sh start namenode

(c)启动DataNode

[lb@hadoop101 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start datanode

(3)查看集群
(a)查看是否启动成功

[lb@hadoop101 hadoop-2.5.0]$ jps
13586 NameNode
13668 DataNode
13786 Jps

(b)web端查看HDFS文件系统

http://hadoop101:50070

(4)操作集群
(a)在HDFS文件系统上创建一个input文件夹

[lb@hadoop101 hadoop-2.5.0]# bin/hdfs dfs -mkdir -p /user/atguigu/input

(b)将测试文件内容上传到文件系统上

[lb@hadoop101 hadoop-2.5.0]# bin/hdfs dfs -put wcinput/wc.input  /user/lb/input/

(c)查看上传的文件是否正确

[lb@hadoop101 hadoop-2.5.0]# bin/hdfs dfs -ls  /user/atguigu/input/
[lb@hadoop101 hadoop-2.5.0]# bin/hdfs dfs -cat  /user/lb/ input/wc.input

(d)运行MapReduce程序

[lb@hadoop101 hadoop-2.5.0]# bin/hadoop jar
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount 			/user/lb/input/ /user/atguigu/output

(e)查看输出结果

[lb@hadoop101 hadoop-2.5.0]#  bin/hdfs dfs -cat /user/lb/output/*

(f)删除输出结果

[lb@hadoop101 hadoop-2.5.0]#  hdfs dfs -rm -r /user/lb/output
  1. 启动YARN并运行MapReduce程序
    (1). 分析
    (1)配置集群在YARN上运行MR
    (2)启动、测试集群增、删、查
    (3)在YARN上执行WordCount案例
    (2). 执行步骤
    (2.1)配置集群
    (a)配置yarn-env.sh
配置JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.7.0_80

(b)配置yarn-site.xml

<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>

(c)配置:mapred-env.sh
配置JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.7.0_80

(d)配置:mapred-site.xml

[lb@hadoop101 hadoop-2.5.0]#  mv mapred-site.xml.template mapred-site.xml
[lb@hadoop101 hadoop-2.5.0]#  vi mapred-site.xml

指定MR运行在YARN上

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

(2.2)启动集群
(a)启动前必须保证NameNode和DataNode已经启动
(b)启动ResourceManager

[lb@hadoop101 hadoop-2.5.0]# sbin/yarn-daemon.sh start resourcemanager

(c)启动NodeManager

[lb@hadoop101 hadoop-2.5.0]# sbin/yarn-daemon.sh start nodemanager

(2.3)集群操作
(a)删除文件系统上的output文件

[lb@hadoop101 hadoop-2.5.0]# bin/hdfs dfs -rm -R /user/atguigu/output

(b)执行MapReduce程序

[lb@hadoop101 hadoop-2.5.0]# bin/hadoop jar
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/lb/input  /user/lb/output
	(d)查看运行结果	 
[lb@hadoop101 hadoop-2.5.0]# bin/hdfs dfs -cat /user/atguigu/output/*