目錄
分布式文件系統(tǒng)HDFS安裝篇
一、為什么海量數(shù)據(jù)需要分布式存儲
二、 分布式的基礎(chǔ)架構(gòu)分析
三、 HDFS的基礎(chǔ)架構(gòu)
四?HDFS集群環(huán)境部署
4.1 下載安裝包
4.2 集群規(guī)劃
4.3 上傳解壓
4.4 配置HDFS集群
4.5 準(zhǔn)備數(shù)據(jù)目錄
4.6 分發(fā)hadoop到其他服務(wù)器
4.7 配置環(huán)境變量
4.8 為普通用戶授權(quán)
4.9 對整個(gè)文件系統(tǒng)進(jìn)行格式化
4.10 啟動、停止hdfs集群
4.11?查看HDFS webUI
五、虛擬機(jī)快照
此為個(gè)人學(xué)習(xí)筆記,包含個(gè)人歸納總結(jié)以及結(jié)合了對網(wǎng)絡(luò)資源的整理,初衷是為了自己復(fù)習(xí)鞏固。如果能幫到各位是我的榮幸!
該總結(jié)參考了黑馬教程,感興趣的也可以去觀看相關(guān)視頻。第二章-01-[理解]為什么需要分布式存儲_嗶哩嗶哩_bilibili
分布式文件系統(tǒng)HDFS安裝篇
一、為什么海量數(shù)據(jù)需要分布式存儲
假如某個(gè)文件有100TB,試想哪臺服務(wù)器能存下這么大的文件?
所以我們會搭建分布式服務(wù)集群,將這100TB的文件分成幾份,分別發(fā)送到不同的服務(wù)器上。
當(dāng)然,分布式不僅僅是解決了能存的問題, 多臺服務(wù)器協(xié)同工作帶來的也是性能的橫向擴(kuò)展。
也相當(dāng)于是磁盤寫入效率、傳輸效率的大大增加。
總結(jié):
數(shù)據(jù)量太大,單機(jī)存儲能力有上限,需要靠數(shù)量來解決問題。
數(shù)量的提升帶來的是網(wǎng)絡(luò)傳輸、磁盤讀寫、CPU、內(nèi)存等各方面的綜合提升。 分布式組合在一起可以達(dá)到1+1>2的效果。
二、 分布式的基礎(chǔ)架構(gòu)分析
數(shù)量多,在現(xiàn)實(shí)生活中往往帶來的不是提升,而是:混亂。
眾多的服務(wù)器一起工作,是如何高效、不出問題呢?
大數(shù)據(jù)體系中,分布式的調(diào)度主要有2類架構(gòu)模式:去中心化模式和中心化模式。
-
大數(shù)據(jù)框架,大多數(shù)的基礎(chǔ)架構(gòu)上,都是符合:中心化模式的。
即:有一個(gè)中心節(jié)點(diǎn)(服務(wù)器)來統(tǒng)籌其它服務(wù)器的工作,統(tǒng)一指揮,統(tǒng)一調(diào)派,避免混亂。
這種模式,也被稱之為:一主多從模式,簡稱主從模式(Master And Slaves)
-
三、 HDFS的基礎(chǔ)架構(gòu)
什么是HDFS?
-
HDFS是Hadoop三大組件(HDFS、MapReduce、YARN)之一。
-
全稱是:Hadoop Distributed File System(Hadoop分布式文件系統(tǒng))。
-
它是Hadoop技術(shù)棧內(nèi)提供的分布式數(shù)據(jù)存儲解決方案。
-
可以在多臺服務(wù)器上構(gòu)建存儲集群,存儲海量的數(shù)據(jù)。
-
HDFS是一個(gè)典型的主從模式架構(gòu)
-
HDFS中的架構(gòu)角色有哪些?
-
NameNode:主角色,管理HDFS集群和DataNode角色
-
DataNode:從角色,負(fù)責(zé)數(shù)據(jù)的存儲
-
SecondaryNameNode:輔助角色,協(xié)助NameNode整理元數(shù)據(jù)
-
-
四?HDFS集群環(huán)境部署
-
4.1 下載安裝包
-
官方網(wǎng)址:https://hadoop.apache.org,課程使用當(dāng)前最新的發(fā)行版:3.3.4版。
-
-
4.2 集群規(guī)劃
4.3 上傳解壓
-
請確認(rèn)已經(jīng)完成前置準(zhǔn)備中的服務(wù)器創(chuàng)建、固定IP、防火墻關(guān)閉、Hadoop用戶創(chuàng)建、SSH免密、JDK部署等操作。
-
1. 上傳Hadoop安裝包到centos100節(jié)點(diǎn)中
-
-
2. 解壓縮安裝包到/opt/software/hadoop/中
-
tar -zxvf hadoop-3.3.4.tar.gz -C /opt/software/hadoop/
-
3. 進(jìn)入hadoop-3.3.4內(nèi)
各個(gè)文件夾含義如下
-
bin,存放Hadoop的各類程序(命令)
-
etc,存放Hadoop的配置文件
-
include,C語言的一些頭文件
-
lib,存放Linux系統(tǒng)的動態(tài)鏈接庫(.so文件)
-
libexec,存放配置Hadoop系統(tǒng)的腳本文件(.sh和.cmd)
-
licenses-binary,存放許可證文件
-
sbin,管理員程序(super bin)
-
share,存放二進(jìn)制源碼(Java jar包)
4.4 配置HDFS集群
配置HDFS集群,我們主要涉及到如下文件的修改:
- workers:? 配置從節(jié)點(diǎn)(DataNode)有哪些
- hadoop-env.sh:? 配置Hadoop的相關(guān)環(huán)境變量
- core-site.xml:? Hadoop核心配置文件
- hdfs-site.xml:? HDFS核心配置文件
這些文件均存在與$HADOOP_HOME/etc/hadoop文件夾中。
ps:$HADOOP_HOME是后續(xù)我們要設(shè)置的環(huán)境變量,其指代Hadoop安裝文件夾即/export/server/hadoop
配置workers文件
進(jìn)入安裝目錄下的etc/hadoop目錄。這里面存放了Hadoop的配置。編輯workers文件。
?設(shè)置為我們的服務(wù)器名稱,表示集群記錄了這三個(gè)節(jié)點(diǎn)。
?配置hadoop-env.sh文件
這個(gè)文件是Hadoop在運(yùn)行時(shí)需要使用到的一些環(huán)境變量
# 填入如下內(nèi)容
export JAVA_HOME=/opt/software/jdk
export HADOOP_HOME=/opt/software/hadoop/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
-
-
?
?配置core-site.xml文件
Hadoop的核心配置文件,主要配置HDFS文件系統(tǒng)的網(wǎng)絡(luò)通訊地址和io操作文件緩沖區(qū)大小。
-
端口號一般大家都是用的8020,一般不建議更改。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://centos100:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
配置hdfs-site.xml文件
<configuration>
<property>
<name>dfs.datanode.data.dir.perm</name>
<value>700</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/nn</value>
</property>
<property>
<name>dfs.namenode.hosts</name>
<value>centos100,centos101,centos102</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/dn</value>
</property>
</configuration>
-
?
-
4.5 準(zhǔn)備數(shù)據(jù)目錄
-
剛剛配置文件種規(guī)定了namenode和datanode的文件存儲位置,但是還沒有創(chuàng)建該目錄。所以接下來我們需要創(chuàng)建目錄。
-
在centos100節(jié)點(diǎn):
-
mkdir -p /data/nn mkdir /data/dn
?在centos101節(jié)點(diǎn)和centos102節(jié)點(diǎn):
-
mkdir -p /data/dn
-
4.6 分發(fā)hadoop到其他服務(wù)器
剛才我們安裝、配置都是在centos100這臺服務(wù)器上的,但是centos101和centos102這兩臺都還沒有安裝過hadoop,顯然是不行的。
所以,我們可以通過分發(fā)的方式,將Hadoop分發(fā)到centos101和centos102這兩臺服務(wù)器上。
執(zhí)行的時(shí)間可能比較長,要耐心等待。
執(zhí)行完畢后,我們?nèi)entos101和centos102這兩臺服務(wù)器看看,分發(fā)過來沒。
4.7 配置環(huán)境變量
我們操作Hadoop的可執(zhí)行命令,需要進(jìn)入到它的bin目錄下,然后執(zhí)行對應(yīng)的命令。
但是我們覺得這樣太麻煩了,能不能在任何地方都可以直接執(zhí)行命令呢,當(dāng)然可以。
這需要我們配置環(huán)境變量。
修改/etc/profile文件
vim /etc/profile
export HADOOP_HOME=/opt/software/hadoop/hadoop-3.3.4 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
讓環(huán)境變量生效
source /etc/profile
?然后在另外兩臺服務(wù)器中都同樣配置一下。
4.8 為普通用戶授權(quán)
hadoop部署的準(zhǔn)備工作基本完成
為了確保安全,hadoop系統(tǒng)不以root用戶啟動,我們以普通用戶hadoop來啟動整個(gè)Hadoop服務(wù)
所以,現(xiàn)在需要對文件權(quán)限進(jìn)行授權(quán)。
ps:請確保已經(jīng)提前創(chuàng)建好了hadoop用戶(前置準(zhǔn)備章節(jié)中有講述),并配置好了hadoop用戶之間的免密登錄
以root身份,在centos100、centos101、centos102三臺服務(wù)器上均執(zhí)行如下命令:
# 以root身份,在三臺服務(wù)器上均執(zhí)行 chown -R hadoop:hadoop /data chown -R hadoop:hadoop /opt
-R 表示對子文件夾全部執(zhí)行更改
前一個(gè)hadoop表示賬號,冒號后的hadoop表示hadoop賬戶組
最后是要授權(quán)的路徑
-
?4.9 對整個(gè)文件系統(tǒng)進(jìn)行格式化
- 前期準(zhǔn)備全部完成,現(xiàn)在對整個(gè)文件系統(tǒng)執(zhí)行初始化。
格式化namenode
# 確保以hadoop用戶執(zhí)行
su - hadoop
# 格式化namenode
hadoop namenode -format
-
可以發(fā)現(xiàn)執(zhí)行完成后,這個(gè)文件中就有數(shù)據(jù)了。
-
至于這些文件是什么,后續(xù)再說。
-
4.10 啟動、停止hdfs集群
- 下面我們以hadoop用戶,在centos100上通過命令可以一鍵啟動停止整個(gè)hdfs集群。
-
# 一鍵啟動hdfs集群 start-dfs.sh # 一鍵關(guān)閉hdfs集群 stop-dfs.sh # 如果遇到命令未找到的錯誤,表明環(huán)境變量未配置好,可以以絕對路徑執(zhí)行 /opt/oftware/hadoop/hadoop-3.3.4/sbin/start-dfs.sh /opt/oftware/hadoop/hadoop-3.3.4/sbin/stop-dfs.sh
-
通過jps去另外兩臺服務(wù)器查看一下,也啟動成功了。
-
-
?停止hdfs集群試試。 -
4.11?查看HDFS webUI
-
我們先不要關(guān)閉集群。然后通過web訪問centos100這臺服務(wù)器的9870端口,即可查看HDFS的web可視化頁面。
?當(dāng)然了,如果windows系統(tǒng)配置了host文件,將這幾個(gè)ip地址映射了服務(wù)名,也可以直接用域名:9870的方式打開。文章來源:http://www.zghlxwxcb.cn/news/detail-628906.html
-
?文章來源地址http://www.zghlxwxcb.cn/news/detail-628906.html
-
五、虛擬機(jī)快照
- 為了避免服務(wù)器出問題,導(dǎo)致我們辛辛苦苦搭建的集群崩潰掉。我們最好做一下快照保存。這樣即使后面我們誤操作,導(dǎo)致服務(wù)器崩潰掉,也可以恢復(fù)到我們當(dāng)前這個(gè)階段。
- 好了,這部分內(nèi)容暫時(shí)就梳理到這里。我們下個(gè)階段見!
到了這里,關(guān)于大數(shù)據(jù)技術(shù)之Hadoop:HDFS集群安裝篇(三)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!