2015年1月18日 星期日

Hadoop 2 installation - Part3 - 單機版安裝HBASE

前言:
hadoop 2.x版中的hbase跟zookeeper安裝跟hadoop 1.x這版的並無不同,所以一些設定檔說明就不贅述了,可以google或是看我以前的網誌  
步驟一
把下載的hbase跟zookeeper解壓縮到家目錄,並在/home/pablo/data/中新增hbase跟zookeeper兩個資料夾 
步驟二:
編輯環境變數,在.bashr
export HBASE_HOME=/home/pablo/hbase-0.98.9-hadoop2
export ZOOKEEPER_HOME=/home/pablo/zookeeper-3.4.6

步驟三:
編輯hbase以及zookeeper的設定檔 
hbase部分要編輯的設定檔是下圖三個 
zookeeper部分要在${zookeeper_HOME}/conf下把zoo_sample.cfg複製一份並改名成zoo.cfg,再zoo.cfg最下面加入兩行
dataDir=/home/pablo/data/zookeeper
server.1=UB104:2888:3888
接著在/home/你的名稱/data/zookeeper中加入一個myid並寫入1的檔案
 以上就是安裝過程,下個步驟就是啟動
步驟四:
啟動hbase要先啟動hadoop跟zookeeper,指令如下圖中
如果一切都沒問題的話會看到以上兩張圖,也可以用hbase web介面看看,在瀏覽器網址列輸入UB1404:60010會看到下圖

步驟五:
完成了以上安裝後,來試試看hbase建立table跟寫入data是否正常,我們先下載一個jar(點這裡下載) ,這是我寫好的一個程式,怕是病毒的話就不要下,不過在vm是很強大的防毒軟體,不會感染到你的host
下一篇會用ecplise寫好直接執行,我要打包成jar是因為完全分散模式沒有像單機版一樣的使用者介面讓我們寫code,所以我採取在單機版上寫好測試完畢上傳到namenode中去跑程式 
下載後執行hadoop har cars.jar 
 正常執行完會像以下畫面
再開另一個終端機tab,輸入hbase shell進入後再輸入list,就會看到我們剛才執行jar所產生的table:cars
輸入scan 'cars'就會看table中的內容
以上就是本篇的內容,下一篇會編譯跟安裝hadoop eclipse plugin,如此才可以在單機版上開發測試yarn程式或hbase程式,謝謝觀看

2015年1月17日 星期六

Hadoop 2 installation - Part1- 前置作業

環境簡介:
本篇以ubuntu 14.04 64bithost(單機模式環境),採用Linux container製作guest(完全分散模式)
這是一篇連串的技術筆記文章,主要是把之前的hadoop相關的網誌作環境的升級,會從安裝java及安裝Linux container配置虛擬網路 設定hadoop單機模式到完全分散模式,mapreduce以及hbase的程式開發會用ecplise作為IDE,專案的建置採用mavenhost單機模式上測試完後打包成jar上傳到完全分散環境的name node去執行,以上是本篇的簡短介紹,會使用到的工具如下圖,請自行到官網下載,接著嗡嗡嗡上工了!
PS:所有安裝路徑為本人的習慣,可依照個人習慣選擇安裝路徑 

安裝java:在家目錄新增存放工具的資料夾mkdir devUtil 
解壓縮jdk-7u72-linux-x64.tar.gz到devUtil
tar zxf jdk-7u72-linux-x64.tar.gz -C ../devUtil 
編輯.bashrc,在這個檔案的最下方輸入以下後,crtl+o存檔,crtl+x跳出
export JAVA_HOME=/home/你的名稱/devUtil/jdk1.7.0_72export PATH=$PATH:$JAVA_HOME/bin
輸入source .bashrc,再輸入java -version確認jdk安裝完成
安裝MAVEN&ANT:
由於後面會用到maven來建立hadoop跟hbase程式專案,ant是要編譯eclipse hadoop plugin,所以這邊就先安裝起來
把apache-maven-3.2.3-bin.tar.gz跟apache-ant-1.9.4-bin.tar.gz解壓縮到devUtil
tar zxf apache-maven-3.2.3-bin.tar.gz -C ../devUtil/
tar zxf apache-ant-1.9.4-bin.tar.gz -C ../devUtil/ 
編輯.bashrc加入M2_HOME以及ANT_HOME,在這個檔案的最下方輸入以下後,crtl+o存檔,crtl+x跳出


export JAVA_HOME=/home/你的名稱/devUtil/jdk1.7.0_72 


export M2_HOME=/home/你的名稱/devUtil/apache-maven-3.2.3

export ANT_HOME=/home/你的名稱/devUtil/apache-ant-1.9.4

export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin:$ANT_HOME/bin


輸入source .bashrc,再輸入mvn -vant -v確認安裝完成


2015年1月16日 星期五

Hadoop 2 installation - Part2 - 安裝單機版Hadoop

前言:
上一篇的基本環境完成後,接著本篇開始安裝hadoop,下一篇會安裝hbase,這些都是環環相扣的,沒有hadoop的hdfs,hbase也無法安裝的 我這邊說的單機版就是所謂的偽分散模式,也就是Namenode DataNode ResourceManager.....什麼角色都在同一台上面,有空寫到後面時就會把每一個角色都裝在一台虛擬機器上

步驟一: 
編輯hosts,給127.0.0.1一個hostname叫做UB1404 
sudo nano /etc/hosts 
ping看看是否成功

步驟二:
將下載的hadoop-2.6.0.tar.gz解壓縮到家目錄,路徑是我的習慣,可依照個人口味不同酌量使用,這裡我是懶惰隨便找個地方放而已 
tar zxf hadoop-2.6.0.tar.gz -C /home/你的名稱

步驟三:
編輯bashrc檔案(不會編輯看上一篇教學),在這檔案的最下面加入環境變數,見下圖
 存擋退出後,確認一下hadoop是否安裝正確

步驟四:
本步驟要編輯的設定檔位置跟hadoop 1.X不太一樣,2.X版的已經變到${HADOOP_HOME}\etc\hadoop了,最起碼要修改的是下圖中的五個檔案,至於分別代表什麼,有看過我以前的文章或是拜過google大神的都知道,最大的差別在於mapred-site.xml變成yarn-site.xml
 這五個檔案內容分別修改成如下圖,這只是最基本設定,想要更進階請拜神 





 步驟五:
再來是重要的ssh登入,這邊錯了甚麼服務都起不來,千萬注意
偽分散就是hadoop所有的功能角色或者說是節點都在同一台機器上面,也就是要讓自己模擬成很多服務,所以這邊的ssh就是要自己登入自己
首先,確認有無安裝openssh-server
 安裝完,分別輸入下列兩行指令,要跟下面畫面一樣才算是成功
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
         cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
第一行指令代表在家目錄內,產生 SSH 連線金鑰憑證第二行指令代表 金鑰產生之後,接著要將金鑰複製到家目錄中的 .ssh 目錄並更名為〝authorized_keys〞 
完成後輸入ssh UB1404登入自己,第一次會出現輸入yes/no的畫面,一律都是yes,成功登入後exit是跳出,如果再登入一次沒有詢問 yes/no才代表是真正成功
步驟六:在家目錄下建立一個給HDFS使用的資料夾 
mkdir data/namenode, mkdir data/datanode
接下來就是重頭戲,hadoop namenode -format這動作就像買一顆新硬碟回來時要做格式化,符合OS可以使用的file system一樣 

若沒問題的話會看到以上的畫面,這指令結束後會關閉namenode,所以這裡還沒啟動hadoop服務,這時可以先看看格式化後的data資料夾結構,輸入 tree data


切記切記,format這動作不要亂做,不然你的datanode會不認得你的namenode導致整個hadoop系統走鐘步驟六:啟動hadoop,分別輸入start-dfs.sh以及start-yarn.sh啟動完後可以輸入jps看看啟動了那一些服務,一切都沒問題的話,會看到跟下圖一樣的畫面
 也可以用些指令check HDFS status跟yarn status
目前只有一台,日後完全分散模式會看到比較多台一點 也可以在瀏覽器的網址列輸入UB1404:50070看看hadoop內建的web介面網路上有很多指令的教學,我這邊就不重覆演練了,有了環境想要怎麼玩就怎麼玩,玩爛了大不了就是重掛一個硬碟檔  這篇先到到此為止,下篇再繼續安裝HBase