linux虚拟机中Hadoop伪分布式搭建
1、查看hadoop是否安装完成
命令:hadoop version

hadoop安装请看:VMware中Ubuntu安装hadoop - 哔哩哔哩 (bilibili.com)
本篇使用Hadoop 3.1.3版本。
2、编辑配置文件 core-site.xml
路径:/home/elf/setup/hadoop-3.1.3/etc/hadoop
命令:cd /home/elf/setup/hadoop-3.1.3/etc/hadoop
vim core-site.xml (使用vim编辑器来编辑)

在<configuration></configuration>中添加以下配置:
(按 i 切换插入模式)
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/elf/setup/hadoop-3.1.3/tmp</value> (存储临时文件的文件夹,需要手动创建)
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> (主机端口地址)
</property>
(按esc退出插入模式,输入 :wq! 保存退出。)

3、编辑配置文件hdfs-site.xml
路径:同上
命令:vim hdfs-site.xml

在<configuration></configuration>中添加以下配置:
(按 i 切换插入模式)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/elf/setup/hadoop-3.1.3/tmp/dfs/name</value> (存储DFS管理结点的文件夹,需手动创建)
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/elf/setup/hadoop-3.1.3/tmp/dfs/data</value> (存储DFS数据结点的文件夹,需手动创建)
</property>
</configuration>
(按esc退出插入模式,输入 :wq! 保存退出。)

4.编辑配置文件mapred-site.xml
(使用hadoop2.x.x版本文件为mapred-site.xml.template,需要自行复制一份改名mapred-site.xml,命令:mv mapred-site.xml.template mapred-site.xml)
路径:同上
命令:vim mapred-site.xml

在<configuration></configuration>中添加以下配置:
(按 i 切换插入模式)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> (使用yarn框架)
</property>
</configuration>
(按esc退出插入模式,输入 :wq! 保存退出。)

5、编辑配置文件yarn-site.xml
路径:同上
命令:vim yarn-site.xml

在<configuration></configuration>中添加以下配置:
(按 i 切换插入模式)
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(按esc退出插入模式,输入 :wq! 保存退出。)

5、启动前格式化名称节点,启动全部进程
命令:/home/elf/setup/hadoop-3.1.3/bin/hdfs namenode -format
(格式化名称节点,即格式化HDFS的NameNode)
start-all.sh (启动全部进程)
或者 start-dfs.sh(启动namenode,secondnamenode,datanode进程。)
格式化名称节点:
注意:
(1)多次格式化可能会报错,直接删除data文件夹重新格式化即可,会自动生成data文件夹
(2)格式化时进行到
Re-format filesystem in Storage Directory root= /home/elf/setup/hadoop-3.1.3/tmp/dfs/name; location= null ? (Y or N)
时一定要输入大写的 Y,否则可能失败。


格式化完成。
这时在启动出现问题:

提示报错 localhost: ERROR: JAVA_HOME is not set and could not be found.

解决后成功启动:

输入 jps 查看进程,一共六个:

6、在火狐浏览器浏览器访问http://localhost:9870(hadoop2.x版本访问http://localhost:50070)

7、在伪分布式工作模式下,创建用户目录,即在HDFS中创建用户目录
命令:cd /home/elf/setup/hadoop-3.1.3
hdfs dfs -mkdir -p /user/hadoop

8、创建子目录input,用于输入数据
命令:hdfs dfs -mkdir /user/hadoop/input

9、查看新创建的子目录
命令:hdfs dfs -ls /user/hadoop

10、将xml配置文件复制到分布式文件系统input中
命令:hdfs dfs -put /home/elf/setup/hadoop-3.1.3/etc/hadoop/*.xml /user/hadoop/input
