linux虛擬機(jī)中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>?(存儲(chǔ)臨時(shí)文件的文件夾,需要手動(dòng)創(chuàng)建)
? ? ? ? <description>Abase for other temporary directories.</description>
? ? </property>
? ? <property>
? ? ? ? <name>fs.defaultFS</name>
? ? ? ? <value>hdfs://localhost:9000</value>? (主機(jī)端口地址)
? ? </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>? (存儲(chǔ)DFS管理結(jié)點(diǎn)的文件夾,需手動(dòng)創(chuàng)建)
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.datanode.data.dir</name>
? ? ? ? ? ? ? ? <value>file:/home/elf/setup/hadoop-3.1.3/tmp/dfs/data</value>? ?(存儲(chǔ)DFS數(shù)據(jù)結(jié)點(diǎn)的文件夾,需手動(dòng)創(chuàng)建)
? ? ? ? </property>
</configuration>
(按esc退出插入模式,輸入 :wq! 保存退出。)

4.編輯配置文件mapred-site.xml
(使用hadoop2.x.x版本文件為mapred-site.xml.template,需要自行復(fù)制一份改名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、啟動(dòng)前格式化名稱節(jié)點(diǎn),啟動(dòng)全部進(jìn)程
命令:/home/elf/setup/hadoop-3.1.3/bin/hdfs namenode -format
? ? ? ? ? (格式化名稱節(jié)點(diǎn),即格式化HDFS的NameNode)
? ? ? ? ? start-all.sh? (啟動(dòng)全部進(jìn)程)
? ? ? ? ? 或者 start-dfs.sh(啟動(dòng)namenode,secondnamenode,datanode進(jìn)程。)
格式化名稱節(jié)點(diǎn):
注意:
(1)多次格式化可能會(huì)報(bào)錯(cuò),直接刪除data文件夾重新格式化即可,會(huì)自動(dòng)生成data文件夾
(2)格式化時(shí)進(jìn)行到
Re-format filesystem in Storage Directory root= /home/elf/setup/hadoop-3.1.3/tmp/dfs/name; location= null ? (Y or N)??
時(shí)一定要輸入大寫的 Y,否則可能失敗。


格式化完成。
這時(shí)在啟動(dòng)出現(xiàn)問題:

提示報(bào)錯(cuò)? localhost: ERROR: JAVA_HOME is not set and could not be found.

解決后成功啟動(dòng):

輸入? jps? ?查看進(jìn)程,一共六個(gè):

6、在火狐瀏覽器瀏覽器訪問http://localhost:9870(hadoop2.x版本訪問http://localhost:50070)

7、在偽分布式工作模式下,創(chuàng)建用戶目錄,即在HDFS中創(chuàng)建用戶目錄
命令:cd?/home/elf/setup/hadoop-3.1.3
? ? ? ? ? ?hdfs dfs -mkdir -p /user/hadoop

8、創(chuàng)建子目錄input,用于輸入數(shù)據(jù)
命令:hdfs dfs -mkdir /user/hadoop/input

9、查看新創(chuàng)建的子目錄
命令:hdfs dfs -ls /user/hadoop

10、將xml配置文件復(fù)制到分布式文件系統(tǒng)input中
命令:hdfs dfs -put?/home/elf/setup/hadoop-3.1.3/etc/hadoop/*.xml /user/hadoop/input
