hadoop安裝配置

最近研究hadoop,建議下載hadoop0.19版本,相對穩定些。故我們就使用hadoop0.19版本來 安裝學習。網上有幾篇文章講解如何安裝,但都有這樣那樣的問題,下面就以我們的安裝步驟來說明
1、硬件環境
    我們採用了3臺機器來構建,都安裝的是Ubuntu8.04系統,並且都有一個名爲“quan“的帳號,如下:
           主機名稱:360quan-1    ip:192.168.0.37        功能:NameNode,JobTracker
           主機名稱:360quan-2    ip:192.168.0.43        功能:DataNode,TaskTracker
           主機名稱:360quan-3    ip:192.168.0.53        功能:DataNode,TaskTracker
    重點:修改3臺機器的/etc/hosts,讓彼此的主機名稱和ip都能順利解析
          127.0.0.1       localhost
          192.168.0.37    360quan-1
          192.168.0.43    360quan-2
          192.168.0.53    360quan-3
2、每臺機器都要安裝java環境,我們的路徑統一爲“/opt/jdk1.6.0_03“,並添加到系統環境變量 sudo gedit /etc/profile

Xml代碼
  1.       JAVA_HOME=/opt/jdk1.6.0_03  
  2. CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.  
  3. PATH=$JAVA_HOME/bin:$PATH  
  4. export JAVA_HOME  
  5. export CLASSPATH  
  6. export PATH  
       JAVA_HOME=/opt/jdk1.6.0_03
	CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
	PATH=$JAVA_HOME/bin:$PATH
	export JAVA_HOME
	export CLASSPATH
	export PATH

 3、下載hadoop0.16.3,hbase0.12版本到"360quan-1",將hadoop解壓到/home/quan/opt /hadoop,hbase解壓到hadoop/contrib/hbase。建議最好也將hadoop的目錄添加到環境變量裏面去:

Xml代碼
  1.       HADOOP_HOME=/home/quan/opt/hadoop #這是hadoop的主目錄  
  2. export HADOOP_HOME  
  3. HADOOP_CONF_DIR=$HADOOP_HOME/conf   #這是hadoop的配置文件目錄  
  4. export HADOOP_CONF_DIR  
  5. HADOOP_LOG_DIR=/home/quan/hadoop/log    #存放運行日誌目錄  
  6. export HADOOP_LOG_DIR  
  7. HADOOP_SSH_OPTS="-p 22"         #SSH的端口號,其實默認就是22  
  8. export HADOOP_SSH_OPTS    
       HADOOP_HOME=/home/quan/opt/hadoop	#這是hadoop的主目錄
	export HADOOP_HOME
	HADOOP_CONF_DIR=$HADOOP_HOME/conf	#這是hadoop的配置文件目錄
	export HADOOP_CONF_DIR
	HADOOP_LOG_DIR=/home/quan/hadoop/log	#存放運行日誌目錄
	export HADOOP_LOG_DIR
	HADOOP_SSH_OPTS="-p 22"			#SSH的端口號,其實默認就是22
	export HADOOP_SSH_OPTS	

 4、安裝ssh,這裏注意ubuntu8.04下面是ssh2,如果是ssh1的話,請升級,安裝完後,建立ssh通道,使用空密碼(生產環境可不能使用空密碼啊),這裏使用“360quan-1”這臺機器爲例說明:

Xml代碼
  1.       sudo apt-get install ssh  
  2. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa   
  3. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  
       sudo apt-get install ssh
	ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
	cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

      以上配置完成後,執行一下ssh localhsot,確認你的每臺機器都可以使用ssh(不需要密碼)連接,連接成功後會輸出以下信息:

Xml代碼
  1.       Linux zhangqiaohui-desktop 2.6.24-19-generic #1 SMP Wed Jun 4 16:35:01 UTC 2008 i686  
  2. The programs included with the Ubuntu system are free software;  
  3. the exact distribution terms for each program are described in the  
  4. individual files in /usr/share/doc/*/copyright.  
  5. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by  
  6. applicable law.  
  7. To access official Ubuntu documentation, please visit:  
  8. http://help.ubuntu.com/  
  9. Last login: Thu Jun 12 10:40:50 2008 from localhost  
       Linux zhangqiaohui-desktop 2.6.24-19-generic #1 SMP Wed Jun 4 16:35:01 UTC 2008 i686
	The programs included with the Ubuntu system are free software;
	the exact distribution terms for each program are described in the
	individual files in /usr/share/doc/*/copyright.
	Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
	applicable law.
	To access official Ubuntu documentation, please visit:
	http://help.ubuntu.com/
	Last login: Thu Jun 12 10:40:50 2008 from localhost

     ok後,我們將“360quan-1”機器上產生的這個空密鑰拷貝到另外2臺機器上,作爲公共密鑰,讓namenode也可以不需要密碼訪問2臺datanode:

Xml代碼
  1.       sudo scp authorized_keys 360quan-2:/home/quan/.ssh/   
  2. sudo scp authorized_keys 360quan-3:/home/quan/.ssh/   
  3. ssh 360quan-2  
  4. ssh 360quan-3  
       sudo scp authorized_keys 360quan-2:/home/quan/.ssh/ 
	sudo scp authorized_keys 360quan-3:/home/quan/.ssh/ 
	ssh 360quan-2
	ssh 360quan-3

 5、接下來,我們要修改hadoop的相關設定了。修改"360quan-1"上面的hadoop的[conf/masters]、[conf/slaves]這2個文件:

       Master設置(<HADOOP_HOME>/conf/masters) :360quan-1
       Slave設置(<HADOOP_HOME>/conf/slaves) L:360quan-2 360quan-3
6、修改[conf/hadoop-env.sh]:

       export JAVA_HOME=/opt/jdk1.6.0_03

7、修改[conf/hadoop-site.xml],這裏只是幾個常用的屬性配置,有關hadoop的性能優化調整,需要研究hadoop-default.xml:

Xml代碼
  1. <configuration>  
  2.         <property>  
  3.             <name>fs.default.name</name>  
  4.             <value>360quan-1:9000</value>  
  5.             <description>指定NameNode的IP地址和端口號,缺省值是file:///, 表示使用本地文件系統, 用於單機非分佈式模式</description>  
  6.         </property>  
  7.         <property>  
  8.             <name>mapred.job.tracker</name>  
  9.             <value>360quan-1:9001</value>  
  10.             <description>指定 JobTracker的IP地址和端口號。缺省值是local, 表示在本地同一Java進程內執行JobTracker和TaskTracker, 用於單機非分佈式模式</description>  
  11.         </property>  
  12.         <property>  
  13.             <name>dfs.replication</name>  
  14.             <value>1</value>  
  15.             <description>指定HDFS中每Block被複制的次數,起數據冗餘備份的作用。在典型的生產系統中,這個數常常設置爲3。</description>  
  16.         </property>  
  17.         <property>  
  18.             <name>hadoop.tmp.dir</name>  
  19.             <value>/home/quan/opt/hadoop/tmp/</value>  
  20.         </property>  
  21.     </configuration>  
<configuration>
		<property>
			<name>fs.default.name</name>
			<value>360quan-1:9000</value>
			<description>指定NameNode的IP地址和端口號,缺省值是file:///, 表示使用本地文件系統, 用於單機非分佈式模式</description>
		</property>
		<property>
			<name>mapred.job.tracker</name>
			<value>360quan-1:9001</value>
			<description>指定 JobTracker的IP地址和端口號。缺省值是local, 表示在本地同一Java進程內執行JobTracker和TaskTracker, 用於單機非分佈式模式</description>
		</property>
		<property>
			<name>dfs.replication</name>
			<value>1</value>
			<description>指定HDFS中每Block被複制的次數,起數據冗餘備份的作用。在典型的生產系統中,這個數常常設置爲3。</description>
		</property>
		<property>
			<name>hadoop.tmp.dir</name>
			<value>/home/quan/opt/hadoop/tmp/</value>
		</property>
	</configuration>

 8、修改hbase的[hbase-evn.sh]:
        export JAVA_HOME=/opt/jdk1.6.0_03
9、修改hbase的[hbase-site.xml]:

Xml代碼
  1. <configuration>  
  2.         <property>  
  3.             <name>hbase.master</name>  
  4.             <value>360quan-1:60000</value>  
  5.         </property>  
  6.         <property>  
  7.             <name>hbase.rootdir</name>  
  8.             <value>hdfs://360quan-1:9000/hbase</value>  
  9.         </property>  
  10. </configuration>  
<configuration>
		<property>
			<name>hbase.master</name>
			<value>360quan-1:60000</value>
		</property>
		<property>
			<name>hbase.rootdir</name>
			<value>hdfs://360quan-1:9000/hbase</value>
		</property>
</configuration>

 10、然後將hadoop的整體環境拷貝到360quan-2、360quan-3上面去
          scp -r /home/quan/hadoop 360quan-2:/home/hdp/
          scp -r /home/quan/hadoop 360quan-3:/home/hdp/
11、在360quan-1這個namenode上面格式化一個新的分佈式文件系統HDFS,就是hadoop-site.xml文件中指定的hadoop.tmp.dir路徑
         <HADOOP_HOME>/bin/hadoop namenode -format
    
到此大致上就完成了屬於你自己的Cloud Computing環境了
        啓動hadoop:<HADOOP_HOME>/bin/start-all.sh
        啓動hbase:<HADOOP_HOME>/contrib/hbase/bin/start-hbase.sh
        停止hbase:<HADOOP_HOME>/contrib/hbase/bin/stop-hbase.sh
        停止hadoop:<HADOOP_HOME>/bin/stop-all.sh
說明:
    (1) 執行 $ bin/start-all.sh啓動Hadoop進程後,會啓動5個java進程,同時會在/tmp目錄下創建五個pid文件記錄這些進程ID號。通過 這五個文件,可以得知namenode,datanode,secondary namenode,jobtracker,tasktracker 分別對應於哪一個Java進程。當你覺得 Hadoop 工作不正常時,可以首先查看這5個java進程是否在正常運行,運行jps命令也可以查看。
    (2) 訪問 http://360quan-1:50030 可以查看JobTracker的運行狀態。訪問 http://360quan-1:50060可以查看 TaskTracker的運行狀態。訪問 http://360quan-1:50070可以查看NameNode以及整個分佈式文件系統的狀態,瀏覽分佈式文件系統中的文件以及log等。
    (3) 查看 ${HADOOP_HOME}/logs目錄下的log文件,namenode,datanode,secondary namenode,jobtracker, tasktracker各有一個對應的log文件,每一次運行的計算任務也有對應用log文件。分析這些log文件有助於找到故障原因。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章