在VMware Workstation的Ubuntu下安裝和配置Hadoop與Ganglia


                在VMware Workstation的Ubuntu下安裝和配置Hadoop與Ganglia

  相信大部分朋友對Hadoop肯定不陌生,它是一個開源的分布式計算框架,主要由MapReduce、HDFS、Hbase這幾個核心部分組成。Hadoop作為雲計算的基礎平台,使用它的人越來越多,對於一般人而言,要想搭建真實的集群環境是比較難的,因此想要體驗Hadoop,只有在虛擬機中搭建環境了。Hadoop集群環境運行起來之后,實時的獲取集群的運行情況是比較重要的,因此需要一款監控工具來進行監控。Ganglia是一個開源的監控平台,可以用它來對Hadoop進行監控,今天就來講一下如何在Ubuntu下搭建Hadoop環境以及如何利用Ganglia來監視集群運行情況。

一.安裝VMWare Workstation和Ubuntu

  從網上下載VMWare Workstation和Ubuntu,在這里我用的是VMWare Workstation 8.0.4和Ubuntu 12.04.2(Ubuntu 10貌似很多更新源都停止服務了,所以這里采用Ubuntu 12,注意Ubuntu 12要求vmware版本在8.0以上),相關安裝教程可以參考這篇博文:

  《手把手教你用VMWare安裝Ubuntu》(注意他這篇文章在分配磁盤空間時是立即分配的,我建議最好 把那個選項取消掉,否則在創建虛擬機的時候要等很長時間)

  

    (立即分配所有磁盤空間取消掉)

  VMWare下載地址:http://www.itopdog.cn/utilities-operating-systems/virtual-machine/vmware-workstation.html

  ubuntu 下載:http://mirrors.163.com/ubuntu-releases/或者http://mirrors.sohu.com/ubuntu-releases/

  安裝好Ubuntu后,由於ubuntu 12采用的是gnome 3的界面,反映比較慢,建議用回以前的經典界面gnome 2.方法:

  需要安裝gnome-session-fallback軟件:

  在命令行下輸入 

  sudo apt-get intall gnome-session-fallback,安裝完之后,點擊右上角的“設置”圖標,選擇“Log out”,然后就出現登錄初始界面了,點擊 小扳手 圖標,選擇 gnome classic之后重新輸入密碼登錄,以后默認就采用經典界面了。

  

  

  

  

  重新進入系統之后,發現界面就發生了變化:

  

  注意在使用的時候最好先shutdown(關閉)系統,再關閉虛擬機的電源,以免造成系統文件意外丟失。

二.安裝配置Hadoop

  1.安裝VMWare Tools

  安裝了VMWare Tools后,可以在宿主機和虛擬機之間直接拷貝文件。安裝方法如下:

  先運行命令: 

sudo apt-get install build-essential

   然后選擇:

  

  就會彈出VMWare Tools所在的文件夾,然后右鍵VMWare Tools.tar.gz,copy到Home目錄下。

  再打開Terminal,輸入解壓命令:

  

  解壓完成之后,進入解壓目錄,進行安裝:

  

  安裝過程中根據提示不斷回車或者輸入“yes”或者“no”即可。

  當出現如下界面時,表示安裝成功:

  

  之后重啟系統就可以直接在宿主機和VM之間互相復制粘貼文件了。

  2.安裝JDK

  由於Hadoop是用Java語言編寫的,運行時必須要有java環境,因此需要安裝JDK。

  首先去官網下載JDK安裝包,下面是下載地址:

  http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html

  下載下來之后,先進入到/usr/lib目錄下,建立文件夾java,然后拷貝jdk到java目錄下,先賦予可執行權限,再直接解壓進行安裝:

  

  等待片刻安裝完之后,輸入命令

sudo gedit  /etc/profile

  來配置環境變量,把下面代碼加入到文件末尾(注意路徑里面的JAVA_HOME根據個人安裝路徑而定):

export JAVA_HOME=/usr/lib/java/jdk1.6.0_45 
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

  保存退出之后輸入source /etc/profile使更改生效,再將安裝的jdk設置為系統默認的jdk,依次輸入以下命令:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/java/jdk1.6.0_45/bin/java" 300
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/java/jdk1.6.0_45/bin//javac" 300
sudo update-alternatives --config java
sudo update-alternatives --config javac

  注意前2條命令的數字300前面的那個路徑根據個人jdk安裝路徑而定。

  最后輸入java -version,若出現版本信息則安裝成功。    

  

  3.安裝和配置Hadoop

  先從Hadoop官網或者鏡像網站上下載Hadoop的相應版本,下面是下載地址:

  http://archive.apache.org/dist/hadoop/core/

  我下載的是hadoop-0.20.203.0rc1.tar.gz,然后直接復制粘貼到ubuntu的Desktop上,再在/usr目錄下建立hadoop文件夾,

  將hadoop-0.20.203.0rc1.tar.gz文件直接解壓到到/usr/hadoop目錄下。      

  

  解壓之后,需要配置系統環境變量:

  運行命令 sudo gedit  /etc/profile

  添加如下內容(注意HADOOPHOME是自己的hadoop-0.20.203.0rc1.tar.gz文件解壓所在路徑):

export  HADOOPHOME=/usr/hadoop/hadoop-0.20.203.0
export  PATH=$HADOOPHOME/bin:$PATH

  添加完之后source /etc/profile,以保存更改。

  然后需要更改hadoop文件夾的所屬者,將所屬者賦予當前用戶,我的當前用戶是zwl(這個步驟很重要,否則集群運行時會提示權限不夠),輸入下面這個條命令(后面的zwl表示當前用戶名,/usr/hadoop表示要修改的文件夾):

  sudo chown -hR zwl  /usr/hadoop

  接下來需要配置/usr/hadoop/hadoop-0.20.203.0/conf/hadoop-env.sh文件:

  在該文件中添加內容:

export JAVA_HOME=/usr/lib/java/jdk1.6.0_45 

  最后需要修改/usr/hadoop/hadoop-0.20.203.0/conf/目錄下的core-site.xml、hdfs-site.xml、mapred-site.xml這三個文件:

  三個文件的內容修改為下:

  core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

 <configuration>
      <property>
              <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>   
      </property>
</configuration>

  hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
</configuration>

  mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>localhost:9001</value>
     </property>
</configuration>

  在進行這些配置之后需要安裝ssh,依次輸入命令

  sudo apt-get install ssh

  sudo apt-get install rsync

  完成之后輸入命令

  ssh localhost

  如果沒有提示錯誤則安裝成功(默認的.ssh文件夾在  /home/用戶名/   這個路徑下,它是隱藏文件,快捷鍵Ctrl+H可以顯示隱藏文件),然后需要為ssh設置免密碼登錄和設置權限,依次輸入下面幾條命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys

  完成之后再輸入ssh localhost如果不需要輸入密碼的話則配置ssh免密碼登錄成功。

  現在就可以啟動hadoop集群了:

  先進入到目錄/usr/hadop/hadoop-0.20.203.0命令下,輸入命令進行格式化:

  bin/hadoop namenode -format

  然后啟動集群:bin/start-all.sh,,如果提示以下信息則表示安裝成功:

  

  關閉集群可以通過命令bin/stop-all.sh來關閉。

  hadoop集群啟動之后就可以向它提交作業了,一般提交作業先需要將輸入文件上傳到HDFS,再將整個作業進行提交:

  以自帶的wordcount程序為例:

  先進入到hadoop目錄下面,輸入命令:

bin/hadoop dfs -put  /usr/test.txt  /home/testin

  這條命令要注意兩個參數:/usr.text.txt 是需要單詞計數的源文件所在路徑,/home/testin是HDFS讀取輸入文件所在路徑

  然后就可以提交了:

bin/hadoop jar hadoop-examples-*.jar wordcount /home/testin /home/testout

  這條命令主要注意后面兩個路徑,第一個路徑是輸入所在路徑,第二個路徑是作業執行的輸出結果路徑。

  至此hadoop集群的安裝和配置已經完成,接下來需要安裝和配置Ganglia

三.安裝和配置Ganglia

  1.安裝ganglia-monitor ganglia-webfrontend gmetad

  運行命令 sudo apt-get install ganglia-monitor ganglia-webfrontend gmetad進行安裝。

  安裝過程中會彈出提示讓重新啟動apache2,選擇“Yes”:

  

   完了之后會提示配置ganglia-webfrontend,選擇“Yes“:

    

  在這個過程會自動安裝rrdtool,php這些東西,安裝完成之后,需要進行一些配置:

  先需要配置gmetad.conf,輸入命令

  sudo gedit /etc/ganglia/gmetad.conf

  如果里面存在

  datasource "my cluster" localhost

  

  則不用更改,否則添加進去

  接着配置gmond.conf,輸入命令

  sudo gedit /etc/ganglia/gmond.conf

  找到cluster塊,將name設置成 "my cluster"。

  

  然后分別重啟gmetad和gmond:

  sudo /etc/init.d/gmetad restart
  sudo /etc/init.d/ganglia-monitor restart

  接下來需要配置apche2下的httpd.conf文件,輸入命令:

  sudo gedit /etc/apache2/httpd.conf

  將  ServerName localhost:80   添加進去保存(若有則不用添加)。

  再將默認的ganglia-webfrontend文件夾復制到apache的www目錄下,輸入命令:

  sudo cp -r /usr/share/ganglia-webfrontend /var/www/ganglia       

  然后重啟apache,輸入命令:        

  sudo /etc/init.d/apache2 restart

  現在打開瀏覽器,在地址欄輸入http://localhost/ganglia就可以看到ganglia的首頁了。

  

  ganglia安裝成功之后,就需要進行一些配置讓它來監控hadoop,這里主要修改/usr/hadoop/hadoop-0.20.203.0/conf/目錄下的

  hadoop-metrics2.properties文件,將這個文件的最下面六行注釋去掉,改成:

namenode.sink.ganglia.servers=239.2.11.71:8649

datanode.sink.ganglia.servers=239.2.11.71:8649

jobtracker.sink.ganglia.servers=239.2.11.71:8649

tasktracker.sink.ganglia.servers=239.2.11.71:8649

maptask.sink.ganglia.servers=239.2.11.71:8649

reducetask.sink.ganglia.servers=239.2.11.71:8649

  保存關閉之后就可以對hadoop集群進行監控了。

  

  注意我這里所有的配置都是針對hadoop的偽分布式模式的,偽分布式模式就是Namenode和datanode都在一台機器上,模擬成分布式。

  關於hadoop和Ganglia的配置就講到這里了,若有地方有問題,最好查閱官方文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM