下載Hadoop(我下載的是2.8.0版本)
下載后,使用
tar -zxvf tar包名
解壓tar包,解壓完成后有這樣一個文件出現

修改Hadoop的配置文件
需要修改的配置文件在Hadoop安裝路徑下的 etc/hadoop中
需要修改的文件包括
- hadoop-env.sh
- core-site.xml
- hdfs-site.xml
- mapred-site.xml
- yarn-site.xml
hadoop-env.sh修改內容如下
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home export HADOOP_CONF_DIR=/Users/FengZhen/Desktop/Hadoop/hadoop-2.8.0/etc/hadoop
在對應的位置找到這兩行配置,並修改為本機中的路徑。

core-site.xml的配置修改如下
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <!--用來指定hadoop運行時產生文件的存放目錄 自己創建--> <property> <name>hadoop.tmp.dir</name> <value>/Users/FengZhen/Desktop/Hadoop/hadoop-2.8.0/tmp</value> </property> </configuration>
hdfs-site.xml的配置修改如下
<configuration> <property> <!--指定hdfs保存數據副本的數量,包括自己,默認為3--> <!--偽分布式模式,此值必須為1--> <name>dfs.replication</name> <value>1</value> </property> <!--不是root用戶也可以寫文件到hdfs--> <property> <name>dfs.permissions</name> <value>false</value> <!--關閉防火牆--> </property> </configuration>
mapred-site.xml的配置修改如下
<configuration> <property> <!--指定mapreduce運行在yarn上--> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
yarn-site.xml的配置修改如下
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <!--NodeManager獲取數據的方式--> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
配置Hadoop環境變量
在 .bash_profile 文件中配置Hadoop環境變量,使用vim打開該文件,進入編輯模式
vim ~/.bash_profile
在該文件中添加
export HADOOP_HOME=/Users/FengZhen/Desktop/Hadoop/hadoop-2.8.0 此處為Hadoop的安裝路徑
export PATH=$PATH:$HADOOP_HOME/bin
添加完成后保存退出。
使用source命令使該文件中的修改立即生效
source ~/.bash_profile
到此所有的配置已經完成,接下來執行該命令格式化namenode
hadoop namenode -format
格式化成功之后,即可啟動Hadoop,在Hadoop安裝目錄下有個/sbin目錄,目錄下有個start-all.sh,執行該文件
./start-all.sh
啟動過程中會需要輸入幾次密碼,輸入即可。
啟動結束后在shell輸入命令 jps 可輸出所有java進程及其pid

至此,Hadoop環境配置成功。
此時執行以下命令
hadoop fs -mkdir /testdata 在hdfs根目錄下創建一個文件夾 testdata
hadoop fs -ls / 可查看根目錄下的文件及文件夾
結束。。
