1. 程式人生 > >Hadoop入門-1.配置部署啟動(基於hadoop-2.7.3)

Hadoop入門-1.配置部署啟動(基於hadoop-2.7.3)

1.準備

1.下載 hadoop-2.5.2.tar.gz 免安裝包到指定的目錄

2.執行命令: tar -zxvf hadoop-2.5.2.tar.gz 解壓目錄

2.配置

1.切換到指定的目錄:

cd $HADOOP_HOME/etc/hadoop

2.對相關的配置檔案進行配置:

hadoop-env.sh
  

vim hadoop-env.sh
找到:export JAVA_HOME=$JAVA_HOME行,將它註釋掉,用下面的行替代:
export JAVA_HOME=/usr/java/jdk1.7.0_65

 這樣做是避免,Hadoop配置檔案中讀不到$JAVA_HOME而報錯。

core-site.xml

<!-- 指定HADOOP所使用的檔案系統schema(URI),HDFS的老大(NameNode)的地址 -->
  <property>
   <name>fs.defaultFS</name>
   <value>hdfs://server1:9000</value>
  </property>
  <!-- 指定hadoop執行時產生檔案的儲存目錄 -->
  <property>
   <name>hadoop.tmp.dir</name>
   <value>/home/hadoop/hadoop-2.4.1/tmp</value>
    </property>

hdfs-site.xml   hdfs-default.xml  (3)

<!-- 指定HDFS副本的數量 -->
  <property>
   <name>dfs.replication</name>
   <value>1</value>
    </property>

注:配置到此時,分散式檔案系統已經可以啟動進行讀寫了。

slaves

如果在上面配置的HDFS的副本數不為0 ,則需要在slaves裡面指定好所有的副本主機名

類似: server1

            server2

            ......

mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)

mv mapred-site.xml.template mapred-site.xml
  vim mapred-site.xml
  <!-- 指定mr執行在yarn上 -->
  <property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
    </property>

yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 -->
  <property>
   <name>yarn.resourcemanager.hostname</name>
   <value>server1</value>
    </property>
  <!-- reducer獲取資料的方式 -->
    <property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
     </property>

啟動

1.配置環境變數

vim /etc/proflie
  
  export HADOOP_HOME=/hadoop/hadoop-2.5.2
  export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

2.格式化

cd $HADOOP_HOME/sbin

執行命令:hdfs namenode -format (或者hadoop namenode -format)

3.啟動指令碼

cd $HADOOP_HOME/sbin

先啟動HDFS
  sbin/start-dfs.sh
  
  再啟動YARN
  sbin/start-yarn.sh

4.驗證是否啟動成功

使用jps命令驗證
  27408 NameNode
  28218 Jps
  27643 SecondaryNameNode
  28066 NodeManager
  27803 ResourceManager
  27512 DataNode
 
  http://localhost:50070 (HDFS管理介面)
  http://localhost:8088 (MR管理介面)

4.配置ssh免登陸

在執行啟動指令碼的時候,系統會提示要輸入密碼驗證,它其實是一個遠端登入啟動指令碼的機制。

通過SSH遠端到你配置的節點上去啟動程序。即便你的節點是在本地,它也是一樣的方式。

因此當節點N多的時候,要N次以上輸入密碼驗證。為了解決這個問題,可以配置SSH免登入,

配置如下:

#生成ssh免登陸金鑰
 #進入到我的home目錄
 cd ~/.ssh

 ssh-keygen -t rsa (四個回車)
 執行完這個命令後,會生成兩個檔案id_rsa(私鑰)、id_rsa.pub(公鑰)
 將公鑰拷貝到要免密登陸的目標機器上
 ssh-copy-id localhost

SSH工作原理和機制圖