Hadoop部署安裝 Hadoop3.1.2的完全分佈式部署

大綱

  • 機器環境及SSH預處理
  • hadoop安裝部署

〇、Hadoop下載地址

採用apache官網下載地址進行下載
apache索引目錄 Index of /dist

此處使用了 hadoop-3.1.2.tar.gz

一、分配機器環境

共3臺機器
172.23.7.9
172.23.7.10
172.23.7.12

在每臺機器使用hostname命令,查看機器命名

在每臺機器上hosts配置文件
vim /etc/hosts

二、SSH配置

  • 1 創建ssh,或者使用已有的ssh
    創建ssh命令
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  • 2 將其配置爲無密碼登錄
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
  • 3 修改/etc/ssh/sshd_config 文件

需要修改的 如果有註釋 就打開註釋

RSAAuthentication yes 
PubkeyAuthentication yes #這兩項爲打開公鑰模式 
AuthorizedKeysFile .ssh/authorized_keys #配置公鑰記錄文件 
PasswordAuthentication yes #打開密碼驗證模式
  • 4 測試
ssh [hostname]
  • 問題:
    若出現如下問題
    ssh_exchange_identification: read: Connection reset by peer
    解決方案:
# root權限
vim /etc/hosts.allow

# 追加
sshd: 172.23.*

# 重啓ssh
service sshd restart

三、分佈式配置部署

選取172.23.7.9 爲namenode,剩餘兩個節點爲datanode

  • 1 修改hadoop-env.sh
    路徑: ~/hadoop-3.1.2/sbin/hadoop-env.sh
#jdk絕對路徑環境  因爲要遠程調用 ${java_home}找不到變量  
export JAVA_HOME=/usr/java/jdk1.8.0_141
  • 2 修改core-site.xml
    路徑:~/hadoop-3.1.2/etc/hadoop/core-site.xml
<configuration>
<!-- 修改defaultFS爲hadoop1-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://[namenode機器hostname]:9000</value>
    </property>
<!-- 修改了臨時文件存放位置-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/apache/hadoop/tmp</value>
</property>
</configuration>
  • 3 修改hdfs-site.xml
    路徑:~/hadoop-3.1.2/etc/hadoop/hdfs-site.xml
<configuration>
<!-- 將備份數修改爲3,小於等於當前datanode數目即可-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
<!-- 將secondary namenode改爲hadoop2-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>[一臺非namenode機器hostname]:50090</value>
</property>
<property>
       <name>dfs.namenode.name.dir</name>
    <value>file://${hadoop.tmp.dir}/dfs/name</value>
 </property>
 <property>
    <name>dfs.namenode.data.dir</name>
    <value>file://${hadoop.tmp.dir}/dfs/data</value>
 </property>
 <property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
 </property>
</configuration>
  • 4 修改yarn-site.xml
    路徑:~/hadoop-3.1.2/etc/hadoop/yarn-site.xml
<configuration>
<!-- 添加了yarn.resourcemanager.hostname 屬性-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop1</value>
</property>
 
<property>  
    <name>yarn.nodemanager.aux-services</name>  
    <value>mapreduce_shuffle</value>  
</property>  
<!-- 添加了yarn.nodemanager.auxservices.mapreduce.shuffle.class屬性-->
<property>
    <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
  • 5 修改workers 配置
    路徑:~/hadoop-3.1.2/etc/hadoop/workers
[datanode1即172.23.7.10 的hostname]
[datanode1即172.23.7.12 的hostname]

其他節點配置相同

啓動

  • 1 namenode上格式化
路徑:~/hadoop-3.1.2/bin
./hdfs namenode -format


如出現以下異常
java.lang.UnsupportedClassVersionError
檢查jdk版本,並配置對應版本

J2SE 8 = 52 (0x34 hex),
J2SE 7 = 51 (0x33 hex),
J2SE 6.0 = 50 (0x32 hex),
J2SE 5.0 = 49 (0x31 hex),
JDK 1.4 = 48 (0x30 hex),
JDK 1.3 = 47 (0x2F hex),
JDK 1.2 = 46 (0x2E hex),
JDK 1.1 = 45 (0x2D hex).
  • 2 啓動集羣和yarn
路徑:~/hadoop-3.1.2/sbin
./start-dfs.sh
./start-yarn.sh
  • 3 測試

3.1 每個節點查看進程:
jps

3.2 登錄管理頁面
http://[namenode的IP]:9870

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章