目標(biāo)
快速安裝搭建單機(jī)版 Hadoop ,在 HDFS 上運(yùn)行簡(jiǎn)單示例程序.
準(zhǔn)備
VirtualBox 虛擬機(jī)下安裝 Ubuntu 系統(tǒng), 創(chuàng)建 hadoop 用戶并授予 sudo 權(quán)限, 在Ubuntu 系統(tǒng)內(nèi)搭建 Java 和 Hadoop 環(huán)境, 主要是下載或拷貝文件到 虛擬機(jī)內(nèi)后解壓配置環(huán)境變量.
配置 Java 和 Hadoop 開(kāi)發(fā)環(huán)境
- 在線安裝 Oracle JDK
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
-
sudo vim /etc/profile.d/jdk.sh
后輸入以下配置后source /etc/profile.d/jdk.sh
手動(dòng)生效, 以下類(lèi)似.
export JAVA_HOME="path/to/JDK"
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$PATH
hadoop 在線下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz?
-
sudo vim /etc/profile.d/hadoop.sh
后輸入以下配置信息
export HADOOP_HOME="path/to/hadoop/"
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export CLASSPATH=.:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.0.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.0.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar:$CLASSPATH
- 進(jìn)入 Hadoop 文件夾根目錄下 的
etc/hadoop/
分別對(duì) hadoop-env.sh, mapred-env.sh, yarn-env.sh 3個(gè)文件進(jìn)行設(shè)置 JAVA_HOME 變量.
配置 SSH 免密登錄
- 實(shí)現(xiàn)各主機(jī)免密登錄 localhost
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
- 實(shí)現(xiàn)各虛擬機(jī)互相免密登錄
# 拷貝公鑰到本地主機(jī)
$ scp ~/.ssh/id_rsa.pub hadoop@master:/home/liu/.ssh/id_rsa_slave1.pub
$ cat id_rsa_slave1.pub >> authorized_keys
# 或者更加方便的使用 分發(fā)密鑰命令
$ ssh-copy-id tar_host
測(cè)試
- 環(huán)境測(cè)試
java -version
hadoop
- 單機(jī)模式測(cè)試(以下操作默認(rèn)在Hadoop目錄下執(zhí)行)
$ mkdir input
$ cp conf/*.xml input
執(zhí)行一個(gè)匹配指定字符串模式的MR作業(yè): 對(duì) input 目錄下的文檔進(jìn)行單詞數(shù)的統(tǒng)計(jì)
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
查看統(tǒng)計(jì)結(jié)果
$ cat output/*
- 其他例子
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar pi 100 100
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar pi 500 500
參考
https://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html
http://www.reibang.com/p/c0f4d30a50b9
https://my.oschina.net/jackieyeah/blog/657032