Hadoop 安裝指南

1、安裝JDK

  一、用戶能夠在Oracle JDK的官網下載相應版本的JDK,本例以JDK 1.6爲例,官網地址爲http://www.oracle.com/tech-network/java/javase/downloads/index.html。html

  二、配置環境變量,在/etc/profile增長如下代碼。  java

1 #Seeting JDK JDK環境變量
2 export JAVA_HOME=/opt/java/jdk/jdk1.7.0_79
3 export JRE_HOME=${JAVA_HOME}/jre
4 export CLASSPATH=${JAVA_HOME}/lib
5 export PATH=${JAVA_HOME}/bin:$PATH

  輸入java -version命令查看是否安裝成功node

  

2、配置SSH

  通常linux系統都自帶了SSH服務,若是沒有SSH服務須要本身安裝linux

  一、查看是否安裝SSH: ps -e | grep sshweb

    

    若是沒有顯示sshd,說明沒有安裝ssh服務shell

  二、經過 「sudo apt-get install openssh-server」 安裝   數據庫

$ sudo apt-get install openssh-server
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關係樹       
正在讀取狀態信息... 完成       
有一些軟件包沒法被安裝。若是您用的是 unstable 發行版,這也許是
由於系統沒法達到您要求的狀態形成的。該版本中可能會有一些您須要的軟件
包還沒有被建立或是它們已被重新到(Incoming)目錄移出。
下列信息可能會對解決問題有所幫助:
 
下列軟件包有未知足的依賴關係:
 openssh-server : 依賴: openssh-client (= 1:6.6p1-2ubuntu1)
E: 沒法修正錯誤,由於您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關係。

  這是由於,openssh-server是依賴於openssh-clien的,那ubuntu不是自帶了openssh-client嗎?起因是自帶的openssh-clien與所要安裝的openssh-server所依賴的版本不一樣,這裏所依賴的版本是1:6.6p1-2ubuntu1,因此要安裝對應版本的openssh-clien,來覆蓋掉ubuntu自帶的。  apache

$ sudo apt-get install openssh-client=1:6.6p1-2ubuntu1
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關係樹       
正在讀取狀態信息... 完成       
建議安裝的軟件包:
  libpam-ssh keychain monkeysphere
下列軟件包將被【降級】:
  openssh-client
升級了 0 個軟件包,新安裝了 0 個軟件包,降級了 1 個軟件包,要卸載 0 個軟件包,有 0 個軟件包未被升級。
須要下載 566 kB 的軟件包。
解壓縮後會消耗掉 0 B 的額外空間。
您但願繼續執行嗎? [Y/n] y
獲取:1 http://cn.archive.ubuntu.com/ubuntu/ trusty/main openssh-client amd64 1:6.6p1-2ubuntu1 [566 kB]
下載 566 kB,耗時 2秒 (212 kB/s)        
dpkg:警告:downgrading openssh-client from 1:6.6p1-2ubuntu2 to 1:6.6p1-2ubuntu1
(正在讀取數據庫 ... 系統當前共安裝有 200015 個文件和目錄。)
Preparing to unpack .../openssh-client_1%3a6.6p1-2ubuntu1_amd64.deb ...
Unpacking openssh-client (1:6.6p1-2ubuntu1) over (1:6.6p1-2ubuntu2) ...
Processing triggers for man-db (2.6.7.1-1) ...
正在設置 openssh-client (1:6.6p1-2ubuntu1) ...

 能夠看到,提示了系統中openssh-client被降級,這樣再安裝openssh-server就能夠成功了!ubuntu

  三、查看SSH 目錄 /etc/ssh 下是否有密鑰文件bash

  

  若是沒有這兩個文件,須要本身生成。輸入如下命令。  

#ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
#ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

  生成密鑰文件時,會提示輸入密碼,這裏咱們不輸入密碼,默認按回車

  能夠用「passwd 用戶」 來修改ssh的登陸密碼。

  四、啓動ssh    

/etc/init.d/ssh status 查看ssh狀態 
/etc/init.d/ssh start  啓動ssh
/etc/init.d/ssh restart 重啓ssh

  五、測試ssh 是否安裝成功

  

3、配置SSH免密碼登陸

  一、輸入 ssh-keygen  -t rsa

$ssh-keygen  -t rsa 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/*回車,設置默認路徑*/
Enter passphrase (empty for no passphrase):
/*回車,設置空密碼*/
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

若是是root用戶,則在/root/.ssh/目錄下生成一個私鑰id_rsa和一個公鑰id_rsa.pub。

  二、將id_rsa.pub 文件 寫入 authorized_keys 

          cat id_rsa.pub >> ~/.ssh/authorized_keys  

   查看 /root/.ssh目錄

   

 三、裝id_rsa.pub 文件發送到遠程機器上

  scp id_rsa.pub root@172.20.14.144:/home

  cat /home/id_rsa.pub >> /root/.ssh/authorized_keys

  這樣ssh登陸遠程機器就不須要密碼了。

4、安裝Hadoop

  一、下載安裝Hadoop2.2.0

  二、解壓tar包  

$ sudo tar-vxzf hadoop-2.2.0.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv hadoop-2.2.0 hadoop
$ sudo addgroup hadoop  添加hadoop組
$ sudo adduser -ingroup hadoop hadoop 添加hadoop用戶 $ sudo chown
-R hduser:hadoop hadoop 受權

  三、查看Hadoop包是32位仍是64位

   

  四、配置Hadoop環境變量  

$ gedit /etc/profile

export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native  
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"  

  五、編輯配置文件

    1)、進入Hadoop所在目錄/usr/local/hadoop/etc/hadoop。

    2)、配置core-site.xml文件

<configuration>/*這裏的值指的是默認的HDFS路徑*/
    <property>
        <name>fs.default.name</name><!-- 客戶端用於連 HDFS端口,操做文件. -->
        <value>hdfs://master:9000</value>
    </property>
  /*緩衝區大小:io.file.buffer.size默認是4KB*/ <property> <name>io.file.buffer.size</name> <value>131072</value> </property><property> <name>hadoop.tmp.dir</name><!-- 臨時文件路徑--> <value>/home/tmp</value> <description>Abase for other temporary directories. </description> </property> <property> <name>hadoop.proxyuser.hduser.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hduser.groups</name> <value>*</value> </property> </configuration>

    3)、配置hdfs-site.xml

       建立namenode和datanode目錄,執行如下命令

             $ mkdir /hdfs/namenode
             $ mkdir /hdfs/datanode

       配置hdfs-site.xml文件

<configuration>
    <!--
    <property>  
         <name>dfs.namenode.rpc-address</name>  
         <value>master:9000</value>  
    </property>-->
    <!--
    <property>
    <name>dfs.namenode.http-address</name>
    <value>master:50070</value>
    <description>dfs namenode web ui 的地址 </description>        
    </property>-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9001</value><!--???-->
    </property>
    
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/hdfs/namenode</value>
    </property>
    <!--配置datanode的數據存儲目錄-->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/hdfs/datanode</value>
    </property>
    <!--配置副本數-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--將dfs.webhdfs.enabled屬性設置爲true,不然就不能使用webhdfs的LISTSTATUS、LISTFILESTATUS等須要列出文件、文件夾狀態的命令,由於這些信息都是由namenode保存的-->
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>

   4)、配置hadoop-env.sh 和 yarn-env.sh 文件

      加入環境變量:export JAVA_HOME=/opt/java/jdk/jdk1.7.0_79/

   5)、配置yarn-site.xml文件

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>/*resourcemanager的地址*/
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:8032</value>
    </property>/*調度器的端口*/
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value> master:8030</value>
    </property>/*resource-tracker端口*/
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:8031</value>
    </property>/*resourcemanager管理器端口*/

    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>master:8033</value>
    </property>/*ResourceManager 的 Web 端口,監控 job 的資源調度*/
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:8088</value>
    </property>
</configuration>

   6)、配置mapred-site.xml文件     僞分佈式不用配

<configuration>/*hadoop對map-reduce運行框架一共提供了3種實現,在mapred-site.xml中經過"mapreduce.framework.name"這個屬性來設置爲"classic"、"yarn"或者"local"*/
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>/*MapReduce JobHistory Server地址*/
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>/*MapReduce JobHistory Server Web UI地址*/
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>
</configuration>

    7)、配置masters,slaves 

      sudo gedit /usr/local/hadoop/etc/hadoop/masters 添加:localhost (或master 必須配置hosts文件)

      sudo gedit /usr/local/hadoop/etc/hadoop/slaves  添加:localhost

   8)、配置hosts 文件 (可不配置)

      gedit /etc/hosts   添加以下內容

192.168.0.161 master
192.168.0.156 slave1

   9)、格式化Namenode(在Hadoop根目錄下)

 ./bin/hadoop namenode -format

   10)、啓動hadoop(在hadoop根目錄下)

./sbin/start-all.sh

  

   11)、查看hadoop是否啓動功能

  

 

5、測試hadoop

  一、hadoop根目錄下建立文件夾

hadoop fs -mkdir /test

  二、查看hadoop目錄文件

  

 

 

http://localhost:8088

http://localhost:50070

HDFS NameNode界面:http://localhost:8042

hadoop 下載地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/

相關文章
相關標籤/搜索