Hadoop的運行有三種形式:
- 單實例運行
- 偽分布式
- 完全分布式
本文主要介紹單實例Hadoop的安裝以及使用簡介。下面的安裝和配置步驟主要是為了快速安裝和體驗Hadoop凫佛,而不是在產品環(huán)境下使用Hadoop件蚕。
單實例Hadoop
1.下載
從Hadoop下載主頁中選擇合適的版本下載Hadoop逐抑。
命令示例如下:
HADOOP_VERSION=hadoop-3.0.0-alpha1
wget http://apache.fayea.com/hadoop/common/${HADOOP_VERSION}/${HADOOP_VERSION}.tar.gz
wget https://dist.apache.org/repos/dist/release/hadoop/common/${HADOOP_VERSION}/${HADOOP_VERSION}.tar.gz.mds
wget https://dist.apache.org/repos/dist/release/hadoop/common/${HADOOP_VERSION}/${HADOOP_VERSION}.tar.gz.asc
wget https://dist.apache.org/repos/dist/release/hadoop/common/KEYS
2.驗證和解壓
-
驗證
命令執(zhí)行類似如下:HADOOP_VERSION=hadoop-3.0.0-alpha1 md5 ${HADOOP_VERSION}.tar.gz | awk '{print $4}' > mycomputation.md5 sed -n '1,2p' ${HADOOP_VERSION}.tar.gz.mds | sed 's/[ ]//g' | awk -v RS="" -F= '{gsub("\n","");print tolower($2)}' > extraction.md5 diff mycomputation.md5 extraction.md5 gpg -q --import KEYS gpg --verify ${HADOOP_VERSION}.tar.gz.asc ${HADOOP_VERSION}.tar.gz
-
解壓
驗證解壓下載的文件俯萌,并進入其根目錄峻堰。
命令執(zhí)行類似如下:HADOOP_VERSION=hadoop-3.0.0-alpha1 tar xzvf ${HADOOP_VERSION}.tar.gz cd ${HADOOP_VERSION}
3.設置JAVA_HOME環(huán)境變量
修改配置JAVA_HOME
。
注意:
是通過修改文件etc/hadoop/hadoop-env.sh
中的JAVA_HOME
屬性變量丸卷。
示例如下:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/
4.測試安裝正常
通過執(zhí)行
bin/hadoop
執(zhí)行命令bin/hadoop
枕稀,正常情況應該顯示hadoop的命令使用文檔。-
運行map reduce任務
執(zhí)行如下命令:mkdir input cp etc/hadoop/*.xml input bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha1.jar grep input output 'dfs[a-z.]+' cat output/*
偽分布式Hadoop
1.配置
-
編輯文件
etc/hadoop/core-site.xml
:<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
-
編輯文件
etc/hadoop/hdfs-site.xml
:<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
2.無密碼ssh登陸
執(zhí)行如下命令:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
3.執(zhí)行測試
格式化文件系統(tǒng):
bin/hdfs namenode -format-
啟動NameNode daemon和DataNode daemon:
sbin/start-dfs.sh
日志寫到$HADOOP_LOG_DIR
目錄(缺省是$HADOOP_HOME/logs
)谜嫉。
- 瀏覽NameNode的web接口:
- NameNode - http://localhost:9870/
-
創(chuàng)建HDFS目錄來執(zhí)行MapReduce任務:
bin/hdfs dfs -mkdir /user bin/hdfs dfs -mkdir /user/zhengfq
-
拷貝輸入文件到分布式文件系統(tǒng):
bin/hdfs dfs -mkdir input bin/hdfs dfs -put etc/hadoop/*.xml input
-
運行例子:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha1.jar grep input output 'dfs[a-z.]+'
-
檢查輸出:
bin/hdfs dfs -cat output/*
-
停止進程:
sbin/stop-dfs.sh