在 Linux 上安裝或設定

偽分散式群集設定過程

先決條件

  • 安裝 JDK1.7 並設定 JAVA_HOME 環境變數。

  • 建立一個新使用者為 hadoop

    useradd hadoop

  • 設定無密碼 SSH 登入到自己的帳戶

     su - hadoop
     ssh-keygen
     << Press ENTER for all prompts >>
     cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
     chmod 0600 ~/.ssh/authorized_keys
    
  • 通過執行 ssh localhost 驗證

  • 通過編輯/etc/sysctl.conf 禁用 IPV6,具體如下:

     net.ipv6.conf.all.disable_ipv6 = 1
     net.ipv6.conf.default.disable_ipv6 = 1
     net.ipv6.conf.lo.disable_ipv6 = 1
    
  • 檢查使用 cat /proc/sys/net/ipv6/conf/all/disable_ipv6

    (應該返回 1)

安裝配置:

  • 使用 wget 命令從 Apache 歸檔檔案下載所需的 Hadoop 版本。

     cd /opt/hadoop/
     wget http:/addresstoarchive/hadoop-2.x.x/xxxxx.gz
     tar -xvf hadoop-2.x.x.gz
     mv hadoop-2.x.x.gz hadoop 
    (or)
    
     ln -s hadoop-2.x.x.gz hadoop
     chown -R hadoop:hadoop hadoop
    
  • 使用以下環境變數,根據你的 shell 更新 .bashrc / .kshrc

      export HADOOP_PREFIX=/opt/hadoop/hadoop
      export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
      export JAVA_HOME=/java/home/path
      export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$JAVA_HOME/bin
    
  • $HADOOP_HOME/etc/hadoop 目錄下編輯下面的檔案

    • 核心的 site.xml

      <configuration>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://localhost:8020</value>
          </property>
      </configuration> 
      
    • mapred-site.xml 中

      從模板建立 mapred-site.xml

      cp mapred-site.xml.template mapred-site.xml

        <configuration>
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
        </configuration> 
      
    • 紗的 site.xml

       <configuration>
           <property>
               <name>yarn.resourcemanager.hostname</name>
               <value>localhost</value> 
           </property>
           <property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
           </property>
       </configuration>
      
    • HDFS-site.xml 中

       <configuration>
           <property>
               <name>dfs.replication</name>
               <value>1</value>
           </property>
           <property>
               <name>dfs.namenode.name.dir</name>
               <value>file:///home/hadoop/hdfs/namenode</value>
           </property>
           <property>
               <name>dfs.datanode.data.dir</name> 
               <value>file:///home/hadoop/hdfs/datanode</value> 
           </property>
       </configuration>
      

    建立父資料夾以儲存 hadoop 資料

    mkdir -p /home/hadoop/hdfs
    
  • 格式化 NameNode(清理目錄並建立必要的元檔案)

    hdfs namenode -format
    
  • 開始所有服務:

    start-dfs.sh && start-yarn.sh
    mr-jobhistory-server.sh start historyserver
    

而是使用 start-all.sh(不建議使用)。

而是使用 stop-all.sh(不建議使用)。