九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
【小白視角】大數(shù)據(jù)基礎(chǔ)實(shí)踐(二)Hadoop環(huán)境搭建與測試

Hadoop環(huán)境的搭建與測試

1.簡介

實(shí)驗(yàn)環(huán)境

  • Vmware (Ubuntu18.04)
  • Java 1.8
  • Hadoop 3.1.3

1.1基礎(chǔ)知識

  • Hadoop是一個(gè)由Apache基金會所開發(fā)的開源分布式計(jì)算平臺,為了讓用戶可以在不了解分布式底層細(xì)節(jié)的情況下開發(fā)分布式程序。
  • Hadoop是一個(gè)基礎(chǔ)架構(gòu)系統(tǒng),是Google的云計(jì)算基礎(chǔ)架構(gòu)的開源實(shí)現(xiàn),主要由HDFS、MapReduce組成,其中HDFS是Google的GFS的開源實(shí)現(xiàn),MapReduce是Google的MapReduce的開源實(shí)現(xiàn)。HDFS為海量的數(shù)據(jù)提供了存儲,MapReduce為海量的數(shù)據(jù)提供了計(jì)算。
  • Hadoop是基于Java語言開發(fā)的,具有很好的跨平臺特性,并且可以部署在廉價(jià)的計(jì)算機(jī)集群中。
  • 簡單來說,Hadoop是一個(gè)可以更容易開發(fā)和運(yùn)行處理大規(guī)模數(shù)據(jù)的軟件平臺,充分利用集群的威力進(jìn)行高速運(yùn)算和存儲。

1.2 特點(diǎn)

Hadoop是一個(gè)能夠?qū)?strong>大量數(shù)據(jù)進(jìn)行分布式處理的軟件框架,并且是以一種可靠、高效、可伸縮的方式進(jìn)行處理的,它具有以下幾個(gè)方面的特性

  1. 高可靠性
  2. 高效性
  3. 高可擴(kuò)展性
  4. 高容錯(cuò)性
  5. 成本低
  6. 運(yùn)行在Linux平臺上
  7. 支持多種編程語言

1.3 生態(tài)系統(tǒng)

1.3.1 HDFS

一款分布式文件系統(tǒng),來源于2003年10月Google發(fā)表的GFS論文,是Hadoop體系中數(shù)據(jù)存儲管理的基礎(chǔ),兩大核心之一。HDFS具有高容錯(cuò)性,在設(shè)計(jì)上HDFS把硬件故障當(dāng)成常態(tài)來考慮,所以它能檢測到出現(xiàn)故障的硬件,并加以解決,不僅體現(xiàn)它的可靠性。HDFS通過流式數(shù)據(jù)訪問,提供高吞吐量應(yīng)用程序數(shù)據(jù)訪問功能,適合帶有大型數(shù)據(jù)集的應(yīng)用程序。

1.3.2 YARN

YARN是為在現(xiàn)有的和新的Hadoop集群上工作而設(shè)計(jì)的資源調(diào)度器。從Apache Hadoop2.0版本開始,YARN不但為已有的MapReduce應(yīng)用提供了全面的兼容,也致力于支持幾乎所有的分布式應(yīng)用,實(shí)現(xiàn)了在Hadoop框架上運(yùn)行其他非MapReduce作業(yè)

1.3.3 MapReduce

一種計(jì)算模型,來源于2004年12月Google發(fā)表的一篇關(guān)于MapReduce的論文,可用于海量數(shù)據(jù)的計(jì)算。其中,Map函數(shù)對數(shù)據(jù)集上的獨(dú)立元素進(jìn)行指定的操作,生成Key-Value對形式的中間結(jié)果。Reduce函數(shù)則對Map函數(shù)得到的所有Key-Value對中相同Key的所有Value進(jìn)行規(guī)約來得到最后的結(jié)果,簡單地說,就是“分而治之”。MapReduce適用于大量計(jì)算機(jī)組成的分布式并行環(huán)境。

1.3.4 Zookeeper

一種分布式的、可用性高的協(xié)調(diào)服務(wù),來源于2006年11月Google發(fā)表的Chubby論文。Zookeeper提供分布式鎖之類的基本服務(wù)用于構(gòu)建分布式應(yīng)用。

1.3.5 HBase

一種分布式的、按列存儲的數(shù)據(jù)庫,來源于2006年11月Google發(fā)表的Bigtable論文。HBase采用了BigTable的數(shù)據(jù)模型:增強(qiáng)的稀疏排序映射表(key/value),其中鍵由行關(guān)鍵字、列關(guān)鍵字和時(shí)間戳構(gòu)成。HBase使用HDFS作為底層存儲,同時(shí)支持MapReduce的批量試計(jì)算和點(diǎn)查詢(隨機(jī)讀取),它將數(shù)據(jù)存儲和并行計(jì)算完美地結(jié)合在一起。

1.3.6 Hive

Hive由Facebook開源,最初用于解決海量結(jié)構(gòu)化的日志數(shù)據(jù)統(tǒng)計(jì)問題,一種分布式的、按列存儲的數(shù)據(jù)倉庫。Hive管理HDFS中存儲的數(shù)據(jù),并提供基于SQL的查詢語句HQL,將SQL轉(zhuǎn)化為MapReduce任務(wù)在Hadoop上執(zhí)行,用以查詢數(shù)據(jù)。

1.3.7 Pig

數(shù)據(jù)流語言和運(yùn)行環(huán)境,由Yahoo開源,用以探究非常龐大的數(shù)據(jù)集。Pig運(yùn)行在MapReduce和HDFS集群上。

1.3.8 Mahout

Mahout最初是Apache Lucent的子項(xiàng)目,隨著它的快速發(fā)展,如今已經(jīng)是Apache的頂級項(xiàng)目。Mahout包含了分類、聚類、推薦引擎(協(xié)同過濾)和頻繁集挖掘等廣泛使用的數(shù)據(jù)挖掘方法。除此之外,Mahout還包含數(shù)據(jù)的輸入/輸出工具和與其他存儲系統(tǒng)集成等數(shù)據(jù)挖掘支持架構(gòu)。

1.3.9 Sqoop

Sqoop是SQL-to-Hadoop的縮寫,該工具用于在結(jié)構(gòu)化數(shù)據(jù)存儲(如關(guān)系型數(shù)據(jù)庫)和HDFS之間高效批量傳輸數(shù)據(jù)。數(shù)據(jù)的導(dǎo)入和導(dǎo)出本質(zhì)上是MapReduce程序,充分利用了MR的并行化和容錯(cuò)性。

1.3.10 Flume

Flume是Cloudera開源的日志收集系統(tǒng),具有分布式、高可靠、高容錯(cuò)、易于定制和擴(kuò)展的特點(diǎn)。它將數(shù)據(jù)從產(chǎn)生到傳輸再到處理以及最后寫入目標(biāo)路徑的過程抽象為數(shù)據(jù)流,在具體的數(shù)據(jù)流中,數(shù)據(jù)源支持在Flume中定制數(shù)據(jù)發(fā)送方,從而支持收集各種不同協(xié)議數(shù)據(jù)。同時(shí),Flume數(shù)據(jù)流提供對日志數(shù)據(jù)進(jìn)行簡單處理的能力。除此之外,Flume還具有能夠?qū)⑷罩緦懭敫鞣N數(shù)據(jù)目標(biāo)(可定制)的能力??偟膩碚f,Flume是一個(gè)可擴(kuò)展、適合復(fù)雜環(huán)境的海量日志收集系統(tǒng)。

2. Hadoop 安裝于環(huán)境配置

2.1 解壓Hadoop壓縮包

cd 進(jìn)入 Hadoop 安裝包存放位置,執(zhí)行 tar 命令將 hadoop-3.1.3.tar.gz 解壓到/usr/local 目錄下,ls 查看是否生成了 hadoop3.1.3 文件夾。

2.2 Hadoop環(huán)境變量配置

編輯用戶環(huán)境配置文件

cd /usr/local
sudo vim ~/.bashrc

配置HADOOP_HOME、PATH環(huán)境變量,保存并退出文件


執(zhí)行命令使環(huán)境生效

. ~/.bashrc

測試環(huán)境是否成功

3. 單機(jī)模式

3.1 特點(diǎn)

  • 無需運(yùn)行任何守護(hù)進(jìn)程,所有程序都在同一個(gè)JVM上執(zhí)行,在獨(dú)立模式上測試和調(diào)試MapReduce程序非常方便,因此該模式比較適合開發(fā)階段。
  • Hadoop 的默認(rèn)模式為單機(jī)模式(本地模式\非分布式),不需要進(jìn)行其它配置即可運(yùn)行。Hadoop 附帶了豐富的例子,包括 workcount、grep、join 等,下面運(yùn)行 grep 例子來感受 Hadoop運(yùn)行。

3.2 配置

用戶主目錄中新建 input 文件夾存放輸入數(shù)據(jù)文件:

拷貝 Hadoop 安裝目錄下/etc/hadoop 中所有的 XML 文件到 input 文件夾中:

3.3 執(zhí)行例子

**注意:**Hadoop 默認(rèn)不會覆蓋結(jié)果文件,因此再次運(yùn)行上面實(shí)例會提示出錯(cuò),需要先將output 刪除。查看當(dāng)前目錄下的文件,多出了 output 文件夾,cat 命令查看結(jié)果打印到屏幕上。

4. 偽分布模式

4.1 特點(diǎn)

  • Hadoop守護(hù)進(jìn)程運(yùn)行在本地機(jī)器上,模擬一個(gè)小規(guī)模的集群,該模式下的Hadoop集群實(shí)現(xiàn)的并不是真正的集群狀態(tài)。
  • Hadoop 偽分布式配置是在沒有多臺計(jì)算機(jī)節(jié)點(diǎn)的情況下,對 Hadoop 的分布式存儲和計(jì)算進(jìn)行模擬安裝和配置。

4.2 SSH 免密登陸

這個(gè)在第一篇已經(jīng)寫了如何進(jìn)行ssh免密登陸,這里就不多說了。
鏈接在這 搭建Hadoop集群

4.3 修改Hadoop配置文件

Hadoop 的配置文件位于安裝目錄的/etc/hadoop/下,偽分布式模式配置需要修改配置文件 core-site.xml 和 hdfs-site.xml。
core-site.xml 配置文件

hdfs-site.xml配置文件

4.4 初始化

 hdfs namenode -format


找到Successfully就可以了

先對配置文件進(jìn)行配置,一開始以為localhost改成031904102_master導(dǎo)致失敗,一直start不起來,后來才改成了localhost,localhost是對應(yīng)127.0.0.1,是本機(jī)的localhost,而031904102_master對應(yīng)的是192.168.1.200,對不上,所有后面連不上。

start-dfs.sh


執(zhí)行命令 jps 驗(yàn)證是否成功啟動,成功啟動應(yīng)包含如下進(jìn)程。如果沒有啟動成功,可以通過啟動日志排查原因,日志位于安裝目錄的 logs 文件夾下后綴為.log。(根據(jù)錯(cuò)誤信息具體問題要具體分析。確認(rèn)配置文件沒有錯(cuò)誤,一般可以嘗試關(guān)閉 stop-dfs.sh 后再啟動 start-dfs.sh;或者可以嘗試刪除安裝目錄下整個(gè) tmp 文件,重新執(zhí)行 namenode –format。)

4.3 執(zhí)行

  1. 在hadoop上創(chuàng)建文件
hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/hadoop
hdfs dfs -mkdir /user/hadoop/input

查看hadoop是否創(chuàng)建成功文件

hdfs dfs -ls /user/hadoop
  1. 將/etc/hadoop 目錄下所有的 XML 文件上傳至 input 文件夾:
    hdfs dfs -put 原路徑 目的路徑
hdfs dfs -put /usr/local/hadoop-3.1.3/etc/hadoop*.xml input

查看是否存在input中

hdfs dfs -ls /user/hadoop/input
  1. 執(zhí)行 MapReduce 的 grep例子,將結(jié)果存放到 output 文件夾中,然后在分布式文件系統(tǒng)上查看結(jié)果:
hadoop jar /usr/local/hadoop-3.1.3/etc/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input output 'dfs[a-z.]+'

在分布式文件系統(tǒng)上查看結(jié)果

hdfs dfs -cat output/*

5. 全分布模式

注意 :更改主機(jī)名稱之后,要重新配置ssh密鑰!!!!
注意主機(jī)名不要有 _ 要用-代替!!!!!
不要111111_xxxx 要11111-xxx 不然報(bào)錯(cuò)!我就是這樣!下面這些例子時(shí)我修改前的,沒成功,但是步驟是一樣的,后來改回來之后重新做了一遍,忘記截圖了。

5.1 特點(diǎn)

與偽分布模式的區(qū)別在于其守護(hù)進(jìn)程運(yùn)行在一個(gè)集群上,通常采用全分布模式來整合集群環(huán)境下的所有資源。

5.2 集群準(zhǔn)備

  1. 準(zhǔn)備兩臺虛擬機(jī)(直接克隆復(fù)制已有的虛擬機(jī)):一臺作為主節(jié)點(diǎn) Master,一臺
    作為從節(jié)點(diǎn) Slave;
  2. Mater 節(jié)點(diǎn)要求:安裝 SSH server、配置 Java 環(huán)境、安裝 Hadoop;
  3. Slave 節(jié)點(diǎn)要求:安裝 SSH server、配置 Java 環(huán)境。
    以上內(nèi)容在第一篇的時(shí)候已經(jīng)說好了!Slave,就是克隆
    注意:如果節(jié)點(diǎn)是直接克隆配置好偽分布式模式的虛擬機(jī),需要?jiǎng)h除 hadoop目錄下的 tmp 文件夾和 logs 文件夾,或者刪除原有 Hadoop 安裝路徑下的所有文件夾,重新進(jìn)行解壓和環(huán)境配置。

5.3 網(wǎng)絡(luò)配置

兩個(gè)節(jié)點(diǎn) IP 配置如下,請依據(jù)計(jì)算機(jī)實(shí)際情況進(jìn)行 IP 地址和主機(jī)名分配。
主機(jī)名 IP 地址
Master 192.168.1.10
Slave 192.168.1.11

  1. 虛擬機(jī)設(shè)置橋接網(wǎng)絡(luò),Ubuntu 系統(tǒng)內(nèi)設(shè)置靜態(tài) IP,使節(jié)點(diǎn)之間網(wǎng)絡(luò)互通。具體設(shè)置查看“關(guān)于 VirtualBox 的虛擬機(jī)復(fù)制及 Ubuntu 系統(tǒng)的靜態(tài) IP 配置”文檔、“關(guān)于 VMware workstations 中 Ubuntu 系統(tǒng)的靜態(tài) ip 配置”文檔。
  2. 修改/etc/hostsname 文件,更改節(jié)點(diǎn)主機(jī)名為“031904102-Master”和“031904102-Slave”
    沒截圖,按照老師的樣子截了個(gè)圖
sudo vim /etc/hostsname


3. 改/etc/hosts 文件,更改 IP 映射關(guān)系,所有節(jié)點(diǎn)都要修改。hosts 文件原有映射保留一條 localhost 其余刪除,再插入兩個(gè)節(jié)點(diǎn)的 IP 地址映射,注意主機(jī)名和 IP 地址不要對應(yīng)錯(cuò)了,主機(jī)名區(qū)分大小寫。

sudo vim /etc/hosts


重啟之后生效即可

reboot


上面這個(gè)還是老師的圖,老師是master
下面這個(gè)是我的,我的是031904102-Master 注意不要像下面那樣下劃線 “ _ ” !!

檢查master和slave能否ping通


發(fā)現(xiàn)都可以即可

5.4ssh免密登陸

這一段第一篇已經(jīng)講過,再講一次吧。
更改主機(jī)名稱之后,要重新配置ssh密鑰。在本次實(shí)驗(yàn)中借助xftp進(jìn)行密鑰的傳遞。


左邊是Master 右邊是Slave,將對方的id_rsa.pub發(fā)給對方
在xftp上進(jìn)行密鑰的復(fù)制之后,將其中的密鑰cat到authorized_keys中,這和之前的一樣的操作

這樣就可以實(shí)現(xiàn)兩臺機(jī)子的免密登陸了

5.5 Hadoop 環(huán)境配置

然后再依次配置master中hadoop的文件配置

  1. workers
    這里是你副節(jié)點(diǎn)的主機(jī)名稱,我截是截老師的,我自己的是031904102-Slave就多了個(gè)學(xué)號,按照你自己的來。

  2. core-site.xml
    這也是老師的圖,我這里是031904102-Master

  3. hdfs-site.xml

  4. mapred-site.xml

  5. yarn-site.xml


    hdfs name node -format
    初始化一下就可以了。

  6. 配置其余節(jié)點(diǎn),使所有節(jié)點(diǎn) Hadoop 配置保持一致。刪除之前運(yùn)行偽分布式生成的
    log 文件和 tmp 文件夾,打包 Hadoop 遠(yuǎn)程發(fā)送給其它節(jié)點(diǎn)并解壓。如果其它節(jié)點(diǎn)已安裝有
    Hadoop 也可以直接同步修改配置文件。
    Master節(jié)點(diǎn)的操作
    刪除

sudo rm -r /usr/local/hadoop-3.1.3/tmp
sudo rm -r /usr/local/hadoop-3.1.3/logs/*

打包

cd /usr/local
tar -zcf ~/hadoop_m.tar.gz ./hadoop-3.1.3
scp ~/hadoop_m.tar.gz Slave:/home/hadoop

于是上網(wǎng)就有說上傳到tmp目錄中。就可以了

這里Slave是你上面配置的Slave 我自己的是031904102-Slave
Slave的操作

sudo rm -r /usr/local/hadoop-3.1.3
sudo tar -zxf ~/hadoop_m.tar.gz -C /usr/local

5.6測試實(shí)例

  1. 啟動
start-dfs.sh
start-yarn.sh
mapred --daemon start historyserver
  1. 查看是否成功啟動

    一定要是- !不能是下劃線_



    在hadoop上創(chuàng)建文件

    和上面?zhèn)畏植家粯?br>

    有文件之后
    執(zhí)行g(shù)rep操作
hadoop jar /usr/local/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input output `dfs[a-z]+`


cat一下結(jié)果


再次測試時(shí),記得把輸出結(jié)果刪除

hdfs dfs -rm -r output

總結(jié)

hadoop的三種模式已經(jīng)介紹一一配置了!
有什么問題評論區(qū)留言或是私信我吧!
我是大數(shù)據(jù)專業(yè)的,喜歡大數(shù)據(jù)的可以關(guān)注我!

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
分布式計(jì)算開源框架Hadoop入門實(shí)踐
Hadoop集群搭建
阿里云ECS服務(wù)器部署HADOOP集群(一):Hadoop完全分布式集群環(huán)境搭建
Hadoop 2.2.0 (YARN)搭建筆記
Hadoop海量級分布式存儲
大數(shù)據(jù)學(xué)習(xí)環(huán)境搭建系列(一)大數(shù)據(jù)集群平臺介紹
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服