\1) 配置Hadoop伪分布式;
找到Hadoop包
[root@masterNode1 ~]# cd /mnt/aosa/hadoop/
[root@masterNode1 hadoop]# ll
total 205776
drwxr-xr-x 2 root root 4096 1月 13 2021 data
-rw-r--r-- 1 root root 210704033 1月 13 2021 hadoop-2.7.1.tar.gz
drwxr-xr-x 2 root root 4096 1月 13 2021 jars
解压Hadoop包
[root@masterNode1 hadoop]# tar -zxvf hadoop-2.7.1.tar.gz -C /usr/
[root@masterNode1 hadoop]# cd /usr/
[root@masterNode1 usr]# ll
total 52
dr-xr-xr-x. 1 root root 4096 10月 29 2020 bin
drwxr-xr-x. 2 root root 4096 4月 11 2018 etc
drwxr-xr-x. 2 root root 4096 4月 11 2018 games
drwxrwxrwx 9 root root 4096 2月 23 2016 hadoop-2.7.1
drwxr-xr-x. 1 root root 4096 10月 22 2020 include
drwxr-xr-x. 3 root root 4096 10月 29 2020 java
dr-xr-xr-x. 1 root root 4096 10月 22 2020 lib
dr-xr-xr-x. 1 root root 4096 10月 22 2020 lib64
drwxr-xr-x. 1 root root 4096 10月 22 2020 libexec
drwxr-xr-x. 1 root root 4096 10月 22 2020 local
dr-xr-xr-x. 1 root root 4096 10月 22 2020 sbin
drwxr-xr-x. 1 root root 4096 10月 22 2020 share
drwxr-xr-x. 4 root root 4096 12月 4 2018 src
lrwxrwxrwx. 1 root root 10 12月 4 2018 tmp -> ../var/tmp
配置Hadoop
找到配置文件所在目录
[root@masterNode1 usr]# cd /usr/hadoop-2.7.1/etc/hadoop/
1.修改hadoop-env.sh
[root@masterNode1 hadoop]# vim hadoop-env.sh
修改hadoop-env.sh文件添加JAVA_HOME的路径地址:
export JAVA_HOME=/usr/java/jdk1.8.0_162/
2.修改core-site.xml
[root@masterNode1 hadoop]# vim core-site.xml
添加如下内容
<property>
<name>fs.defaultFS</name>
<value>hdfs://masterNode1:9000</value>
<description>指定namenode的hdfs协议的文件系统通信地址,masterNode1为主机名,9000为访问端口(默认为8020)</description>
</property>
3.修改hdfs-site.xml
[root@masterNode1 hadoop]# vim hdfs-site.xml
添加如下
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoopdir/dfs/name</value>
<description>hdfs元数据存存储目录</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value> /home/hadoopdir/dfs/data,/home/hadoopdir/dfs/data1,/home/hadoopdir/dfs/data2</value>
<description>DataNode在本地文件系统中存放块的路径,会自动选用多个目录进行数据存储。如果是多个路径,请用逗号隔开。在企业生产环境中,数据量会非常大,请将这个目录设置到磁盘容量充足的目录。</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>备份数量,伪分布式则将其配置成1</description>
</property>
4.修改mapred-site.xml
[root@masterNode1 hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@masterNode1 hadoop]# vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>执行框架设置为Hadoop的YARN</description>
</property>
5.修改yarn-site.xml
[root@masterNode1 hadoop]# vim yarn-site.xml
添加如下
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>NodeManager上运行的附属服务。需配置成mapreduce_shuffle才可运行MapReduce程序</description>
</property>
配置Hadoop环境变量
为了可以方便的使用Hadoop的相关命令,我们为Hadoop配置环境变量。修改/etc/profile文件。
[root@masterNode1 hadoop]# vim /etc/profile
export HADOOP_HOME=/usr/hadoop-2.7.1
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${PATH}[root@masterNode1 hadoop]# source /etc/profile
格式化(初始化)Hadoop
[root@masterNode1 hadoop]# hdfs namenode -format

\2) 启动Hadoop;
[root@masterNode1 hadoop]# start-all.sh
[root@masterNode1 hadoop]# jps
18674 SecondaryNameNode
17939 NameNode
18244 DataNode
19308 NodeManager
20125 Jps
19135 ResourceManager
\3) 使用Web查看HDFS信息;
打开IDE 在浏览器中输入masterNode1:50070

\4) 执行MapReduce验证程序。
[root@masterNode1 hadoop]# cd /usr/hadoop-2.7.1/share/hadoop/mapreduce/
使用 hadoop-mapreduce-examples-2.7.1.jar
构造验证数据
[root@masterNode1 mapreduce]# vi /home/test.txt
[root@masterNode1 mapreduce]# cat /home/test.txt
张三 李四
张三 李四
张三 李四
将数据上传至HDFS
首先创建文件夹 /input
[root@masterNode1 mapreduce]# hdfs dfs -mkdir /input
上传数据
[root@masterNode1 mapreduce]# hdfs dfs -put /home/test.txt /input
执行wordcount程序进行单词计数
[root@masterNode1 mapreduce]# hadoop jar /usr/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output
查看程序结果
[root@masterNode1 mapreduce]# hdfs dfs -cat /output/*
张三 3
李四 3