2022.12.4? 大數(shù)據(jù)運(yùn)維基礎(chǔ)篇 本章主要是基礎(chǔ)壞境配置
目錄
前言
?一、hadoop是什么?
1.1 Hadoop 是什么
1.2 Hadoop 優(yōu)勢(shì)
1.3 Hadoop 組成
?二、大數(shù)據(jù)技術(shù)體系
? ? ? ? ? ? ? ? ??2.1 HDFS 架構(gòu)概述Hadoop Distributed File System,簡(jiǎn)稱HDFS,是一個(gè)分布式文件系統(tǒng)。
2.2 YARN 架構(gòu)概述
2.3 MapReduce 架構(gòu)概述?
三. 推薦系統(tǒng)框架圖
四. 實(shí)操 Hadoop集群基礎(chǔ)環(huán)境的配置 (重點(diǎn)?。。。?/p>
1.配置ip?
2.設(shè)置主機(jī)名(三臺(tái)都需要)
3.集群ip地址和主機(jī)名的映射
?????????4.創(chuàng)建hadoop用戶
?????????5.關(guān)閉防火墻
5.1 步驟一:關(guān)閉防火墻(三臺(tái)都要關(guān)閉)
5.2 步驟二:關(guān)閉防火墻自啟
5.3 步驟三:查看防火墻狀態(tài)
?????????6.配置集群主機(jī)之間的時(shí)鐘同步(避免集群中主機(jī)連接超時(shí))
6.1 直接同步(集群中所有的節(jié)點(diǎn)都可以訪問互聯(lián)網(wǎng))
6.2平滑時(shí)間同步
?????????7. SSH免密(重要?。?/p>
7.1 生成ssh密鑰
7.2?交換ssh密鑰
總結(jié)
前言
適用于大數(shù)據(jù)平臺(tái)運(yùn)維? 1+x證書等
一、hadoop是什么?
1.1 Hadoop 是什么
(1)Hadoop是一個(gè)由Apache基金會(huì)所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)
(2)主要解決海量數(shù)據(jù)的存儲(chǔ)和海量數(shù)據(jù)的分析計(jì)算問題
(3)廣義上來說,Hadoop通常是指一個(gè)更廣泛的概念——Hadoop生態(tài)圈
1.2 Hadoop 優(yōu)勢(shì)
(1)高可靠性:Hadoop底層維護(hù)多個(gè)數(shù)據(jù)副本,所以即使Hadoop某個(gè)計(jì)算元素或存儲(chǔ)出現(xiàn)故障,也不會(huì)導(dǎo)致數(shù)據(jù)的丟失。
(2)高擴(kuò)展性:在集群間分配任務(wù)數(shù)據(jù),可方便的擴(kuò)展數(shù)以千計(jì)的節(jié)點(diǎn)。
(3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任務(wù)處理速度。
(4)高容錯(cuò)性:能夠自動(dòng)將失敗的任務(wù)重新分配。
1.3 Hadoop 組成

版權(quán)聲明:本文為CSDN博主「@從一到無窮大」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/huxili2020/article/details/117809913
二、大數(shù)據(jù)技術(shù)體系
圖中涉及的技術(shù)名詞解釋如下:
(1)Sqoop:Sqoop 是一款開源的工具,主要用于在Hadoop、Hive 與傳統(tǒng)的數(shù)據(jù)庫(MySQL)間進(jìn)行數(shù)據(jù)的傳遞,可以將一個(gè)關(guān)系型數(shù)據(jù)庫(例如 :MySQL,Oracle 等)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop 的HDFS 中,也可以將HDFS 的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫中。
(2)Flume:Flume 是一個(gè)高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume 支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù)。
(3)Kafka:Kafka 是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng)。
(4)Spark:Spark 是當(dāng)前最流行的開源大數(shù)據(jù)內(nèi)存計(jì)算框架??梢曰贖adoop 上存儲(chǔ)的大數(shù)據(jù)進(jìn)行計(jì)算。
(5)Flink:Flink 是當(dāng)前最流行的開源大數(shù)據(jù)內(nèi)存計(jì)算框架。用于實(shí)時(shí)計(jì)算的場(chǎng)景較多。
(6)Oozie:Oozie 是一個(gè)管理Hadoop 作業(yè)(job)的工作流程調(diào)度管理系統(tǒng)。
(7)Hbase:HBase 是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫。HBase 不同于一般的關(guān)系數(shù)據(jù)庫,它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫。
(8)Hive:Hive 是基于Hadoop 的一個(gè)數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡(jiǎn)單的SQL 查詢功能,可以將SQL 語句轉(zhuǎn)換為MapReduce 任務(wù)進(jìn)行運(yùn)行。其優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過類SQL 語句快速實(shí)現(xiàn)簡(jiǎn)單的MapReduce 統(tǒng)計(jì),不必開發(fā)專門的MapReduce 應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計(jì)分析。
(9)ZooKeeper:它是一個(gè)針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供的功能包括:配置維護(hù)、名字服務(wù)、分布式同步、組服務(wù)等。
### 重點(diǎn):HDFS? ?Yarn? ?MapReduce
2.1 HDFS 架構(gòu)概述
Hadoop Distributed File System,簡(jiǎn)稱HDFS,是一個(gè)分布式文件系統(tǒng)。
(1)NameNode(nn):存儲(chǔ)文件的元數(shù)據(jù),如文件名,文件目錄結(jié)構(gòu),文件屬性(生成時(shí)間、副本數(shù)、文件權(quán)限),以及每個(gè)文件的塊列表和塊所在的DataNode等。
(2)DataNode(dn):在本地文件系統(tǒng)存儲(chǔ)文件塊數(shù)據(jù),以及塊數(shù)據(jù)的校驗(yàn)和。
(3)Secondary NameNode(2nn):每隔一段時(shí)間對(duì)NameNode元數(shù)據(jù)備份。
2.2 YARN 架構(gòu)概述
Yet Another Resource Negotiator 簡(jiǎn)稱YARN ,另一種資源協(xié)調(diào)者,是Hadoop 的資源管理器。
ResourceManager(RM):整個(gè)集群資源(內(nèi)存、CPU等)的管理者
NodeManager(NM):?jiǎn)蝹€(gè)節(jié)點(diǎn)服務(wù)器資源的管理者。
ApplicationMaster(AM):?jiǎn)蝹€(gè)任務(wù)運(yùn)行的管理者。
Container:容器,相當(dāng)于一臺(tái)獨(dú)立的服務(wù)器,里面封裝了任務(wù)運(yùn)行所需要的資源,如內(nèi)存、CPU、磁盤、網(wǎng)絡(luò)等。
?
2.3 MapReduce 架構(gòu)概述
MapReduce 將計(jì)算過程分為兩個(gè)階段:Map 和?Reduce
1)Map 階段并行處理輸入數(shù)據(jù)
2)Reduce 階段對(duì)Map 結(jié)果進(jìn)行匯總
?三. 推薦系統(tǒng)框架圖
四. 實(shí)操 Hadoop集群基礎(chǔ)環(huán)境的配置 (重點(diǎn)!?。。?/h2>
master slave1 slave2 三臺(tái)主機(jī)以單鏈路連接為例? ?(理論+實(shí)操相結(jié)合以便更好理解,單理論或者單實(shí)操都是不可取的)
1.配置ip?
之前博客教程如下:
linux網(wǎng)絡(luò)配置(超簡(jiǎn)單,一看就會(huì))_北神樹的博客-CSDN博客
命令:ip a? 查看網(wǎng)絡(luò)??
確定linux系統(tǒng)vim等工具能夠正常使用,不能則需下載(下載命令 yum -y install “xx”)
2.設(shè)置主機(jī)名(三臺(tái)都需要)
[root@localhost?~]# hostnamectl set-hostname master? ?
[root@localhost?~]# bash? ? ? ? ?
[root@localhost?~]# hostnamectl set-hostname slave1
[root@localhost?~]# bash?
[root@localhost?~]# hostnamectl set-hostname? ?slave2
[root@localhost?~]# bash?
三臺(tái)主機(jī)名修改完成?
主機(jī)名修改方法二,永久保存
[root@localhost?~]# vi /etc/profile/hostname #將master節(jié)點(diǎn)的主機(jī)名修改為master
.....
3.集群ip地址和主機(jī)名的映射
映射文件地址: /etc/hosts
[root@master ~]# vi /etc/hosts
[root@slave1 ~]# vi /etc/hosts
[root@slave2 ~]# vi /etc/hosts
配置完畢后使用 reboot命令重啟系統(tǒng) 使配置生效
或者使用source命令?格式 : source?配置文件?如:#source /etc/profile,可以使配置的profile文件立刻生效
4.創(chuàng)建hadoop用戶
#useradd hadoop
#passwd (hadoop)? 密碼自設(shè)
5.關(guān)閉防火墻
5.1 步驟一:關(guān)閉防火墻(三臺(tái)都要關(guān)閉)
[root@master ~]# systemctl stop firewalld.service
[root@slave1 ~]# systemctl stop firewalld.service
[root@slave2 ~]# systemctl stop firewalld.service
5.2 步驟二:關(guān)閉防火墻自啟
[root@master ~]# systemctl disable firewalld.service
[root@slave1 ~]# systemctl disable firewalld.service
[root@slave2 ~]# systemctl disable firewalld.service
5.3 步驟三:查看防火墻狀態(tài)
[root@master ~]# systemctl status firewalld.service
[root@slave1?~]# systemctl status firewalld.service
[root@slave2~]# systemctl status firewalld.service
6.配置集群主機(jī)之間的時(shí)鐘同步(避免集群中主機(jī)連接超時(shí))
NTP同步方式分為直接同步和平滑同步兩種
6.1 直接同步(集群中所有的節(jié)點(diǎn)都可以訪問互聯(lián)網(wǎng))
1.查看ntp服務(wù)是否安裝
[root@master ~]#rpm -qa | grep ntp??
安裝成功會(huì)有版本信息
若無則安裝
[root@master ~]# yum -y install ntp
2.直接同步時(shí)間
[root@master ~]# ntpd?
6.2平滑時(shí)間同步
適用于一個(gè)節(jié)點(diǎn)可以聯(lián)網(wǎng)或者所有節(jié)點(diǎn)都不能聯(lián)網(wǎng),則可以在集群中選擇一個(gè)節(jié)點(diǎn),將其搭建成一個(gè)內(nèi)網(wǎng)的NTP時(shí)間服務(wù)器,然后讓集群中的各個(gè)節(jié)點(diǎn)與這個(gè)NTP服務(wù)器進(jìn)行時(shí)間同步
1.同步時(shí)間
[root@master ~]# vi /etc/sysconfig/ntpdate
在ntpd文檔中添加一行內(nèi)容
SYS_HWLOCK=yes
2.啟動(dòng)服務(wù)
啟動(dòng)ntp服務(wù)
[root@master ~]# service ntpd start
設(shè)置ntpd為開機(jī)自啟動(dòng)狀態(tài)
[root@master ~]# chkconfig ntpd on
3.編輯 /etc/ntp.conf
[root@master ~]# vi /etc/ntp.conf
(1)在文件中添加
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#設(shè)置始終同步的廣播地址
(2)并注釋下方四行內(nèi)容
#service 0.ccentos.pool.ntp.org
#service 1.ccentos.pool.ntp.org
#service 2.ccentos.pool.ntp.org
#service 3.ccentos.pool.ntp.org
(3)去掉以下內(nèi)容的注釋(如果沒有就加上)
server 127.127.1.0 # local -e
fudge 127.127.127.1.0 stratum 10
4.slave節(jié)點(diǎn)與master節(jié)點(diǎn)時(shí)間同步
[root@master ~]# crontab -e
添加以下任務(wù)
*/ 1* * * */usr/sbin/ntpdate 192.168.1.6
查看時(shí)間
data命令
7. SSH免密(重要?。?/h3>
問 :為什么需要免密? 答:hadoop運(yùn)行過程中需要管理遠(yuǎn)端
7.1 生成ssh密鑰
7.1.1 切換用戶
[root@master ~]#su - hadoop
[root@slave1 ~]#su - hadoop
[root@slave2 ~]#su - hadoop
7.1.2?在每個(gè)節(jié)點(diǎn)上生成密鑰對(duì)
[hadoop@master ~]$ ssh-keygen -t rsa -P " "?
[hadoop@slave1 ~]$ ssh-keygen -t rsa -P ""
[hadoop@slave2 ~]$ ssh-keygen -t rsa -P ""
在每個(gè)節(jié)點(diǎn)上均使用ssh-keygen命令生成密鑰對(duì),使用-t他參數(shù)設(shè)定加密類型,本次用rsa加密方式,并使用-P 參數(shù)設(shè)定密鑰保護(hù)密碼,本次未設(shè)定密鑰保護(hù)類型,傳遞空符串作為參數(shù)
7.1.3 在master節(jié)點(diǎn)上創(chuàng)建公鑰
[hadoop@master ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
可以查看密鑰文件和授權(quán)文件
[hadoop@master ~]$? ls ~/.ssh/
authorized_keys? ?id_rsa i? ?d_rsa.pub
[hadoop@master ~]$ chmod 700 ~/.ssh/authorized_keys? #賦予權(quán)限
通過重定向的方式將id_rsa.pub文件中的內(nèi)容寫入授權(quán)的authorized_keys文件中
7.2?交換ssh密鑰
7.2.1 交換密鑰
1.將master節(jié)點(diǎn)上的公鑰分發(fā)給slave1節(jié)點(diǎn)
[hadoop@master ~]$ scp ~/.ssh/authorized_keys hadoop@slave1:~/.ssh/
#輸入yes #輸入hadoop用戶密碼
2.在slave1節(jié)點(diǎn)追加公鑰
[hadoop@slave1 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.將slave1節(jié)點(diǎn)上的公鑰分發(fā)給slave2和master節(jié)點(diǎn)
[hadoop@slave1 ~]$ scp ~/.ssh/authorized_keys hadoop@slave2:~/.ssh/
[hadoop@slave1 ~]$ scp ~/.ssh/authorized_keys hadoop@master:~/.ssh/
4.在slave2節(jié)點(diǎn)追加公鑰
[hadoop@slave2 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
5.將slave1節(jié)點(diǎn)上的公鑰分發(fā)給slave1和master節(jié)點(diǎn)
[hadoop@slave1 ~]$ scp ~/.ssh/authorized_keys hadoop@slave1:~/.ssh/
[hadoop@slave1 ~]$ scp ~/.ssh/authorized_keys hadoop@master:~/.ssh/
#總體而言,就是主節(jié)點(diǎn)master創(chuàng)建公鑰 每個(gè)節(jié)點(diǎn)都追加公鑰,并把公鑰分發(fā)給另外的兩個(gè)節(jié)點(diǎn),讓每個(gè)節(jié)點(diǎn)都有其他節(jié)點(diǎn)包括自己的鑰匙
7.2.2 驗(yàn)證ssh無密碼登錄
1.查看master/slave1/slave2 節(jié)點(diǎn)的authorized_keys 文件
[hadoop@master ~]$ cat ~/.ssh/authorizded_keys? #或用vim命令
2.ssh驗(yàn)證
[hadoop@slave1 ~]$ ssh slave2
........
總結(jié)
理論參考CSDN博主「@從一到無窮大」/ 大數(shù)據(jù)平臺(tái)運(yùn)維(中級(jí))課本所編寫
實(shí)踐參考大數(shù)據(jù)平臺(tái)運(yùn)維(中級(jí))課本所編寫文章來源:http://www.zghlxwxcb.cn/news/detail-480179.html
僅供學(xué)習(xí)使用文章來源地址http://www.zghlxwxcb.cn/news/detail-480179.html
到了這里,關(guān)于大數(shù)據(jù)平臺(tái)運(yùn)維(hadoop入門(保姆篇))----概述及基本環(huán)境配置(HA-1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!