国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。

這篇具有很好參考價值的文章主要介紹了Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

文章較長,附目錄,此次安裝是在VM虛擬環(huán)境下進(jìn)行。文章第一節(jié)主要是介紹Hadoop與Hadoop生態(tài)圈并了解Hadoop三種集群的區(qū)別,第二節(jié)和大家一起下載,配置Linux三種集群以及大數(shù)據(jù)相關(guān)所需的jdk,zookeeper,只需安裝配置的朋友可以直接跳到文章第二節(jié)。同時,希望我的文章能幫助到你,如果覺得我的文章寫的不錯,請留下你寶貴的點贊,謝謝。

目錄

一、了解Hadoop

Hadoop

什么是Hadoop

Hadoop的歷史

Hadoop的特點

Hadoop的生態(tài)系統(tǒng)

1.HDFS

2.MapReduce

3.YARN

4.Hive

5.HBase

6.Oozie

7.Mahout

8.spark

9.Flink

10.zookeeper

二、下載安裝包

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

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

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

三、Hadoop集群搭建

一、偽分布式搭建

二、完全分布式搭建

三、高可用搭建+zookeeper

拓展、Hadoop 與?HPCC的區(qū)別


一、了解Hadoop

Hadoop

什么是Hadoop

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。,大數(shù)據(jù)技術(shù)之Hadoop全生態(tài)組件學(xué)習(xí)與搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Hadoop官網(wǎng)介紹

Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),是一個開源的框架,用于編寫和運行分布式應(yīng)用以處理大規(guī)模數(shù)據(jù)。它最初是從Nutch項目中分離出來的,專門負(fù)責(zé)分布式存儲以及分布式運算。Hadoop的核心主要包含HDFS(Hadoop Distributed File System,分布式文件系統(tǒng))和MapReduce(分布式數(shù)據(jù)處理模型)。

HDFS用于分布式存儲海量數(shù)據(jù),而MapReduce則用于數(shù)據(jù)的分布式處理,其本質(zhì)是并行處理。Hadoop的數(shù)據(jù)來源可以是任意類型的,它在處理半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)時與關(guān)系型數(shù)據(jù)庫相比有更好的性能和靈活性。任何類型的數(shù)據(jù)最終都會轉(zhuǎn)化成key/value的形式,這是Hadoop的基本數(shù)據(jù)單元。

Hadoop專為離線和大規(guī)模數(shù)據(jù)分析而設(shè)計,并不適合對少量記錄進(jìn)行隨機在線處理的模式。在實際應(yīng)用中,Hadoop常被用于日志分析等任務(wù),還可以與Hive等工具配合使用以進(jìn)一步提升數(shù)據(jù)處理能力。

總的來說,Hadoop是一個可以更容易開發(fā)和運行處理大規(guī)模數(shù)據(jù)的軟件平臺,用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。

Hadoop的歷史

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。,大數(shù)據(jù)技術(shù)之Hadoop全生態(tài)組件學(xué)習(xí)與搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Hadoop的歷史

Hadoop起源于Apache Nutch項目,始于2002年,是Apache?Lucene的子項目之一?[2]。2004年,Google在“操作系統(tǒng)設(shè)計與實現(xiàn)”(Operating System Design and Implementation,OSDI)會議上公開發(fā)表了題為MapReduce:Simplified Data Processing on Large Clusters(Mapreduce:簡化大規(guī)模集群上的數(shù)據(jù)處理)的論文之后,受到啟發(fā)的Doug Cutting等人開始嘗試實現(xiàn)MapReduce計算框架,并將它與NDFS(Nutch Distributed File System)結(jié)合,用以支持Nutch引擎的主要算法?[2]。由于NDFS和MapReduce在Nutch引擎中有著良好的應(yīng)用,所以它們于2006年2月被分離出來,成為一套完整而獨立的軟件,并被命名為Hadoop。到了2008年年初,hadoop已成為Apache的頂級項目,包含眾多子項目,被應(yīng)用到包括Yahoo在內(nèi)的很多互聯(lián)網(wǎng)公司

Hadoop的特點

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。,大數(shù)據(jù)技術(shù)之Hadoop全生態(tài)組件學(xué)習(xí)與搭建,分布式,linux,hadoop,jdk,vim,zookeeper

?Hadoop的特點

  • 高可靠性:Hadoop采用分布式存儲,將數(shù)據(jù)備份多份并分發(fā)至不同的機器進(jìn)行保存,避免了因機器宕機導(dǎo)致的數(shù)據(jù)丟失,從而保證了數(shù)據(jù)的安全性和可靠性。即使Hadoop的某個計算元素或存儲出現(xiàn)故障,也不會導(dǎo)致數(shù)據(jù)丟失。
  • 高擴展性:Hadoop是一個高度可擴展的系統(tǒng),可以在集群間分配任務(wù)數(shù)據(jù),方便地擴展到數(shù)以千計的節(jié)點。當(dāng)現(xiàn)有集群的資源不足以完成數(shù)據(jù)處理和分析任務(wù)時,可以通過快速擴充集群規(guī)模進(jìn)行擴容,從而加強集群的運算能力。
  • 高效性:Hadoop采用MapReduce編程模型,能夠并行工作,以加快任務(wù)處理速度。它能夠在節(jié)點之間動態(tài)地移動數(shù)據(jù),并保證各個節(jié)點的動態(tài)平衡,因此處理速度非???。相比傳統(tǒng)的單臺機器處理數(shù)據(jù),Hadoop的效率得到了極大的提升。
  • 高容錯性:Hadoop能夠自動保存數(shù)據(jù)的多個副本,當(dāng)某個節(jié)點宕機時,它可以自動地將副本復(fù)制給其他機器,保證數(shù)據(jù)的完整性。同時,Hadoop能夠自動將失敗的任務(wù)重新分配,確保任務(wù)的順利完成。
  • 低成本:Hadoop可以運行在廉價的機器上,集群可以將程序并發(fā)處理,從而降低成本,提高效率,是處理海量數(shù)據(jù)的最佳選擇。

Hadoop的生態(tài)系統(tǒng)

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。,大數(shù)據(jù)技術(shù)之Hadoop全生態(tài)組件學(xué)習(xí)與搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Hadoop的生態(tài)系統(tǒng)

Hadoop生態(tài)系統(tǒng)是大數(shù)據(jù)的核心,同時,Hadoop也是大量工具的合集。它們一起協(xié)同完成特定的任務(wù),組成Hadoop的生態(tài)圈,在這里,我要講的是Hadoop生態(tài)系統(tǒng)的版本為2.X,如上圖所示。

1.HDFS

HDFS是Hadoop生態(tài)系統(tǒng)的核心組成部分之一,它是一個分布式文件系統(tǒng),用于存儲和管理大規(guī)模數(shù)據(jù)集。HDFS的設(shè)計目標(biāo)是提供高吞吐量的數(shù)據(jù)訪問,適合處理超大規(guī)模數(shù)據(jù)集。它通過將數(shù)據(jù)分塊并分布在集群中的多個節(jié)點上來實現(xiàn)數(shù)據(jù)的分布式存儲,同時提供數(shù)據(jù)復(fù)制和容錯機制以確保數(shù)據(jù)的安全性和可靠性。

2.MapReduce

MapReduce是Hadoop的另一個核心組件,它是一種編程模型和執(zhí)行環(huán)境,用于處理和分析大規(guī)模數(shù)據(jù)集。MapReduce將復(fù)雜的數(shù)據(jù)處理任務(wù)分解為兩個主要階段:Map階段和Reduce階段。在Map階段,系統(tǒng)將數(shù)據(jù)劃分為多個子集,并在集群中的節(jié)點上并行處理這些子集。在Reduce階段,系統(tǒng)對Map階段的結(jié)果進(jìn)行匯總和合并,生成最終的處理結(jié)果。這種并行處理的方式大大提高了數(shù)據(jù)處理的速度和效率。

3.YARN

YARN是Hadoop 2.0中引入的一個新的資源管理系統(tǒng),它負(fù)責(zé)集群資源的調(diào)度和管理。YARN將資源管理和應(yīng)用程序管理分離,使得Hadoop集群能夠同時運行多種類型的應(yīng)用程序。YARN通過引入一個全局的資源管理器(ResourceManager)和多個節(jié)點管理器(NodeManager)來實現(xiàn)對集群資源的統(tǒng)一管理和調(diào)度。ResourceManager負(fù)責(zé)接收來自應(yīng)用程序的任務(wù)請求,并根據(jù)集群的資源狀況進(jìn)行任務(wù)調(diào)度和分配。NodeManager則負(fù)責(zé)在節(jié)點上啟動和管理任務(wù)執(zhí)行容器(Container),確保任務(wù)能夠順利執(zhí)行。

4.Hive

Hive是一個構(gòu)建在Hadoop上的數(shù)據(jù)倉庫工具,它提供了類似SQL的查詢語言HQL,使得用戶能夠方便地進(jìn)行數(shù)據(jù)分析和查詢。Hive將結(jié)構(gòu)化數(shù)據(jù)存儲在HDFS中,并通過MapReduce進(jìn)行計算。它使得數(shù)據(jù)分析和處理變得更加簡單和直觀,尤其適合那些熟悉SQL但不熟悉Java編程的數(shù)據(jù)分析師和數(shù)據(jù)科學(xué)家。

5.HBase

HBase是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),它運行在HDFS上,提供了高可靠性、高性能、列存儲、可伸縮、實時讀寫等特性。HBase利用Hadoop的HDFS作為其底層的存儲支持,利用Hadoop的MapReduce來處理HBase中的海量數(shù)據(jù),從而提供高并發(fā)讀寫服務(wù)的能力。

此外,Hadoop生態(tài)系統(tǒng)還不斷擴展和演進(jìn),新的工具和組件不斷涌現(xiàn),以滿足不同領(lǐng)域和場景的需求。這些工具和組件的協(xié)同工作,使得Hadoop生態(tài)系統(tǒng)成為了一個強大而靈活的平臺,能夠處理和分析各種規(guī)模的數(shù)據(jù)集,為數(shù)據(jù)驅(qū)動的業(yè)務(wù)決策提供了有力的支持。

總的來說,Hadoop的生態(tài)系統(tǒng)是一個龐大而復(fù)雜的集合,它提供了豐富的功能和工具,使得用戶可以輕松地構(gòu)建和部署分布式應(yīng)用程序,以處理和分析大規(guī)模數(shù)據(jù)。隨著技術(shù)的不斷發(fā)展,Hadoop生態(tài)系統(tǒng)將繼續(xù)擴展和完善,為更多領(lǐng)域和場景提供強大的數(shù)據(jù)處理和分析能力。

6.Oozie

Oozie是一個Java Web應(yīng)用程序,運行在Java Servlet容器中,用于管理Hadoop作業(yè)的工作流。它使用數(shù)據(jù)庫來存儲工作流定義以及當(dāng)前運行的工作流實例的狀態(tài)和變量。Oozie工作流是通過放置在控制依賴DAG中的一組動作來定義的,這些動作包括Hadoop的Map/Reduce作業(yè)、Pig作業(yè)等,并指定了它們執(zhí)行的順序。

7.Mahout

在Hadoop生態(tài)圈中,Mahout起到了提供可擴展機器學(xué)習(xí)算法實現(xiàn)的重要作用。它幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序,通過利用Hadoop的分布式計算框架,Mahout將原本運行于單機上的機器學(xué)習(xí)算法轉(zhuǎn)化為了MapReduce模式,從而提升了算法可處理的數(shù)據(jù)量和處理性能。這使得Mahout能夠有效地擴展到云中,利用云計算的優(yōu)勢進(jìn)行大規(guī)模數(shù)據(jù)處理和分析。

8.spark

在Hadoop的生態(tài)圈中,Apache Spark擔(dān)當(dāng)著至關(guān)重要的角色。作為一個快速、通用的大規(guī)模數(shù)據(jù)處理引擎,Spark補充并擴展了Hadoop的能力,為用戶提供了更為強大和靈活的數(shù)據(jù)處理工具。

9.Flink

Apache Flink是一個開源的流處理框架,其核心是一個用Java和Scala編寫的分布式流數(shù)據(jù)流引擎,以對無界和有界數(shù)據(jù)流進(jìn)行有狀態(tài)計算。Flink被設(shè)計在所有常見的集群環(huán)境中運行,以內(nèi)存執(zhí)行速度和任意規(guī)模來執(zhí)行計算。

Flink的出現(xiàn)代表了數(shù)據(jù)處理技術(shù)的進(jìn)步。作為第三代大數(shù)據(jù)引擎(第一代為Hadoop,第二代為Spark),F(xiàn)link在實時計算方面有著顯著的優(yōu)勢。雖然其設(shè)計初衷是為實時計算而設(shè)計,但由于其計算引擎的強大,也可以進(jìn)行離線計算

10.zookeeper

Zookeeper是一個開源的分布式協(xié)調(diào)服務(wù),其設(shè)計目標(biāo)是將那些復(fù)雜的且容易出錯的分布式一致性服務(wù)封裝起來,構(gòu)成一個高效可靠的原語集,并以一些簡單的接口提供給用戶使用。它主要為分布式應(yīng)用提供協(xié)調(diào)服務(wù),確保在分布式系統(tǒng)中的各個部分能夠協(xié)同工作。

在Zookeeper中,并沒有沿用傳統(tǒng)的Master/Slave概念,而是引入了Leader、Follower、Observer三種角色。其中,Leader是領(lǐng)導(dǎo)者,負(fù)責(zé)進(jìn)行投票的發(fā)起和決議,更新系統(tǒng)狀態(tài);Follower是跟隨者,用于接收客戶端請求并轉(zhuǎn)發(fā)給Leader,在選舉過程中參與投票;Observer是觀察者,可以接收客戶端請求并轉(zhuǎn)發(fā)給Leader,但不參與投票過程,通常用于提高讀取性能。

二、下載安裝包

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

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。,大數(shù)據(jù)技術(shù)之Hadoop全生態(tài)組件學(xué)習(xí)與搭建,分布式,linux,hadoop,jdk,vim,zookeeper

這里我選擇下載的是一個Linux中的免安裝版本,大家可根據(jù)自己的需求選擇版本,但一定要選擇各組件相互兼容的版本。

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

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。,大數(shù)據(jù)技術(shù)之Hadoop全生態(tài)組件學(xué)習(xí)與搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。,大數(shù)據(jù)技術(shù)之Hadoop全生態(tài)組件學(xué)習(xí)與搭建,分布式,linux,hadoop,jdk,vim,zookeeper

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

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。,大數(shù)據(jù)技術(shù)之Hadoop全生態(tài)組件學(xué)習(xí)與搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。,大數(shù)據(jù)技術(shù)之Hadoop全生態(tài)組件學(xué)習(xí)與搭建,分布式,linux,hadoop,jdk,vim,zookeeper

以上安裝包,選擇自己需要的版本下載即可

三、Hadoop集群搭建

? 我使用的主機、從機名稱分別為BigData01,BigData02,BigData03,Jdk版本為jdk-8u171,? ? Hadoop版本為hadoop-2.7.5,zookeeper版本為zookeeper-3.4.5,解壓到opt下,如有主機從? ? 機名稱,ip,版本,路徑與我不一致的,更改成自己的即可。zookeeper我會在高可用中配置,? ? 其他兩種直接套即可。

#將下載的壓縮包上傳到Downloads中并解壓到opt下

tar -zxvf /root/Downloads/hadoop-2.7.5.tar.gz -C /opt/
tar -zxvf /root/Downloads/jdk-8u171-linux-x64.tar.gz  -C /opt/


vim /etc/profile
#在配置文件結(jié)尾添加以下內(nèi)容
export JAVA_HOME=/opt/jdk1.8.0_171
export HADOOP_HOME=/opt/hadoop-2.7.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#刷新配置文件
source /etc/profile

#查看java jdk、hadoop是否可用
java -version
hadoop version

? 先將主機關(guān)機,克隆兩個從機(右擊主機虛擬機 > 管理 > 克隆)

vim /etc/hosts
#配置hosts文件,刪除原有內(nèi)容,添加主機從機名稱和ip地址(ifconfig查看)
192.168.67.128  BigData01
192.168.67.129  BigData02
192.168.67.130  BigData03
scp /etc/hosts/ root@BigData02:/etc
scp /etc/hosts/ root@BigData03:/etc



#配置ssh免密登錄
ssh-keygen -t rsa		
cd ~/.ssh/	
cat ./id_rsa.pub >> ./authorized_keys
scp ./authorized_keys root@BigData02:/.ssh
scp ./authorized_keys root@BigData03:/.ssh
ssh-copy-id s1的ip
ssh-copy-id s1的ip

? 自此,選擇跟著一搭建就是偽分布式,跟著二搭建就是完全分布式

一、偽分布式搭建

 
vim /opt/hadoop-2.7.5/etc/hadoop/hadoop-env.sh
#在文件結(jié)尾添加下面代碼
export JAVA_HOME=/opt/jdk1.8.0_171


 
vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml
#在<configuration></configuration>里添加下面代碼

	<property>
   		  <name>fs.defaultFS</name>
     		<value>hdfs://BigData01:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp</value>
	</property>



vim /opt/hadoop-2.7.5/etc/hadoop/hdfs-site.xml
#在<configuration></configuration>里添加下面代碼

	<property>
		<name>ds.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp/dfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp/dfs/data</value>
	</property>



cd  /opt/hadoop-2.7.5/sbin
hdfs namenode -format
./start-all.sh
jps

#主機出現(xiàn)NameNode,Datanode即成功

二、完全分布式搭建

vim /opt/hadoopHA/etc/hadoop/hadoop-env.sh
#在文件末尾添加下面代碼
export JAVA_HOME=/opt/jdk1.8.0_171



vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml
#在<configuration></configuration>里添加下面代碼

	<property>
   		  <name>fs.defaultFS</name>
     		<value>hdfs://BigData01:9000</value>
	</property>
	<property>
 		<name>io.file.buffer.size</name>
 		<value>131072</value>
 	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp</value>
	</property>




vim /opt/hadoop-2.7.5/etc/hadoop/hdfs-site.xml
#在<configuration></configuration>里添加下面代碼

	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp/dfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp/dfs/data</value>
	</property>




vim /opt/hadoop-2.7.5/etc/hadoop/yarn-site.xml
#在<configuration></configuration>里添加下面代碼	     
         <property>
       	 	<name>yarn.nodemanager.aux-services</name>
       	 	<value>mapreduce_shuffle</value>
    	 </property>
    	  <property>
       		<name>yarn.resourcemanager.hostname</name>
        		<value>BigData01</value>
     	 </property>




cd /opt/hadoop-2.7.5/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
vim /opt/hadoop-2.7.5/etc/hadoop/mapred-site.xml
#在<configuration></configuration>里添加下面代碼

	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>



scp -r /opt/hadoop-2.7.5/ root@BigData02:/opt/
輸入 yes

scp -r /opt/hadoop-2.7.5/ root@BigData03:/opt/
輸入 yes

cd  /opt/hadoop-2.7.5/sbin
hdfs namenode -format
start-all.sh
#三個節(jié)點分別jps
jps


#主機上出現(xiàn)NodeManager、NameNode、ResourceManager、DataNode
 從機1出現(xiàn)NodeManager、SecondaryNameNode、DataNode
 從機2出現(xiàn)DataNode、NodeManager
 即配置成功


三、高可用搭建+zookeeper

tar zxvf /root/Downloads/jdk-8u171-linux-x64.tar.gz -C/opt/
tar zxvf /root/Downloads/zookeeper-3.4.5.tar.gz -C/opt/
tar zxvf /root/Downloads/hadoop-2.7.5.tar.gz -C/opt/

vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_171
export HADOOP_HOME=/opt/hadoopHA
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

mv /opt/zookeeper-3.4.5/ /opt/zookeeper
mv /opt/hadoop-2.7.5/ /opt/hadoopHA

cd /opt/zookeeper
mkdir data && mkdir logs

#克隆BigData02,BigData03

vim /etc/hosts
192.168.67.128  BigData01
192.168.67.129  BigData02
192.168.67.130  BigData03
#(根據(jù)實際ip改變)
scp -r /etc/hosts @BigData02:/etc/
scp -r /etc/hosts @BigData03:/etc/
#(接yes和密碼)

#免密登錄
ssh-keygen -t rsa
cd ~/.ssh/	
cat ./id_rsa.pub >> ./authorized_keys

scp ./authorized_keys root@BigData02:/.ssh
scp ./authorized_keys root@BigData03:/.ssh

ssh-copy-id BigData02
ssh-copy-id BigData03


echo 1 > /opt/zookeeper/data/myid
cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg

vim /opt/zookeeper/conf/zoo.cfg
修改dataDir=/opt/zookeeper/data
末尾添加:
server.1=BigData01:2888:3888
server.2=BigData02:2888:3888
server.3=BigData03:2888:3888

scp -r /opt/zookeeper root@BigData02:/opt/
scp -r /opt/zookeeper root@BigData03:/opt/

02虛擬機下:echo 2 > /opt/zookeeper/data/myid 
03虛擬機下:echo 3 > /opt/zookeeper/data/myid 


三個節(jié)點下:
systemctl stop firewalld.service
zkServer.sh start
zkServer.sh status

cd /opt/hadoopHA/
mkdir tmp
scp -r /opt/hadoopHA/tmp @BigData02:/opt/hadoopHA/
scp -r /opt/hadoopHA/tmp @BigData03:/opt/hadoopHA/

vim /opt/hadoopHA/etc/hadoop/hadoop-env.sh
#在文件末尾添加下面代碼
export JAVA_HOME=/opt/jdk1.8.0_171



vim /opt/hadoopHA/etc/hadoop/core-site.xml
#在<configuration></configuration>里添加下面代碼        
        <property>
                <!--指定HDFS的通信地址-->
                <name>fs.defaultFS</name>
                <value>hdfs://ns1</value>
        </property>
        <property>
                <!--指定hadoop運行時產(chǎn)生文件的存儲路徑(即臨時目錄)-->
                <name>hadoop.tmp.dir</name>
                <value>/opt/hadoopHA/tmp</value>
        </property>
        <property>
                <!--指定ZooKeeper地址(2181端口參考zoo.cfg配置文件) -->
                <name>ha.zookeeper.quorum</name>
                <value>BigData01:2181,BigData02:2181,BigData03:2181</value>
        </property>




vim /opt/hadoopHA/etc/hadoop/hdfs-site.xml
#在<configuration></configuration>里添加下面代碼       
        <property>
                <!--指定HDFS的nameservices為ns1,需要與core-site.xml保持一致-->
                <name>dfs.nameservices</name>
                <value>ns1</value>
        </property>
        <property>
                <!--ns1下面設(shè)置2個NameNode,分別是nn1,nn2-->
                <name>dfs.ha.namenodes.ns1</name>
                <value>nn1,nn2</value>
        </property>

        <property>
                <!--設(shè)置nn1的RPC通信地址-->
                <name>dfs.namenode.rpc-address.ns1.nn1</name>
                <value>BigData01:9000</value>
        </property>
        <property>
                <!--設(shè)置nn1的http通信地址-->
                <name>dfs.namenode.http-address.ns1.nn1</name>
                <value>BigData01:50070</value>
        </property>

        <property>
                <!--設(shè)置nn2的RPC通信地址-->
                <name>dfs.namenode.rpc-address.ns1.nn2</name>
                <value>BigData02:9000</value>
        </property>
        <property>
                <!--設(shè)置nn2的http通信地址-->
                <name>dfs.namenode.http-address.ns1.nn2</name>
                <value>BigData02:50070</value>
        </property>

        <property>
                <!--設(shè)置NameNode的元數(shù)據(jù)在JournalNode上的存放位置-->
                <name>dfs.namenode.shared.edits.dir</name>
                <value>qjournal://BigData01:8485;BigData02:8485;BigData03:8485/ns1</value>
        </property>
        <property>
                <!--指定JournalNode存放edits日志的目錄位置-->
                <name>dfs.journalnode.edits.dir</name>
                <value>/opt/hadoopHA/tmp/dfs/journal</value>
        </property>

        <property>
                <!--開啟NameNode失敗自動切換-->
                <name>dfs.ha.automatic-failover.enabled</name>
                <value>true</value>
        </property>
        <property>
                <!--配置失敗自動切換實現(xiàn)方式-->
                <name>dfs.client.failover.proxy.provider.ns1</name>
                <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>
        <property>
                <!--配置隔離機制-->
                <name>dfs.ha.fencing.methods</name>
                <value>sshfence</value>
        </property>
        <!--設(shè)置使用隔離機制時需要的SSH免登錄-->
        <property>
                <name>dfs.ha.fencing.ssh.private-key-files</name>
                <value>/home/hadoop/.ssh/id_rsa</value>
        </property>





vim /opt/hadoopHA/etc/hadoop/yarn-site.xml
#在<configuration></configuration>里添加下面代碼      
        <property>
                <!--設(shè)置resourcemanager在哪個節(jié)點上-->
                <name>yarn.resourcemanager.hostname</name>
                <value>BigData01</value>
        </property>
        <property>
                <!--Reducer取數(shù)據(jù)的方法是mapreduce_shuffle-->
                <!--指定nodemanager啟動時加載server的方式-->
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>




cd /opt/hadoopHA/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
cd
vim /opt/hadoopHA/etc/hadoop/mapred-site.xml
        
        <property>
                <!--指定MR(mapreduce)框架使用YARN方式-->
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>



vim /opt/hadoopHA/etc/hadoop/slaves
BigData01
BigData02
BigData03


scp -r /opt/hadoopHA root@BigData02:/opt/
scp -r /opt/hadoopHA root@BigData03:/opt/


三個節(jié)點啟動zookeeper,查看狀態(tài)
zkServer.sh start
zkServer.sh status
jps查看進(jìn)程
hadoop-daemon.sh start journalnode


主節(jié)點下:
hdfs namenode -format
scp -r /opt/hadoopHA/tmp/dfs @BigData02:/opt/hadoopHA/tmp/
hadoop-daemon.sh start namenode
另外一個namenode節(jié)點下(從節(jié)點1):
hdfs namenode -bootstrapStandby
hadoop-daemon.sh start namenode


主節(jié)點下:
hdfs zkfc -formatZK 格式化
啟動服務(wù):
start-dfs.sh
start-yarn.sh
查看進(jìn)程:
jps


jps下
BigData01 -- NameNode、DataNode、NodeManager、ResourceManager、
		JournalNode、QuorumPeerMain、DFSZKFailoverController

BigData02 -- NameNode、DataNode、NodeManager、
		JournalNode、QuorumPeerMain、DFSZKFailoverController

BigData03 -- 	      DataNode、NodeManager、
		JournalNode、QuorumPeerMain
即可安裝成功


關(guān)機前關(guān)閉集群服務(wù):
stop-yarn.sh
stop-dfs.sh


瀏覽器打開查看
http://192.168.67.130:50070/
http://192.168.67.128:50070
根據(jù)實際ip地址查看

拓展、Hadoop 與?HPCC的區(qū)別

  • 架構(gòu)與中間件
    • Hadoop是一個開源的分布式計算平臺,其核心組件包括HDFS(分布式文件系統(tǒng))和MapReduce(編程模型)。它通常通過命令行或API與應(yīng)用程序進(jìn)行交互。
    • HPCC則提供了更為豐富的中間件,包括ECL代碼倉庫、ECL服務(wù)器、ESP服務(wù)器(提供認(rèn)證、日志記錄等功能)以及Dali服務(wù)器(用作存儲任務(wù)工作單元信息和為分布式文件系統(tǒng)提供名字服務(wù))等。這些中間件為HPCC提供了更多的靈活性和功能。
  • 擴展性
    • Hadoop在理論上可以擴展到數(shù)千個節(jié)點,但在實際部署中,隨著集群規(guī)模的增大,管理和維護(hù)的復(fù)雜性也會增加。
    • HPCC被設(shè)計為可以靈活地運行在一個到幾千個節(jié)點上,并且在實際應(yīng)用中,較小的節(jié)點數(shù)量就可以提供與Hadoop集群相當(dāng)?shù)奶幚硇阅?。然而,集群的大小可能取決于分布式文件系統(tǒng)的整體存儲需求。
  • 性能
    • 在基準(zhǔn)測試中,HPCC在某些場景下表現(xiàn)出比Hadoop更高的性能。例如,在排序基準(zhǔn)測試中,HPCC平臺在高性能的400個節(jié)點系統(tǒng)上102秒內(nèi)對1TB的數(shù)據(jù)完成排序,而相同硬件配置下的Hadoop則需要25分鐘28秒。
    • 然而,性能的比較也取決于具體的任務(wù)、數(shù)據(jù)分布以及硬件配置等因素,因此在實際應(yīng)用中可能會有所不同。
  • 生態(tài)系統(tǒng)與集成
    • Hadoop擁有龐大的生態(tài)系統(tǒng)和豐富的工具集,包括Hive(數(shù)據(jù)倉庫工具)、Pig(數(shù)據(jù)流語言)、HBase(分布式數(shù)據(jù)庫)等,使得用戶可以方便地進(jìn)行各種數(shù)據(jù)處理和分析任務(wù)。
    • HPCC也提供了一套工具和接口,用于管理和監(jiān)視其配置和環(huán)境。然而,與Hadoop相比,其生態(tài)系統(tǒng)可能相對較小,工具和集成選項可能有限。
  • 社區(qū)與支持
    • Hadoop作為開源項目的代表,擁有龐大的社區(qū)和廣泛的行業(yè)支持。這使得Hadoop在問題解決、功能更新和文檔完善等方面通常能夠得到及時的響應(yīng)。
    • HPCC的社區(qū)規(guī)模和支持情況可能因具體產(chǎn)品而異。在選擇平臺時,了解社區(qū)的活躍度和支持力度是非常重要的。

Hadoop的優(yōu)勢:

  • 廣泛的行業(yè)認(rèn)可和應(yīng)用:Hadoop已經(jīng)在多個行業(yè)得到了廣泛的應(yīng)用,包括金融、電商、醫(yī)療、科研等。眾多企業(yè)已經(jīng)成功地將Hadoop集成到他們的數(shù)據(jù)分析和處理流程中,并取得了顯著的成果。這種廣泛的行業(yè)認(rèn)可和應(yīng)用進(jìn)一步推動了Hadoop的普及和發(fā)展。
  • 可擴展性和靈活性:Hadoop的分布式架構(gòu)使其能夠處理大規(guī)模的數(shù)據(jù)集,并且具有良好的可擴展性。無論是處理結(jié)構(gòu)化、半結(jié)構(gòu)化還是非結(jié)構(gòu)化數(shù)據(jù),Hadoop都能提供高效的解決方案。同時,Hadoop的靈活性也使得它能夠適應(yīng)不同的業(yè)務(wù)場景和需求。
  • 成本效益:Hadoop是一個開源項目,可以免費使用和修改。這使得企業(yè)能夠以較低的成本構(gòu)建和維護(hù)大數(shù)據(jù)處理平臺。此外,Hadoop的硬件要求相對較低,可以使用普通的商用硬件進(jìn)行部署,進(jìn)一步降低了企業(yè)的成本負(fù)擔(dān)。

總結(jié):雖然Hadoop比HPCC來說,有強大的生態(tài)系統(tǒng)、廣泛的行業(yè)認(rèn)可、可擴展性和靈活性以及成本效益等方面的優(yōu)勢,但選擇適合的大數(shù)據(jù)處理和分析工具時,應(yīng)根據(jù)具體的需求、數(shù)據(jù)規(guī)模、處理速度要求以及資源限制等因素進(jìn)行綜合考慮。文章來源地址http://www.zghlxwxcb.cn/news/detail-841601.html

到了這里,關(guān)于Linux-一篇文章,速通Hadoop集群之偽分布式,完全分布式,高可用搭建(附zookeeper,jdk介紹與安裝)。的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【分布式和微服務(wù)1】一篇文章詳細(xì)了解分布式和微服務(wù)的基本概念

    【分布式和微服務(wù)1】一篇文章詳細(xì)了解分布式和微服務(wù)的基本概念

    ?? 通俗一點說,高可用的意思是:在 高 并發(fā)的情況下,系統(tǒng)仍然是 可用 的 ?? 高可用的目的:保障業(yè)務(wù)的連續(xù)性( 實現(xiàn)在用戶眼里,業(yè)務(wù)永遠(yuǎn)是正常對外提供服務(wù)的 ) ?? ?? 【上圖】一個 SpringBoot 項目( apple.jar )被部署到服務(wù)器上運行,可向其發(fā)送 網(wǎng)絡(luò)請求 對 數(shù)據(jù)

    2024年02月02日
    瀏覽(28)
  • 一篇文章教會你什么是Linux進(jìn)程控制

    一篇文章教會你什么是Linux進(jìn)程控制

    在Linux上一篇文章進(jìn)程概念詳解我們提到了在linux中fork函數(shù)是非常重要的函數(shù),它從已存在進(jìn)程中創(chuàng)建一個新進(jìn)程。新進(jìn)程為子進(jìn)程,而原進(jìn)程為父進(jìn)程。 返回值 自進(jìn)程中返回0,父進(jìn)程返回子進(jìn)程id,出錯返回-1 1.1那么fork創(chuàng)建子進(jìn)程時,操作系統(tǒng)都做了什么呢? 當(dāng)在操作系

    2024年02月13日
    瀏覽(33)
  • 如何真正認(rèn)識 Linux 系統(tǒng)結(jié)構(gòu)?這篇文章告訴你

    如何真正認(rèn)識 Linux 系統(tǒng)結(jié)構(gòu)?這篇文章告訴你

    ?? ? Linux 內(nèi)核 內(nèi)核是操作系統(tǒng)的核心,具有很多最基本功能,它負(fù)責(zé)管理系統(tǒng)的進(jìn)程、內(nèi)存、設(shè)備驅(qū)動程序、文件和網(wǎng)絡(luò)系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。 Linux 內(nèi)核由如下幾部分組成:內(nèi)存管理、進(jìn)程管理、設(shè)備驅(qū)動程序、文件系統(tǒng)和網(wǎng)絡(luò)管理等。如圖: ? 系統(tǒng)調(diào)用接

    2024年02月01日
    瀏覽(26)
  • 通過一篇文章讓你了解Linux的重要性

    通過一篇文章讓你了解Linux的重要性

    Linux是一種自由和開放源代碼的操作系統(tǒng),由林納斯·托瓦茲于1991年首次發(fā)布。它基于Unix,具有模塊化設(shè)計,支持多任務(wù)和多用戶,能在多種硬件平臺上運行。Linux系統(tǒng)在全球范圍內(nèi)得到廣泛應(yīng)用,包括服務(wù)器、移動設(shè)備、嵌入式系統(tǒng)等領(lǐng)域。其強大的功能、穩(wěn)定性和安全性

    2024年04月15日
    瀏覽(25)
  • 【操作系統(tǒng)】一篇文章帶你理清Linux中的權(quán)限!

    【操作系統(tǒng)】一篇文章帶你理清Linux中的權(quán)限!

    ?? 乀艨ic: 個人主頁 ??說是高產(chǎn)但是還是過了快半個月才更新() ??來看看這次的博客吧~ 上次注意到發(fā)Linux相關(guān)的點擊量比其他的多很多,那就最近多更幾篇Linux相關(guān)的吧() 注:Linux的不同發(fā)行版本的指令可能有所不同,本次是按照CentOS7的標(biāo)準(zhǔn)來進(jìn)行追述的。 在談

    2024年04月11日
    瀏覽(24)
  • Linux MeterSphere測試平臺遠(yuǎn)程訪問你不會?來試試這篇文章

    Linux MeterSphere測試平臺遠(yuǎn)程訪問你不會?來試試這篇文章

    ?? 鴿芷咕 :個人主頁 ??? 個人專欄 :《粉絲福利》 《C語言進(jìn)階篇》 ??生活的理想,就是為了理想的生活! MeterSphere 是一站式開源持續(xù)測試平臺, 涵蓋測試跟蹤、接口測試、UI 測試和性能測試等功能,全面兼容 JMeter、Selenium 等主流開源標(biāo)準(zhǔn),有效助力開發(fā)和測試團(tuán)隊充分

    2024年02月06日
    瀏覽(25)
  • 初識Linux(上),看了這篇文章,媽媽再也不用擔(dān)心我Linux找不到門了。

    初識Linux(上),看了這篇文章,媽媽再也不用擔(dān)心我Linux找不到門了。

    “我會定期分享我的學(xué)習(xí)經(jīng)驗,也歡迎大家留言和交流,讓我們共同學(xué)習(xí)和進(jìn)步!感謝大家的支持,讓我們一起開啟這段充滿技術(shù)樂趣的旅程吧!” 系列文章 初識Linux(上).媽媽再也不用擔(dān)心我Linux找不到門了。 初識Linux(中).媽媽再也不用擔(dān)心我Linux找不到門了。 初識Linux(下

    2024年02月05日
    瀏覽(22)
  • 【Linux】進(jìn)程的狀態(tài)(運行、阻塞、掛起)詳解,揭開孤兒進(jìn)程和僵尸進(jìn)程的面紗,一篇文章萬字講透!?。?!進(jìn)程的學(xué)習(xí)②

    【Linux】進(jìn)程的狀態(tài)(運行、阻塞、掛起)詳解,揭開孤兒進(jìn)程和僵尸進(jìn)程的面紗,一篇文章萬字講透?。。。∵M(jìn)程的學(xué)習(xí)②

    目錄 1.進(jìn)程排隊 時間片 時間片的分配 結(jié)構(gòu)體內(nèi)存對齊 偏移量補充 對齊規(guī)則? 為什么會有對齊 2.操作系統(tǒng)學(xué)科層面對進(jìn)程狀態(tài)的理解 2.1進(jìn)程的狀態(tài)理解 ①我們說所謂的狀態(tài)就是一個整型變量,是task_struct中的一個整型變量 ②.狀態(tài)決定了接下來的動作 2.2運行狀態(tài) 2.3 阻塞狀

    2024年04月14日
    瀏覽(16)
  • 一篇文章完成Hbase入門

    一篇文章完成Hbase入門

    HBase是一種分布式、可擴展、支持海量數(shù)據(jù)存儲的NoSQL數(shù)據(jù)庫。 1、數(shù)據(jù)模型結(jié)構(gòu) 邏輯上,HBase的數(shù)據(jù)模型同關(guān)系型數(shù)據(jù)庫很類似,數(shù)據(jù)存儲在一張表中,有行有列。但從HBase的底層物理存儲結(jié)構(gòu)(K-V)來看,HBase更像是一個multi-dimensional map(多維地圖) HBase邏輯結(jié)構(gòu) 2、物理存

    2024年01月16日
    瀏覽(21)
  • 一篇文章學(xué)會高級IO

    一篇文章學(xué)會高級IO

    IO是數(shù)據(jù)在傳輸時的一種動作描述,分為輸入數(shù)據(jù)(I)和輸出數(shù)據(jù)(O)兩種動作。和一般而言,IO都需要維護(hù)一個收發(fā)數(shù)據(jù)的緩沖區(qū),例如read、recv函數(shù)和write、send函數(shù),它們的數(shù)據(jù)緩沖區(qū)都是由系統(tǒng)幫助創(chuàng)建的。對于C語言中常用到的scanf函數(shù)和printf函數(shù),同樣不需要用戶自

    2024年02月05日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包