Hadoop (0) Ubuntu 安裝 Hadoop 和 Hadoop Hello world

1. Install Java:

因為 Hadoop 需要用到 Java,所以我們先來安裝 Java。

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

這篇寫得很詳細 https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-ubuntu-16-04,等安裝完 Java 和 Hadoop 我們再來設定環境變數。


2. Download Hadoop:

接下來去官網下載 Hadoop (http://hadoop.apache.org/releases.html),選擇喜歡的版號和 bin 的壓縮檔。

我這邊選的是 hadoop-3.0.3(binary)。

$ cd ~/Download
$ tar zxvf hadoop-3.0.3.tar.gz

搬到一個你喜歡的 folder 就可以了。

$ sudo mv hadoop-3.0.3 /usr/local

3. 設定環境變數:

編輯 ~/.bashrc

$ vim ~/.bashrc

設定 Java 的 path 和 lib 的路徑(嚴謹的版本):

#[start-20180720-cooper(java)-add]#
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
#[end-20180720-cooper(java)-add]#

設定 Hadoop 的 path

#[start-20180720-cooper(hadoop)-add]#
export HADOOP_HOME=/usr/local/hadoop-3.0.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#[end-20180720-cooper(hadoop)-add]#

確認一下系統找得到 hadoop。

$ hadoop version
Hadoop 3.0.3
Source code repository https://yjzhangal@git-wip-us.apache.org/repos/asf/hadoop.git -r 37fd7d752db73d984dc31e0cdfd590d252f5e075
Compiled by yzhang on 2018-05-31T17:12Z
Compiled with protoc 2.5.0
From source with checksum 736cdcefa911261ad56d2d120bf1fa
This command was run using /usr/local/hadoop-3.0.3/share/hadoop/common/hadoop-common-3.0.3.jar

4. Hello world:

建個測試資料夾,input 資料夾放我們要分析的資料。

我們把 etc 中的 xml 作為分析的目標。

$ mkdir -p ~/ProgTest/HadoopTest/input
$ cd ~/ProgTest/HadoopTest/
$ cp $HADOOP_HOME/etc/hadoop/*.xml input/

執行 mapreduce 世界中最基本的範例,計算每個詞出現的次數。

$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar wordcount input output

觀看運算結果。

$ cd output
$ cat part-r-00000 |less
"*"     19
"AS     9
"License");     9
"alice,bob      19
"clumping"      1
(ASF)   1
(root   1
...

把剛剛的運算結果清掉再來個範例吧。

$ rm -fr output
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar grep input output 'dfs[a-z.]+'

這次我們試著找出符合 'dfs[a-z.]+' 的字串,運行結果如下:

$ cd output
$ cat part-r-00000 
1 dfsadmin

留言

熱門文章