Hadoop下載安裝及HDFS配置教程

Hadoop下載安裝及HDFS配置教程

前言

Hadoop是一個由Apache基金會所開發的分佈式系統基礎架構。用戶可以在不瞭解分佈式底層細節的情況下,開發分佈式程序。充分利用集羣的威力進行高速運算和存儲。Hadoop實現了一個分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,並且設計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有着超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統中的數據。Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS爲海量的數據提供了存儲,而MapReduce則爲海量的數據提供了計算。
簡言之,Hadoop的核心就是解決兩個問題,一是存儲(採用HDFS),二是計算(採用MapReduce編程模型)

一、Hadoop HDFS簡單集羣框架原理

在這裏插入圖片描述
NameNode:整個hdfs集羣的管理者,不存儲實際文件數據,只記錄文件數據的元數據信息(如,數據切分爲多少塊block,每塊數據及其備份數據存儲在哪臺服務器節點上(NameNode))
DataNode:真正用來存儲數據的節點
Block(數據塊):既然要分佈式處理,就要將數據切分,然後分佈在各個服務器節點上。Block就是由NameNode對數據文件進行切分的最小單元。在hadoop2.x版本中一個Block塊爲128M;在hadoop1.x版本中一個Block塊爲64M;
Replice(副本):HDFS集羣爲了保證數據高可用性,默認會對一個數據塊進行3次備份(講白了,就是對每一個Block備份3次,這3次備份數據分別合理的分配在不同的服務器上,防止一個服務器掛掉,數據就丟失或者損壞的問題)

機房 長啥樣?我是沒見過,如果有機會見見也是極好的,不過網傳大概就這樣吧,不知道我對於萬一所有機房都被壞人幹掉了的擔心是否多餘(天真臉)
在這裏插入圖片描述

二、Hadoop安裝準備

1、安裝虛擬機VMware

Hadoop框架運行組lunix系統之上,那麼window系統上如何運行Hadoop呢?這就需要虛擬機了。VMWare (Virtual Machine ware)是一個“虛擬PC”軟件公司,它的產品可以使你在一臺機器上同時運行二個或更多Windows、DOS、LINUX系統。簡單來說是一種軟件,用它可以在一個系統中裝另外一個系統。這就滿足了我們window系統上安裝lunix系統的需求。

1.1 VMware Workstation Pro 15.5下載

鏈接:https://pan.baidu.com/s/1Z3H3SNKgmvcAYD7_Q1rQlQ
提取碼:0zty

1.2 虛擬機安裝

在這裏插入圖片描述
一直下一步直到安裝完成,虛擬機祕鑰:
https://blog.csdn.net/qq_35995514/article/details/98473444

2、在虛擬機上安裝CentOS系統

2.1 CentOS系統下載

https://www.jianshu.com/p/a63f47e096e8

2.2 CentOS系統安裝:

https://www.runoob.com/w3cnote/vmware-install-centos7.html
對於CentOS系統的安裝,我建議新手直接選擇【典型】配置即可,不必設置太多自定義選項。系統安裝關鍵兩點和在電腦上安裝window系統一樣,選擇系統位置和分配磁盤空間

2.3 JDK安裝和環境配置:

https://www.cnblogs.com/maomao999/p/9764251.html

三、Hadoop安裝和HDFS配置

1、下載Hadoop

到Apache官方網站下載自己對應版本即可
https://hadoop.apache.org/releases.html

2、建議保留安裝的初始CentOS系統,然後克隆這個初始系統,進行Hadoop的相關配置

因爲CentOS系統安裝一次很麻煩,不必要每次都安裝一次,保留安裝好的初始系統,後面搭建集羣的時候,只需要克隆這個初始系統就可以了。
在這裏插入圖片描述

3、添加ip地址和hostname以及ip和hostname的關聯

3.1查看ip地址

ifconfig

在這裏插入圖片描述

3.2 添加ip地址到ifcfg-ens33文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33

注意:BOOTPROTO要修改爲static,不然CentOS的ip地址是動態的,下次重啓系統可能就不是我們配置的那個ip了,導致無法在瀏覽器查看
在這裏插入圖片描述

3.3 修改hostname名字

vim /etc/hostname

在這裏插入圖片描述

3.4 將ip與hostname關聯

vim /etc/hosts

在這裏插入圖片描述

3.5 重啓系統

reboot

4、將hadoop壓縮包通過Xftp傳到CentOS系統中

Xftp 6 下載:
鏈接:https://pan.baidu.com/s/1CmUg_MKi3cbAKaR8306A6Q
提取碼:w42m
在這裏插入圖片描述
在這裏插入圖片描述

5、解壓hadoop壓縮包

tar -zxvf hadoop-2.9.2.tar.gz

在這裏插入圖片描述

5.1 hadoop文件結構

bin文件夾:裏面都是可執行的二進制腳本文件
etc/hadoop文件夾:裏面都是hadoop系統配置文件,後面對於hadoopp的配置文件都在這個目錄。
sbn文件夾:裏面都是可執行的二進制腳本文件,裏面包括HDFS的啓動,關閉
share文件夾:裏面是hadoop的文檔和運行核心包

6、配置hadoop環境變量

編輯環境變量

vim /etc/profile

在這裏插入圖片描述
重新加載配置

source /etc/profile

驗證hadoop是否加入環境變量

echo $PATH

在這裏插入圖片描述

7、配置hadoop-env.sh

將JAVA的路徑配置到hadoop的環境文件中

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

在這裏插入圖片描述

8、配置core-sit.xml

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

1、配置哪臺機器爲namenode

 <property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop2:9000</value>
 </property>

2、默認hadoop的配置將數據放在系統臨時目錄中:/tmp/hadoop-${user.name},系統臨時目錄可能會導致集羣數據的不安全,因此修改配置,將數據存放在指定的目錄,本文將數據存放在解壓後的hadoop-2.9.2的下的data文件夾下

 <property>
  <name>hadoop.tmp.dir</name>
  <value>/root/hadoop/hadoop-2.9.2/data</value>
 </property>

9、配置hdfs-site.xml(用來對hdfs文件系統做相關配置)

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

1、修改block的副本數據,因爲本次hdfs是單機版的集羣,只有一個服務器,3個副本也沒有地方放,所以,把副本數修改爲1

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

2、修改root的權限,這樣可以讓非root用戶也可以操作hdfs

<property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
</property>

10、配置slaves文件,就是配置哪些機器爲DataNode節點,跟隨NameNode同時啓動

vim /root/hadoop/hadoop-2.9.2/etc/hadoop/slaves

本機既作NameNode又充當DataNode
在這裏插入圖片描述

11、格式化NameNode(僅僅第一次需要格式化)

就像U盤一樣,插到windows系統上需要格式化爲windows的文件系統,插到lunix系統上需要格式化爲lunix的文件系統

hdfs namenode -format

12、啓動hdfs集羣

start-dfs.sh

查看是否啓動成功

jps

如下圖則啓動成功
在這裏插入圖片描述

13、上傳文件數據到hdfs

如將aa.txt文件上傳到hdfs的根目錄(/)

hdfs dfs -put ./aa.txt/

14、訪問hdfs可視化管理界面

關閉防火牆

systemctl stop firewalld

在瀏覽器中輸入 IP地址:50070即可查看

在這裏插入圖片描述

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