欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:Hadoop簡介

柚子快報邀請碼778899分享:Hadoop簡介

http://yzkb.51969.com/

簡介

大數(shù)據(jù)簡介

概述

大數(shù)據(jù)的說法從出現(xiàn)到現(xiàn)在,也經(jīng)歷了十多年時間的發(fā)展。而在這十幾年的發(fā)展過程中,非常多的機構、組織都試圖對大數(shù)據(jù)做出過定義,例如:研究機構Gartner給出了這樣的定義:"大數(shù)據(jù)"是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。再例如根據(jù)維基百科的定義,大數(shù)據(jù)是指無法在可承受的時間范圍內(nèi)用常規(guī)軟件工具進行捕捉、管理和處理的數(shù)據(jù)集合。

特征(6V)

經(jīng)過十幾年的發(fā)展,對大數(shù)據(jù)進行總結,總結出來如下特征:

1)Volume:數(shù)據(jù)量大,包括采集、存儲和計算的量都非常大。大數(shù)據(jù)的起始計量單位至少是T、P(1024個T)、E(100萬個T)或Z(10億個T)。到目前為止,人類所生產(chǎn)的所有印刷材料(書本、雜志、報刊等)的數(shù)據(jù)量大約是200PB,而歷史上全人類總共說過的話的數(shù)據(jù)量大約是5EB。當前,典型個人計算機硬盤的容量為TB量級,而一些大企業(yè)的數(shù)據(jù)量已經(jīng)接近或者達到EB量級。

2)Variety:種類樣式和來源多樣化。包括結構化、半結構化和非結構化數(shù)據(jù),具體表現(xiàn)為網(wǎng)絡日志、音頻、視頻、圖片、地理位置信息等等,多類型的數(shù)據(jù)對數(shù)據(jù)的處理能力提出了更高的要求。

3)Value:數(shù)據(jù)價值密度相對較低,或者說是浪里淘沙卻又彌足珍貴。隨著互聯(lián)網(wǎng)以及物聯(lián)網(wǎng)的廣泛應用,信息感知無處不在,信息海量,但價值密度較低,如何結合業(yè)務邏輯并通過強大的機器算法來挖掘數(shù)據(jù)價值是大數(shù)據(jù)時代最需要解決的問題。

4)Velocity:數(shù)據(jù)增長速度快,處理速度也快,時效性要求比較高。這是大數(shù)據(jù)區(qū)分于傳統(tǒng)數(shù)據(jù)挖掘的最顯著特征。根據(jù)IDC(Internet Data Center,互聯(lián)網(wǎng)數(shù)據(jù)中心)的"數(shù)字宇宙"的報告,到2020年,全球數(shù)據(jù)使用量將達到35.2ZB。在如此海量的數(shù)據(jù)面前,處理數(shù)據(jù)的效率就是企業(yè)的生命。

5)Veracity:數(shù)據(jù)的準確性和可信賴度,即數(shù)據(jù)的質(zhì)量。隨著網(wǎng)絡的發(fā)展,數(shù)據(jù)的準確性和可信賴度都越來越挑戰(zhàn)數(shù)據(jù)的認知和發(fā)展。

6)Valence:大數(shù)據(jù)之間的連通性,指的是大數(shù)據(jù)各個產(chǎn)業(yè)、各個模塊之間的關聯(lián)性。

7)隨著大數(shù)據(jù)的發(fā)展,又增加了Vitality(動態(tài)性)、Visualization(可視化)、Validity(合法性)等。

Hadoop簡介

概述

Hadoop本身是由Yahoo!公司開發(fā)的后來貢獻給了Apache的一套開源的、可靠的分布式架構

Hadoop提供了簡單的編程模型能夠對大量的數(shù)據(jù)進行分布式處理(The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models.)

Hadoop能夠輕松的從一臺服務器擴展到上千臺服務器,并且每一臺服務器都能夠進行本地計算和存儲(It is designed to scale up from single servers to thousands of machines, each offering local computation and storage.)

Hadoop本身提供了用于處理和探測異常的機制(Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer)。

主流發(fā)行版本

經(jīng)過多年發(fā)展,市面上產(chǎn)生了繁多的Hadoop版本,這些版本可以分為收費版和免費版/社區(qū)版。其中使用的比較多的是Apache、CDH和HDP三大發(fā)行版。

Apache版本:最原始(最基礎)的版本,對于入門學習最好,可以讓初學者掌握更多的細節(jié)。

Cloudera版本:

1)2008年成立的Cloudera是最早將Hadoop商用的公司,為合作伙伴提供Hadoop的商用解決方案,主要是包括支持、咨詢服務、培訓。在2009年,Hadoop之父Doug Cutting也加盟Cloudera公司。

2)Cloudera產(chǎn)品主要為CDH,Cloudera Manager,Cloudera Support。CDH是Cloudera提供的Hadoop發(fā)行版,完全開源,比Apache Hadoop在兼容性,安全性,穩(wěn)定性上有所增強;Cloudera Manager是集群的軟件分發(fā)及管理監(jiān)控平臺,可以在幾個小時內(nèi)部署好一個Hadoop集群,并對集群的節(jié)點及服務進行實時監(jiān)控;Cloudera Support即是對Hadoop的技術支持。

3)Cloudera的標價為每年每個節(jié)點4000美元。

4)Cloudera開發(fā)并貢獻了可實時處理大數(shù)據(jù)的Impala項目。

Hortonworks Hadoop版本:

1)2011年成立的Hortonworks是雅虎與硅谷風投公司Benchmark Capital合資組建。公司成立之初就吸納了大約25名至30名專門研究Hadoop的雅虎工程師,上述工程師均在2005年開始協(xié)助雅虎開發(fā)Hadoop,貢獻了Hadoop80%的代碼。雅虎工程副總裁、雅虎Hadoop開發(fā)團隊負責人Eric Baldeschwieler出任Hortonworks的首席執(zhí)行官。

2)Hortonworks的主打產(chǎn)品是Hortonworks Data Platform(HDP),也同樣是100%開源的產(chǎn)品,HDP除常見的項目外還包括了Ambari(一款開源的安裝和管理系統(tǒng))。

3)HCatalog,一個元數(shù)據(jù)管理系統(tǒng),HCatalog現(xiàn)已集成到Facebook開源的Hive中。Hortonworks的Stinger開創(chuàng)性的極大的優(yōu)化了Hive項目。Hortonworks為入門提供了一個非常好的,易于使用的沙盒。

4)Hortonworks開發(fā)了很多增強特性并提交至核心主干,這使得Apache Hadoop能夠在包括Window Server和Windows Azure在內(nèi)的Microsoft Windows平臺上本地運行。

5)定價以集群為基礎,每10個節(jié)點每年為12500美元。

Hortonworks被Cloudera收購,合并推出了新的商用版Hadoop:CDP。目前收費是10000美金/節(jié)點/每年。從2021年1月31日開始,之前所有的CDH和HDP都必須付費才能使用。

模塊

截止到目前為止(2023年06月30日),Hadoop官網(wǎng)顯示,一共包含了四大模塊:

1)Hadoop Common:公共模塊,提供了Hadoop的一些基本jar包(The common utilities that support the other Hadoop modules.)

2)Hadoop Distributed FileSystem(HDFS):分布式文件存儲系統(tǒng)(A distributed file system that provides high-throughput access to application data.)

3)Hadoop YARN:用于進行任務調(diào)度和資源管理的機制(A framework for job scheduling and cluster resource management.)

4)Hadoop MapReduce:基于YARN的分布式計算系統(tǒng)(A YARN-based system for parallel processing of large data sets.)

版本

Hadoop發(fā)展到現(xiàn)在,一共有三大版本:

1)Hadoop1.X:最原始的版本,包含了Common,HDFS和MapReduce模塊,目前市面上已經(jīng)停止流通;

2)Hadoop2.X:包含了Common,HDFS,MapReduce和YARN模塊,后續(xù)的高版本中還包含了Ozone模塊。注意,Hadoop2.X和Hadoop1.X不兼容;

3)Hadoop3.X:包含了Common,HDFS,MapReduce,YARN和Ozone模塊,和Hadoop2.X部分兼容。

需要注意的是,不同于其他的一些框架,除了Hadoop1.x已經(jīng)停止維護和使用,Hadoop2.X和Hadoop3.X在官網(wǎng)均有維護和更新,且更新版本較為混亂。所以在選擇Hadoop版本的時候,需要考慮Hadoop版本和其他框架的兼容性問題。

Hadoop發(fā)展歷程(了解)

創(chuàng)始人

Doug Cutting:是一位軟件設計師,也是開源搜索技術的倡導者和創(chuàng)造者。他創(chuàng)建了Lucene,并與Mike Cafarella創(chuàng)建了Nutch,這些項目現(xiàn)在通過Apache Software Foundation進行管理。Cutting和Cafarella也是Apache Hadoop的聯(lián)合創(chuàng)始人,不過相對Doug的貢獻更大一些,所以Doug也被尊稱為Hadoop之父。

Mike Cafarella:一位專攻數(shù)據(jù)庫管理系統(tǒng)的計算機科學家。他是密歇根大學的計算機學科的副教授。Mike與Doug Cutting一起創(chuàng)建了Hadoop以及Nutch這兩個開源項目。

命名

Hadoop這個名字不是一個縮寫,也不是一個單詞,而是一個虛構的名字。該項目的創(chuàng)建者,Doug Cutting解釋Hadoop的得名:"這個名字是我孩子給一個棕黃色的大象玩具命名的。我的命名標準就是簡短,容易發(fā)音和拼寫,沒有太多的意義,并且不會被用于別處。小孩子恰恰是這方面的高手"。

發(fā)展歷程

1)2002年,Doug Cutting和Mike Cafarella在設計搜索引擎Nutch的時候,爬取了整個互聯(lián)網(wǎng),一共獲得了10億個網(wǎng)頁數(shù)據(jù)。因為互聯(lián)網(wǎng)的數(shù)據(jù)大多數(shù)是非結構化的,所以無法存儲在傳統(tǒng)的關系型數(shù)據(jù)庫中。且由于數(shù)據(jù)量巨大,所以傳統(tǒng)的單機模式也無法存儲。

2)2003年,Google發(fā)表一篇關于集群系統(tǒng)存儲的論文:(簡稱為GFS),這篇論文詳細的闡述了分布式存儲的思想和原理,但是Google并沒有對外公開使用GFS。

3)2004年,Cutting在基于GFS的基礎上設計了NDFS(Nutch Distributed File System)。NDFS和GFS的不同之處在于,GFS是使用C語言實現(xiàn)的,而NDFS是使用Java語言實現(xiàn)的。至此,解決了第一個問題:分布式存儲的問題。但是接踵而來的是第二個問題,如何對分布式存儲的數(shù)據(jù)進行分析和計算呢?

4)2004年,Google發(fā)表了另一篇關于集群系統(tǒng)計算的論文:,這篇論文同樣詳細的闡述了分布式計算的思想和原理,但是同樣Google沒有對外公開使用MapReduce。

5)2005年,Doug根據(jù)谷歌的論文設計了在Nutch中使用的MapReduce。同樣,二者的區(qū)別就是實現(xiàn)語言的不同。至此,分布式計算問題解決,Nutch也可以正式使用。

6)而在Nutch0.8之后,Doug發(fā)現(xiàn)分布式存儲和計算不止可以用于Nutch,還可以用于其他很多領域,因此Doug將NDFS模塊以及MapReduce模塊獨立出來,重命名為Hadoop,并將NDFS重命名為HDFS(Hadoop Distributed File System)。

7)2006年,Doug Cutting加入了Yahoo,雅虎為此專門成立了專門的團隊和資源,將Hadoop發(fā)展成能夠以Web網(wǎng)絡規(guī)模運行的系統(tǒng)。

8)Doug Cutting在Yahoo的工作期間,先后設計了Hive,Pig,HBase等。

9)后來Yahoo將Hadoop、Hive、Pig、HBase等貢獻給了Apache。

安裝和編譯

編譯

本次編譯以Hadoop3.2.4版本為基礎進行。

1)進入目錄,上傳或者下載Hadoop3.2.4源碼包。

# 進入軟件的預裝目錄

cd /opt/presoftware

# 下載Hadoop的源碼包

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.4/hadoop-3.2.4-src.tar.gz

2)解壓:

tar -xvf hadoop-3.2.4-src.tar.gz -C /opt/source

?3)進入Hadoop的源碼包:

cd /opt/source/hadoop-3.2.4-src

4)執(zhí)行編譯命令:

mvn -X clean package -Pdist,native,docs -DskipTests -Dtar -Dmaven.skip.test=true -Dmaven.javadoc.skip=true -Denforcer.skip=true

如果編譯過程中提示缺少DynamoDBLocal,則上傳的jar包之后,執(zhí)行:

mvn install:install-file \

-Dfile=DynamoDBLocal-1.11.86.jar \

-DgroupId=com.amazonaws \

-DartifactId=DynamoDBLocal \

-Dversion=1.11.86 \

-Dpackaging=jar

然后重新編譯即可。

5)編譯完成后,進入目錄:

cd hadoop-dist/target

即可見到編譯產(chǎn)生的安裝包。

安裝

偽分布式

安裝Hadoop之前,需要先安裝JDK1.8(最好是JDK1.8.255及以上版本),關閉防火墻。

1)修改主機名:

vim /etc/hostname

# 將主機名改為自己指定的主機名,例如:

hadoop01

修改完成之后保存退出。

2)進行IP映射:

vim /etc/hosts

# 添加IP映射,例如

192.168.160.151 hadoop01

修改完成之后保存退出。

3)關閉SELINUX:

vim /etc/selinux/config

# 將SELINUX屬性改為disabled

SELINUX=disabled

保存退出。

4)重啟:

reboot

5)配置免密登錄:

# 產(chǎn)生密鑰

ssh-keygen

# 傳輸公鑰

ssh-copy-id root@hadoop01

# 測試

ssh hadoop01

# 如果不需要密碼,則退出

logout

6)上傳或者下載Hadoop安裝包:

# 進入軟件的預裝目錄

cd /opt/presoftware

# 官網(wǎng)下載地址

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz

7)解壓:

tar -xvf hadoop-3.2.4.tar.gz -C /opt/software

8)進入Hadoop配置目錄:

cd /opt/software/hadoop-3.2.4/etc/hadoop/

9)編輯文件:

vim hadoop-env.sh

# 添加屬性

export JAVA_HOME=/opt/software/jdk1.8

export HADOOP_CONF_DIR=/opt/software/hadoop-3.2.4/etc/hadoop

# 保存退出,重新生效

source hadoop-env.sh

10)編輯文件:

vim core-site.xml

在文件中添加:

fs.default.name

hdfs://hadoop01:9000

hadoop.tmp.dir

/opt/software/hadoop-3.2.4/tmp

hadoop.http.staticuser.user

root

hadoop.proxyuser.root.hosts

*

hadoop.proxyuser.root.groups

*

hadoop.proxyuser.root.users

*

保存退出。

11)編輯文件:

vim hdfs-site.xml

在文件中添加:

dfs.replication

1

保存退出。

12)編輯文件:

vim mapred-site.xml

在文件中添加:

mapreduce.framework.name

yarn

yarn.app.mapreduce.am.env

HADOOP_MAPRED_HOME=/opt/software/hadoop-3.2.4

mapreduce.map.env

HADOOP_MAPRED_HOME=/opt/software/hadoop-3.2.4

mapreduce.reduce.env

HADOOP_MAPRED_HOME=/opt/software/hadoop-3.2.4

保存退出。

13)編輯文件:

vim yarn-site.xml

在文件中添加:

yarn.resourcemanager.hostname

hadoop01

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.nodemanager.env-whitelist

JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

保存退出。

14)編輯文件:

vim workers

# 刪除掉原來的localhost,添加指定的主機名,例如

hadoop01

保存退出。

15)進入Hadoop的子目錄sbin下:

cd /opt/software/hadoop-3.2.4/sbin/

16)修改文件:

vim start-dfs.sh

# 在文件頭部添加

HDFS_DATANODE_USER=root

HDFS_DATANODE_SECURE_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

保存退出。

17)修改文件:

vim stop-dfs.hs

# 在文件頭部添加

HDFS_DATANODE_USER=root

HDFS_DATANODE_SECURE_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

保存退出。

18)修改文件:

vim start-yarn.sh

# 在文件頭部添加

YARN_RESOURCEMANAGER_USER=root

HDFS_DATANODE_SECURE_USER=yarn

YARN_NODEMANAGER_USER=root

保存退出。

19)修改文件:

vim stop-yarn.sh

# 在文件頭部添加

YARN_RESOURCEMANAGER_USER=root

HDFS_DATANODE_SECURE_USER=yarn

YARN_NODEMANAGER_USER=root

保存退出。

20)配置環(huán)境變量:

vim /etc/profile.d/hadoophome.sh

export HADOOP_HOME=/opt/software/hadoop-3.2.4

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# 保存退出,重新生效

source /etc/profile.d/hadoophome.sh

# 檢查環(huán)境變量是否配置正確

hadoop version

21)格式化NameNode:

hdfs namenode -format

如果出現(xiàn):

Storage directory /opt/software/hadoop-3.2.3/tmp/dfs/name has been successfully formatted.

則表示格式化成功。

22)啟動Hadoop:

start-all.sh

23)命令查看:

jps

# 應該出現(xiàn)如下進程

Jps

NameNode

DataNode

SecondaryNameNode

ResourceManager

NodeManager

24)可以通過主機名:9870的方式來查看HDFS的頁面。

25)可以通過主機名:8088的方式來查看YARN的頁面。

完全分布式安裝(重要)

至少需要準備3個節(jié)點。安裝Hadoop之前,需要先安裝JDK1.8(最好是JDK1.8.255及以上版本),關閉防火墻。節(jié)點部署如下表-1所示:

表-1 進程分布

進程/節(jié)點 hadoop01 hadoop02 hadoop03 NameNode √ SecondaryNameNode √ DataNode √ √ √ ResourceManager √ NodeManager √ √ √ JobHistoryServer √

1)修改三個節(jié)點的主機名:

#?編輯文件

vim /etc/hostname

# 刪除掉原來的名稱,添加自己的主機名,例如第一個節(jié)點設置為hadoop01,第二個節(jié)點設置為hadoop02,第三個節(jié)點設置為hadoop03

修改完成之后保存退出。

2)進行IP映射。注意,此時需要將三個節(jié)點的主機名和IP全部進行映射!

#?編輯文件

vim /etc/hosts

#?在文件末尾添加映射,例如:

192.168.160.151 hadoop01

192.168.160.152 hadoop02

192.168.160.153 hadoop03

保存退出。

3)關閉SELINUX:

#?編輯文件

vim /etc/selinux/config

#?將selinux屬性的值改為disabled

SELINUX=disabled

保存退出。

4)重啟:

reboot

5)所有節(jié)點之間相互免密互通:

#?產(chǎn)生密鑰

ssh-keygen

#?拷貝公鑰

ssh-copy-id root@hadoop01

ssh-copy-id root@hadoop02

ssh-copy-id root@hadoop03

#?測試是否免密

ssh hadoop01 # 如果不需要密碼,輸入logout

ssh hadoop02?# 如果不需要密碼,輸入logout

ssh hadoop03?# 如果不需要密碼,輸入logout

6)進入軟件預裝目錄,上傳或者下載Hadoop的安裝包:

#?進入目錄

cd /opt/presoftware/

#?官網(wǎng)下載地址

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz

7)解壓:

tar -xvf hadoop-3.2.4.tar.gz -C /opt/software/

8)進入Hadoop的配置目錄:

cd /opt/software/hadoop-3.2.4/etc/hadoop/

9)修改文件:

#?編輯文件

vim hadoop-env.sh

#?在文件中添加

export JAVA_HOME=/opt/software/jdk1.8

export HADOOP_CONF_DIR=/opt/software/hadoop-3.2.4/etc/Hadoop

# 保存退出,生效

source hadoop-env.sh

10)編輯文件:

vim core-site.xml

在文件中添加:

fs.default.name

hdfs://hadoop01:9000

hadoop.tmp.dir

/opt/software/hadoop-3.2.4/tmp

hadoop.http.staticuser.user

root

hadoop.proxyuser.root.hosts

*

hadoop.proxyuser.root.groups

*

hadoop.proxyuser.root.users

*

保存退出。

11)編輯文件:

vim hdfs-site.xml

在文件中添加:

dfs.namenode.http-address

hadoop01:9870

dfs.namenode.secondary.http-address

hadoop02:9868

dfs.replication

1

保存退出。

12)編輯文件:

vim mapred-site.xml

在文件中添加:

mapreduce.framework.name

yarn

yarn.app.mapreduce.am.env

HADOOP_MAPRED_HOME=/opt/software/hadoop-3.2.4

mapreduce.map.env

HADOOP_MAPRED_HOME=/opt/software/hadoop-3.2.4

mapreduce.reduce.env

HADOOP_MAPRED_HOME=/opt/software/hadoop-3.2.4

保存退出。

13)編輯文件:

vim yarn-site.xml

在文件中添加:

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.resourcemanager.hostname

hadoop03

yarn.nodemanager.env-whitelist

JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

yarn.scheduler.minimum-allocation-mb

512

yarn.scheduler.maximum-allocation-mb

4096

yarn.nodemanager.resource.memory-mb

4096

yarn.nodemanager.pmem-check-enabled

false

yarn.nodemanager.vmem-check-enabled

false

保存退出。

14)編輯文件:

vim workers

#?刪除掉原來的數(shù)據(jù),添加三個節(jié)點的主機名,例如:

hadoop01

hadoop02

hadoop03

保存退出。

15)進入Hadoop的命令目錄:

cd ../../sbin/

16)修改文件:

vim start-dfs.sh

#?在文件頭部添加

HDFS_DATANODE_USER=root

HDFS_DATANODE_SECURE_USER=root

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

保存退出。

17)修改文件:

vim stop-dfs.sh

#?在文件頭部添加

HDFS_DATANODE_USER=root

HDFS_DATANODE_SECURE_USER=root

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

保存退出。

18)編輯文件:

vim start-yarn.sh

#?在文件頭部添加

YARN_RESOURCEMANAGER_USER=root

YARN_NODEMANAGER_USER=root

HDFS_DATANODE_SECURE_USR=root

保存退出。

19)編輯文件:

vim stop-yarn.sh

# 在文件頭部添加

YARN_RESOURCEMANAGER_USER=root

YARN_NODEMANAGER_USER=root

HDFS_DATANODE_SECURE_USR=root

保存退出。

20)配置歷史服務器(可選)。

cd ../etc/hadoop/

#?編輯文件

vim mapred-site.xml

在文件中添加:

mapreduce.jobhistory.address

hadoop02:10020

mapreduce.jobhistory.webapp.address

hadoop02:19888

21)?日志聚集(可選)。當任務在運行過程中,會產(chǎn)生大量的日志。那么此時日志分布在不同的服務器上,希望將日志匯聚上傳到HDFS上,這個過程稱之為日志聚集/匯聚。通過日志聚集,可以比較容易的查看程序的運行日志,方便對程序進行調(diào)試。

#?編輯文件

vim yarn-site.xml

在文件中添加:

yarn.log-aggregation-enble

true

yarn.log.server.url

http://hadoop02:19888/jobhistory/logs

yarn.log-aggregation.retain-seconds

604800

22)遠程分發(fā):

#?回到安裝目錄

cd /opt/software/

# 遠程拷貝給其他的節(jié)點

scp -r hadoop-3.2.4/ root@hadoop02:$PWD

scp -r hadoop-3.2.4/ root@hadoop03:$PWD

23)配置環(huán)境變量:

# 編輯文件

vim /etc/profile.d/hadoophome.sh

# 在文件中添加

export HADOOP_HOME=/opt/software/hadoop-3.2.4

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#?保存退出,生效

source /etc/profile.d/hadoophome.sh

# 測試

hadoop version

24)在第一個節(jié)點上格式化NameNode:

hdfs namenode -format

如果出現(xiàn):

Storage directory /opt/software/hadoop-3.2.4/tmp/dfs/name has been successfully formatted.

則表示格式化成功。

25)在第一個節(jié)點上啟動HDFS:

start-dfs.sh

26)在第三個節(jié)點上啟動YARN:

start-yarn.sh

27)在第二個節(jié)點上啟動歷史服務器:

mapred --daemon start historyserver

28)查看進程:

jps

#?hadoop01

Jps

NameNode

DataNode

NodeManager

#?hadoop02

Jps

DataNode

SecondaryNameNode

NodeManager

JobHistoryServer

#?hadoop03

Jps

DataNode

ResourceManager

NodeManager

29)可以通過主機名:9870的方式來查看HDFS的頁面。

30)可以通過主機名:8088的方式來查看YARN的頁面。

完全分布式高可用模式

環(huán)境準備:至少需要準備3個節(jié)點,安裝Hadoop之前,需要先安裝JDK1.8(最好是JDK1.8.255及以上版本),關閉防火墻,需要安裝好Zookeeper(最好是Zookeeper3.5及以上版本)。進程分布如下表-2所示:

表-2 進程分布

進程/節(jié)點 ha01 ha02 ha03 NameNode √ √ √ DataNode √ √ √ JournalNode √ √ √ ResourceManager √ √ NodeManager √ √ √ DFSZKFailoverController √ √ √ QuorumPeerMain √ √ √ JobHistoryServer √

1)修改主機名:

#?編輯文件

vim /etc/hostname

# 刪除掉原來的,添加自己的主機名,例如第一個節(jié)點為ha01,第二個節(jié)點為ha02,第三個節(jié)點為ha03

修改完成之后保存退出。

2)進行IP映射:

#?編輯文件

vim /etc/hosts

# 添加IP映射,例如

192.168.160.161 ha01

192.168.160.162 ha02

192.168.160.163 ha03

保存退出。

3)關閉SELINUX:

#?編輯文件

vim /etc/selinux/config

#?將selinux屬性值改為disabled

SELINUX=disabled

保存退出。

4)重啟:

reboot

5)配置免密互通:

#?產(chǎn)生密鑰

ssh-keygen

#?拷貝公鑰

ssh-copy-id root@ha01

ssh-copy-id root@ha02

ssh-copy-id root@ha02

#?測試

ssh ha01 # 如果不需要密碼,輸入logout

ssh ha02 # 如果不需要密碼,輸入logout

ssh ha03 # 如果不需要密碼,輸入logout

6)進入軟件預裝目錄,上傳或者下載Hadoop的安裝包:

# 進入預裝目錄

cd /opt/presoftware/

# 官網(wǎng)下載地址

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz

7)解壓:

tar -xvf hadoop-3.2.4.tar.gz -C /opt/software/

8)進入Hadoop的配置目錄:

cd /opt/software/hadoop-3.2.4/etc/hadoop/

9)編輯文件:

#?編輯文件

vim hadoop-env.sh

#?在文件中添加

export JAVA_HOME=/opt/software/jdk1.8

export HADOOP_CONF_DIR=/opt/software/hadoop-3.2.4/etc/hadoop

#?保存退出,生效

source hadoop-env.sh

10)編輯文件:

vim core-site.xml

在文件中添加:

fs.defaultFS

hdfs://ns

hadoop.tmp.dir

/opt/software/hadoop-3.2.4/tmp

ha.zookeeper.quorum

ha01:2181,ha02:2181,ha03:2181

hadoop.http.staticuser.user

root

hadoop.proxyuser.root.hosts

*

hadoop.proxyuser.root.groups

*

hadoop.proxyuser.root.users

*

保存退出。

11)修改文件:

vim hdfs-site.xml

在文件中添加:

dfs.nameservices

ns

dfs.ha.namenodes.ns

nn1,nn2,nn3

dfs.namenode.rpc-address.ns.nn1

ha01:9000

dfs.namenode.rpc-address.ns.nn2

ha02:9000

dfs.namenode.rpc-address.ns.nn3

ha03:9000

dfs.namenode.http-address.ns.nn1

ha01:9870

dfs.namenode.http-address.ns.nn2

ha02:9870

dfs.namenode.http-address.ns.nn3

ha03:9870

dfs.namenode.shared.edits.dir

????qjournal://ha01:8485;ha02:8485;ha03:8485/ns

dfs.journalnode.edits.dir

/opt/software/hadoop-3.2.4/tmp/journal

dfs.namenode.name.dir

file:///opt/software/hadoop-3.2.4/tmp/hdfs/name

dfs.datanode.data.dir

file:///opt/software/hadoop-3.2.4/tmp/hdfs/data

dfs.ha.automatic-failover.enabled

true

dfs.client.failover.proxy.provider.ns

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

dfs.ha.fencing.methods

sshfence

dfs.ha.fencing.ssh.private-key-files

/root/.ssh/id_rsa

dfs.replication

3

dfs.permissions

false

保存退出。

12)修改文件:

vim mapred-site.xml

在文件中添加:

mapreduce.framework.name

yarn

yarn.app.mapreduce.am.env

HADOOP_MAPRED_HOME=/opt/software/hadoop-3.2.4

mapreduce.map.env

HADOOP_MAPRED_HOME=/opt/software/hadoop-3.2.4

mapreduce.reduce.env

HADOOP_MAPRED_HOME=/opt/software/hadoop-3.2.4

mapreduce.jobhistory.address

ha02:10020

mapreduce.jobhistory.webapp.address

ha02:19888

保存退出。

13)修改文件:

vim yarn-site.xml

在文件中添加:

yarn.resourcemanager.ha.enabled

true

yarn.resourcemanager.cluster-id

ns-yarn

yarn.resourcemanager.ha.rm-ids

rm1,rm2

yarn.resourcemanager.hostname.rm1

ha01

yarn.resourcemanager.hostname.rm2

ha03

yarn.resourcemanager.recovery.enabled

true

yarn.resourcemanager.store.class

org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore

yarn.resourcemanager.zk-address

ha01:2181,ha02:2181,ha03:2181

yarn.nodemanager.env-whitelist

JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

yarn.scheduler.minimum-allocation-mb

512

yarn.scheduler.maximum-allocation-mb

4096

yarn.nodemanager.resource.memory-mb

4096

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.resourcemanager.hostname

ha03

yarn.nodemanager.pmem-check-enabled

false

yarn.nodemanager.vmem-check-enabled

false

yarn.resourcemanager.webapp.address.rm1

ha01:8088

yarn.resourcemanager.webapp.address.rm2

ha03:8088

????yarn.log-aggregation-enble

????true

yarn.log.server.url

http://ha02:19888/jobhistory/logs

yarn.log-aggregation.retain-seconds

604800

保存退出。

14)添加子節(jié)點:

#?編輯文件

vim workers

#?刪除掉原來的,添加所有節(jié)點的主機名,例如

ha01

ha02

ha03

保存退出。

15)進入Hadoop的命令目錄:

cd ../../sbin/

16)編輯文件:

vim start-dfs.sh

#?在文件頭部添加

HDFS_DATANODE_USER=root

HDFS_DATANODE_SECURE_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

HDFS_JOURNALNODE_USER=root

HDFS_ZKFC_USER=root

保存退出。

17)?編輯文件:

vim stop-dfs.sh

#?在文件頭部添加

HDFS_DATANODE_USER=root

HDFS_DATANODE_SECURE_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

HDFS_JOURNALNODE_USER=root

HDFS_ZKFC_USER=root

保存退出。

18)編輯文件:

vim start-yarn.sh

#?在文件頭部添加

YARN_RESOURCEMANAGER_USER=root

HDFS_DATANODE_SECURE_USER=yarn

YARN_NODEMANAGER_USER=root

保存退出。

19)?編輯文件:

vim stop-yarn.sh

#?在文件頭部添加

YARN_RESOURCEMANAGER_USER=root

HDFS_DATANODE_SECURE_USER=yarn

YARN_NODEMANAGER_USER=root

保存退出。

20)遠程分發(fā):

#?回到安裝目錄

cd /opt/software/

#?遠程分發(fā)

scp -r hadoop-3.2.4/ root@ha02:$PWD

scp -r hadoop-3.2.4/ root@ha03:$PWD

21)配置環(huán)境變量:

#?編輯文件

vim /etc/profile.d/hadoophome.sh

#?在文件中添加

export HADOOP_HOME=/opt/software/hadoop-3.2.4

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#?保存退出,生效

source /etc/profile.d/hadoophome.sh

#?測試

hadoop version

22)啟動Zookeeper:

#?啟動

zkServer.sh start

#?查看狀態(tài)

zkServer.sh status

23)在第一個節(jié)點上向Zookeeper注冊節(jié)點:

hdfs zkfc -formatZK

如果出現(xiàn):

Successfully created /hadoop-ha/ns in ZK.

則表示注冊成功。

24)三個節(jié)點啟動JournalNode:

hdfs --daemon start journalnode

25)在第一個節(jié)點上格式化NameNode:

hdfs namenode -format

如果出現(xiàn):

Storage directory /opt/software/hadoop-3.2.4/tmp/hdfs/name has been successfully formatted.

則表示格式化成功。

26)在第一個節(jié)點上啟動NameNode:

hdfs --daemon start namenode

27)在其他節(jié)點上格式化NameNode:

hdfs namenode -bootstrapStandby

如果出現(xiàn):

Storage directory /opt/software/hadoop-3.2.4/tmp/hdfs/name has been successfully formatted.

則表示格式化成功。

28)在其他節(jié)點上啟動NameNode:

hdfs --daemon start namenode

29)三個節(jié)點啟動DataNode:

hdfs --daemon start datanode

30)三個節(jié)點啟動zkfc:

hdfs --daemon start zkfc

31)在第三個節(jié)點上啟動YARN:

start-yarn.sh

32)在第二個節(jié)點上啟動歷史服務器:

mapred --daemon start historyserver

33)查看進程:

jps

#?ha01

Jps

NameNode

DataNode

JournalNode

ResourceManager

NodeManager

DFSZKFailoverController

QuorumPeerMain

#?ha02

Jps

NameNode

DataNode

JournalNode

NodeManager

DFSZKFailoverController

JobHistoryServer

QuorumPeerMain

#?ha03

Jps

NameNode

DataNode

JournalNode

ResourceManager

NodeManager

DFSZKFailoverController

QuorumPeerMain

34)可以通過主機名:9870的方式來查看HDFS的頁面。

35)可以通過主機名:8088的方式來查看YARN的頁面。

柚子快報邀請碼778899分享:Hadoop簡介

http://yzkb.51969.com/

精彩鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19523715.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄