1. 程式人生 > >hadoop 教程(二) ubuntu 下 安裝 hadoop (單機版安裝)

hadoop 教程(二) ubuntu 下 安裝 hadoop (單機版安裝)

1)hadoop2.7.3下載

(前提:先安裝java環境)

下載地址:http://hadoop.apache.org/releases.html

(注意是binary檔案,source那個是原始碼)

(2)解壓tar.gz 

(3)配置hadoop

1.修改/usr/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 檔案的java環境,將java安裝路徑加進去:

配置hadoop環境變數

  1. export JAVA_HOME=/alidata/server/java-1.7.0  

vi /etc/profile

  1. export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3  
  2. export PATH=$PATH:$HADOOP_HOME/bin  

有的安裝介紹中說是vi ~/.bash_profile,其實也可以用這個,2個命令在不同系統使用者的環境配置的作用域不一樣。參考:

http://blog.csdn.net/caiwenfeng_for_23/article/details/44242961

使之生效:

  1. source /etc/profile  

2.修改/usr/hadoop/hadoop2.7.3/etc/hadoop/core-site.xml 檔案,

  1. <configuration>  
  2.     <!-- 指定HDFS老大(namenode)的通訊地址 -->  
  3.     <property>  
  4.         <name>fs.defaultFS</name>  
  5.         <value>hdfs://localhost:9000</value>  
  6.     </property>  
  7.     <!-- 指定hadoop執行時產生檔案的儲存路徑 -->  
  8.     <property>  
  9.         <name>hadoop.tmp.dir</name>  
  10.         <value>/usr/hadoop/tmp</value>  
  11.     </property>  
  12. </configuration>  

fs.defaultFS直接用localhost就行,如果重新命名了主機名,也可以用重新命名的。

3.修改/usr/hadoop/hadoop2.7.3/etc/hadoop/hdfs-site.xml 

  1. <configuration>  
  2.     <property>  
  3.         <name>dfs.name.dir</name>  
  4.         <value>/usr/hadoop/hdfs/name</value>  
  5.         <description>namenode上儲存hdfs名字空間元資料 </description>   
  6.     </property>  
  7.     <property>  
  8.         <name>dfs.data.dir</name>  
  9.         <value>/usr/hadoop/hdfs/data</value>  
  10.         <description>datanode上資料塊的物理儲存位置</description>  
  11.     </property>  
  12.     <!-- 設定hdfs副本數量 -->  
  13.     <property>  
  14.         <name>dfs.replication</name>  
  15.         <value>1</value>  
  16.     </property>  
  17. </configuration>  

4.SSH免密碼登入

  1. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  
  2. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  
  3. chmod 0600 ~/.ssh/authorized_keys  

5.hdfs啟動與停止

第一次啟動hdfs需要格式化,之後啟動就不需要的:

  1. cd /usr/hadoop/hadoop-2.7.3  
  2. ./bin/hdfs namenode -format  

PS: 這裡有可能會報錯java.net.UnknownHostException: host01:host01: Name or service not known 

解決辦法參照

啟動命令:

./sbin/start-dfs.sh

停止命令:

  1. ./sbin/stop-dfs.sh  

從圖中看,會啟動namenode,datanode,secondarynamenode

6.接下來配置yarn檔案. 配置/usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml    。這裡注意一下,hadoop裡面預設是mapred-site.xml.template 檔案,如果配置yarn,把mapred-site.xml.template   重新命名為mapred-site.xml 。如果不啟動yarn,把重新命名還原。

mv mapred-site.xml.template mapred-site.xml 

vi mapred-site.xml

<configuration>  
    <!-- 通知框架MR使用YARN -->  
    <property>  
        <name>mapreduce.framework.name</name>  
        <value>yarn</value>  
    </property>  
</configuration>  

7.配置/usr/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml檔案,

<configuration>  
    <!-- reducer取資料的方式是mapreduce_shuffle -->  
    <property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
    </property>  
</configuration>  

8.啟動yarn

  1. ./sbin/start-yarn.sh  

停止:

./sbin/stop-yarn.sh

如圖:

會啟動resourcemanager,nodemanager

可以用jps命令檢視啟動了什麼程序:

瀏覽器輸入:http://119.29.174.43:8088      (8088是預設埠,如果端口占用,先把佔用的埠殺掉 netstat -ano)

這樣,dfs和yarn就啟動成功了。