Hadoop--HDFS完全分散式(簡單版)

戲子zzzz發表於2020-12-02

Hadoop–HDFS完全分散式(簡單版)

一. 叢集選型

 1.NameNode  記憶體大  效能好一點的機器
 2.DataNode  硬碟大  效能中等一般的機器即可
 3.可以讓NameNode 同時充當DataNode節點

二. 叢集搭建

1. 建立三臺虛擬機器

192.168.153.15
192.168.153.16
192.168.153.17

2. 修改主機名

vim /etc/hostname

修改完成後必須重新啟動

在這裡插入圖片描述

3. 配置主機名與ip對映

vim /etc/hosts

三個機器都一樣
192.168.153.15 hadoop15
192.168.153.16 hadoop16
192.168.153.17 hadoop17

在這裡插入圖片描述
配置完成後可以使用ping命令測試下是否配置成功

4. 配置ssh免密登入

1. 生成ssh祕鑰對
ssh-keygen -t rsa 然後回車幾次就可以啦

2. 檢視祕鑰對生成位置
ls /root/.ssh 會發現在home目錄中生成了兩個檔案
	id_rsa(私鑰)  id_rsa.pub(公鑰) 
	
3. 將公鑰加入另一臺機器的受信列表中
ssh-copy-id hadoop(主機名) 
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys (和上面命令一樣)

4. 再次檢視/root/.ssh 目錄 多出兩個檔案其中authorized_keys就是存放公鑰列表檔案
authorized_keys  id_rsa  id_rsa.pub  known_hosts


5. 檢測是否配置成功
ssh hadoop  不需要輸入密碼即可

在hadoop17中進行測試
在這裡插入圖片描述

5.安裝jdk配置環境變數

在這裡插入圖片描述

6.安裝hadoop 並配置環境變數

在這裡插入圖片描述

7.配置三個機器 hadoop-env.sh中環境變數設定

vim hadoop-2.9.2/etc/hadoop/hadoop-env.sh

三臺機器都是一樣的 配置JAVA_HOME
在這裡插入圖片描述

8.配置三臺機器的core-site.xml檔案

vim hadoop-2.9.2/etc/hadoop/core-site.xml

 <!--配置hdfs檔案系統預設名稱-->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop15:9000</value>
  </property>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/root/hadoop-2.9.2/data</value>
</property>

在這裡插入圖片描述
在配置core-site.xml時想要使那臺節點作為NameNode節點,就在配置檔案中使用那個節點主機名作為fs.defaultFS的名字使用,圖中使用的是Hadoop15作為NameNode,所以配置全部為Hadoop15

9. 配置三臺機器hdfs-site.xml配置檔案

vim hadoop-2.9.2/etc/hadoop/hdfs-site.xml

預設配置是3份 我們這裡也是三臺機器就不修改了

  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>

在這裡插入圖片描述

10.配置三個機器slaves檔案

vim hadoop-2.9.2/etc/hadoop/slave

在這裡插入圖片描述
slaves檔案用來決定哪些節點為datanode,因為Hadoop15節點既要是NameNode也要是DataNode因此也要講hadoop15放在salves檔案中,這樣才會認為自己也是一個dataNode節點

11. 在hadoop2節點上進行Namenode格式化

hdfs namenode -format

12. 啟動hdfs叢集

在hadoop15上執行: start-dfs.sh 關閉使用: stop-dfs.sh

在這裡插入圖片描述

13. 檢視各個節點程式

jps

14. 上傳檔案到hdfs上測試

hdfs dfs -put xizi.txt /

在這裡插入圖片描述

相關文章