Hadoop yarn完全分布式安裝筆記

jopen 9年前發布 | 19K 次閱讀 Hadoop 分布式/云計算/大數據

版本及配置簡潔
Java:   JDK1.7.0_71
Hadoop: hadoop-2.5.2
Linux:  centos6.4 64bit


暫且配置3臺機器,假設三臺機器IP如下:
192.168.40.138 master
192.168.40.137 slave-1
192.168.40.136 slave-2
一.前置環境配置
1.創建hadoop用戶
以下操作使用root用戶
$useradd -d /home/hadoop -s /bin/bash hadoop
$passwd hadoop
hadoop
2.關閉防火墻 (每臺機器都需)
$chkconfig iptables off
關閉selinux
$vi /etc/selinux/config
SELINUX=disabled


修改機器名
$vi /etc/sysconfig/network
將三臺機器的名字分別改為master,slave-1,slave-2


配置hosts文件
$vi /etc/hosts 追加
192.168.40.138 master
192.168.40.137 slave-1
192.168.40.136 slave-2


重啟機器
$reboot
3.配置SSH互信
修改SSH配置文件
$vi /etc/ssh/sshd_config
找到下列行 去掉注釋#
RSAAuthentication yes //字面意思..允許RSA認證 PubkeyAuthentication yes //允許公鑰認證 AuthorizedKeysFile .ssh/authorized_keys //公鑰存放在.ssh/au..文件中 


重啟SSH
$/etc/init.d/sshd restart


切換至hadoop用戶在master上進行如下操作

$ssh-keygen -t rsa
回車


在slave-1上操作
$ssh-keygen -t rsa
$scp /home/hadoop/.ssh/id_rsa.pub hadoop@master:~/.ssh/id_rsa.pub.slave-1


在slave-2上操作
$ssh-keygen -t rsa
$scp /home/hadoop/.ssh/id_rsa.pub hadoop@master:~/.ssh/id_rsa.pub.slave-2


在master上操作
$cat id_rsa.pub >> authorized_keys
$cat id_rsa.pub.slave-1 >> authorized_keys
$cat id_rsa.pub.slave-2 >> authorized_keys
$scp authorized_keys hadoop@slave-1:~/.ssh/
$scp authorized_keys hadoop@slave-2:~/.ssh/


在每臺機器上修改下面兩個文件的權限:
$chmod 600 ~/.ssh/authorized_keys
$chmod 700 ~/.ssh/


測試是否SSH互信配置好了:
$ssh master
$ssh slave-1
$ssh slave-2


4.JDK安裝
給集群每臺機器安裝JDK,并且設置好JAVA_HOME
$mkdir /usr/java
將jdk-7u71-linux-x64.tar上傳到/usr/java目錄并解壓
$tar -xvf jdk-7u71-linux-x64.tar /usr/java
$rm -rf jdk-7u71-linux-x64.tar
$mv /usr/java/jdk1.7.0_71 /usr/java/jdk1.7


設置JAVA_HOME
$vi /etc/profile 追加下面文件
export JAVA_HOME=/usr/java/jdk1.7
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=.:$JAVA_HOME/bin:$PATH
$source /etc/profile
$java -version 檢驗JAVA環境變量是否設置好了
二.hadoop安裝
1.解壓并重命名hadoop
在master操作
將hadoop-2.5.2.tar 上傳到/home/hadoop目錄下并解壓
$tar -xvf hadoop-2.5.2.tar
$rm -rf hadoop-2.5.2.tar


2.創建hadoop需要的目錄
創建如下文件夾(在每臺節點創建)
mkdir -p /home/hadoop/tmp
mkdir -p /home/hadoop/dfs/name
mkdir -p /home/hadoop/dfs/data


3.配置HADOOP_HOME
$vi /etc/profile 添加
export HADOOP_HOME=/home/hadoop/hadoop-2.5.2/
export PATH=$PATH:$HADOOP_HOME/bin


4.編輯slaves
vi /home/hadoop/hadoop-2.5.2/etc/hadoop/slaves

添加如下內容

slave-1
slave-2
5.給hadoop指定JAVA_HOME
vi hadoop_env.sh
找到JAVA_HOME 設值為/usr/java/jdk1.7
6.修改hadoop配置文件
1).修改core-site.xml
$vi /home/hadoop/hadoop-2.5.2/etc/hadoop/core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/hadoop/tmp</value>
    <description>Abase for other temporary   directories.</description>
  </property>
  <property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value></value>
  </property>
  <property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>
</value>
  </property>
</configuration>
2).修改hdfs-site.xml
$vi /home/hadoop/hadoop-2.5.2/etc/hadoop/hdfs-site.xml
<configuration>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:9001</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop/dfs/data</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
  </property>
</configuration>
3).修改mapred-site.xml
$mv mapred-site.xml.templete mapred-site.xml
$vi /home/hadoop/hadoop-2.5.2/etc/hadoop/mapred-site.xml
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
  </property>
</configuration>
4).修改yarn-site.xml
$vi /home/hadoop/hadoop-2.5.2/etc/hadoop/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>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>master:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>master:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:8088</value>
  </property>
</configuration>
7.拷貝軟件到其他節點
scp -r /home/hadoop/hadoop-2.5.2 slave-1:/home/hadoop/
scp -r /home/hadoop/hadoop-2.5.2 slave-2:/home/hadoop/
scp -r /home/hadoop/hadoop-2.5.2 slave-3:/home/hadoop/


8.格式化hdfs文件系統
 $hdfs namenode –format
9.啟動hadoop
$/home/hadoop/hadoop-2.5.2/sbin/start-all.sh
10.檢測master節點:有以下三個進程表示啟動成功
檢測master節點:有以下三個進程表示啟動成功
$jps
41837 SecondaryNameNode
41979 ResourceManager
41661 NameNode
檢測slave節點:有以下兩個進程表示啟動成功
$jps
[root@master hadoop]# jps
4543 DataNode
4635 NodeManager

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!