搭建Hadoop開發環境

weixin_34116110發表於2017-09-07

搭建Hadoop開發環境

環境

ubuntu 16.04

軟體列表

軟體 版本 路徑
JAVA JDK 1.8.0_102 /usr/local/java
Hadoop 2.8.1 /usr/local/hadoop-2.8.1

配置步驟

  1. 單獨建立一個系統使用者名稱Hadoop
    1. 使用useradd命令建立hadoop使用者

      sudo useradd hadoop -m -r -s /bin/bash
      
    2. 為hadoop使用者設定密碼

      sudo passwd hadoop
      
    3. 給予使用者系統及管理員許可權

      sudo vi /etc/sudoers #編輯許可權管理檔案
      #root ALL=(ALL:ALL) ALL 後新增Hadoop許可權設定
      hadoop ALL=(ALL:ALL) ALL #給予系統許可權
      
  2. 配置SSH服務並設定免密碼登入
    1. 安裝ssh服務

      sudo apt-get install openssh-server
      
    2. 利用ssh-keygen命令生成金鑰

      #採用rsa金鑰型別生成金鑰
      ssh-keygen -t rsa 
      

      ps: ssh-keygen引數說明

    3. 配置本機ssh無密碼登入

      #進入.ssh目錄下
      cd ~/.ssh
      
      #把id_rsa.pub檔案內容新增到授權檔案中
      cat id_rsa.pub >> authorized_keys
      
      #測試無密碼登入
      ssh localhost
      
  3. 安裝Java開發環境
    1. 從官網獲取安裝包

      #不需要驗證
      wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
      
    2. 解壓檔案並複製到/usr/local目錄下

      tar -xvf jdk-8u131-linux-x64.tar.gz
      
      sudo cp jdk1.80_131 /usr/local/
      
    3. 配置java環境變數

      #開啟系統環境配置檔案
      sudo vi /etc/profile
      
      #在profile檔案最後增加以下內容
      export JAVA_HOME=/usr/local/jdk_1.80_131
      export PATH= $JAVA_HOME/bin:$PATH
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      
      #使配置生效
      source /etc/profile
      
      #檢查Java是否已經安裝好
      java -version
      
  4. 安裝Hadoop
    1. 官網獲取安裝包

      wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.8.1/hadoop-2.8.1.tar.gz
      
    2. 解壓安裝包並copy到/usr/local目錄下

      #解壓hadoop安裝包
      tar -xvf hadoop-2.8.1.tar.gz
      
      #移動Hadoop資料夾到/usr/local目錄下
      sudo mv hadoop-2.8.1 /usr/local
      
    3. 新增hadoop環境變數

      #開啟環境配置檔案
      sudo vi /etc/profile
      
      #新增hadoop環境
      export HADOOP_HOME=/usr/local/hadoop-2.8.1
      export PATH = $HADOOP_HOME/bin:$PATH:$HADOOP_HOME/sbin
      
      #檢查hadoop環境是否配置正確
      source /etc/profile #使配置生效
      hadoop version #檢視hadoop版本資訊
      
    4. 配置hadoop配置檔案

      1. 配置hadoop-env.sh檔案

        #修改hadoop-env.sh JAVA_HOME路徑地址
        export JAVA_HOME=/usr/local/jdk1.80_131
        
      2. 配置core-site.xml

        <configuration>
            <!-- 指定HDFS的namenode的通訊地址 -->
            <property>
                <name>fs.default.name</name>
                <value>hdfs://hadoop:9000</value>
            </property>
            
            <!-- 指定hadoop執行時產生檔案的存放目錄 -->
            <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop-2.8.1/tmp</value>
            </property>
            
            <!--指定檔案儲存的大小預設64M-->
            <property>
            <name>io.file.buffer.size</name>
            <value>131072</value>
           </property>
        </configuration>
        
        
      3. 配置hdfs-site.xml

        <configuration>
            <!-- 配置HDFS分片的數量 -->
            <property>
                <name>dfs.replication</name>
                <value>1</value>
            </property>
            <!--配置namenode本地儲存路徑-->
            <property>
               <name>dfs.namenode.name.dir</name>
               <value>file:/usr/local/hadoop-2.8.1/tmp/dfs/name</value>
            </property>
            <!--DataNode在本地檔案系統中存放塊的路徑-->
            <property>
               <name>dfs.datanode.data.dir</name>
               <value>file:/usr/local/hadoop-2.8.1/tmp/dfs/data</value>
            </property>
        </configuration>
        
      4. 配置yarn-site.xml

        <configuration>
            <!-- reducer取資料的方式是mapreduce_shuffle -->
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
        </configuration>
        
      5. 配置mapred-site.xml

        <configuration>
          <!-- tracker地址 -->
          <property>
            <name>mapred.job.tracker</name>
            <value>主機IP地址:9001</value>
          </property>
          <!-- 通知框架MR使用YARN -->
           <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
           </property>
        </configuration>
        
    5. 格式化叢集

      hdfs namenode -format
      
    6. 啟動hadoop

      start-all.sh
      
    7. 開啟瀏覽器訪問50070埠檢視hadoop

相關文章