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
留言
張貼留言