您好,登錄后才能下訂單哦!
本篇內容主要講解“如何使用Centos7系統搭建Hadoop-3.1.4完全分布式集群”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用Centos7系統搭建Hadoop-3.1.4完全分布式集群”吧!
未來的競爭,是數據之爭。大數據本質上是Hadoop的生態群,下面是常用技術詞匯
ETL:代表提取、轉換和加載。
Hadoop:分布式系統基礎架構
HDFS:分布式文件系統
HBase:大數據的NoSQL數據庫
Hive:數據倉庫工具
DAG :第二代計算引擎
Spark:第三代數據處理引擎
Flink:第四代數據處理引擎
MapReduce:最初的并行計算框架
Sqoop:nosql數據庫和傳統數據庫之間傳輸數據的工具
Hive:數據倉庫工具
Storm:分布式實時計算系統
Flume:分布式的海量日志采集系統。
Kafka:分布式發布訂閱消息系統
ElasticSearch:分布式搜索引擎
Kibana:ElasticSearch大數據的圖形化展示工具
Logstash:Elasticsearch 的傳送帶
Neo4j:nosql圖形數據庫
Oozie:工作流調度系統 -YARN:作業調度和集群資源管理的框架
大數據是基于集群的分布式系統。所謂集群是指一組獨立的計算機系統構成的一多處理器系統,它們之間通過網絡實現進程間的通信,讓若干臺計算機聯合起來工作(服務),可以是并行的,也可以是做備份。
分布式 :分布式的主要工作是分解任務,將職能拆解,多個人在一起做不同的事
集群:集群主要是將同一個業務,部署在多個服務器上 ,多個人在一起做同樣的事
Hadoop是Apache旗下的一個用Java語言實現開源軟件框架,是一個存儲和計算大規模數據的軟件平臺。
Hadoop是Apache Lucene創始人 Doug Cutting 創建的,最早起源一個Nutch項目。
2003年Google發表了一篇GFS論文,為大規模數據存儲提供了可行的解決方案。
2004年 Google發表論文MapReduce系統,為大規模數據計算提供可行的解決方案。Nutch的開發人員以谷歌的論文為基礎,完成了相應的開源實現HDFS和MAPREDUCE,并從Nutch中剝離成為獨立項目Hadoop。
到2008年1月,Hadoop成為Apache頂級項目,迎來了它的快速發展期。
如今,國內外的互聯網巨頭基本都在使用Hadoop框架作為大數據解決方案,越來越多的企業將Hadoop 技術作為進入大數據領域的必備技術。
目前,Hadoop發行版本分為開源社區版和商業版。
開源社區版:指由Apache軟件基金會維護的版本,是官方維護的版本體系,版本豐富,兼容性稍差。
商業版:指由第三方商業公司在社區版Hadoop基礎上進行了一些修改、整合以及各個服務組件兼容性測試而發行的版本,比較著名的有cloudera的CDH等。
開源社區版本:一般使用2.x版本系列,3.x版本系列:該版本是最新版本,但是還不太穩定。
廢話不說了,開始今天的主題:使用三臺Centos7系統搭建Hadoop2.X完全分布式集群
去年使用CentOS 7搭建了hadoop3.X分布式集群,由于換了電腦,考慮到電腦安裝了很多前其他的東西,這次是使用二臺Centos7系統搭建Hadoop完全分布式集群,雖然Centos更新到8版本,但是很多大數據學習都是選擇基于Centos7系統搭建。這里不搭建一臺的偽分布式,搭建的版本是目前Haddop3.X穩定的Hadoop-3.1.4。
去年對應的文章教程:
https://blog.csdn.net/weixin_44510615/article/details/104625802
https://blog.csdn.net/weixin_44510615/article/details/106540129
Centos7的下載地址:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso。共4.8g。
在集群搭建前的準備,需要在VMwear Workstation搭建一個Centos7系統,關于搭建過程,由于簡單,這里直接省略。
在通過物理機連接虛擬機的時候,需要有VMnet1和VMnet8兩個虛擬網卡。
如果安裝Vmware沒有VMnet1和VMnet8,據我以前踩的坑,網上說安裝cclear軟件包進行注冊表的刪除,那是不斷刪除下載Vmware,并沒有解決問題,最終采用系統刷機的辦法,得以解決。
因此,搭建虛擬機的前提是,本地主機必須有虛擬本地環境,不然你怎么搞都是白搭。
在這里插入圖片描述
在此,就可以實現本地ping通虛擬機的IP,實現本地和虛擬機的信息連接。
這樣,就可以通過xshell對centos7進行遠程的連接。
在第一次使用Centos7,需要對創建的用戶提供管理員的權限,因此需要使用root賬號進行相關的修改,防止出現node01 不在 sudoers 文件中。此事將被報告。的報錯。
使 用 :wq! 保存退出、
如果遠程連接失敗,應該沒有開發端口和IP地址。需要設置sudo vim /etc/ssh/sshd_config
設置靜態ip,通過ifconfig
重啟網卡
一開始下載速度很慢,需要配置阿里云yum源,下面來源官方文檔,使用的是root賬號。
#配置阿里云yum源 yum install -y wget cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak wget http://mirrors.aliyun.com/repo/Centos-7.repo mv Centos-7.repo CentOS-Base.repo #配置epel源 wget https://mirrors.aliyun.com/repo/epel-7.repo #清除緩存并更新 yum clean all yum makecache yum update
由于 hadoop 框架的啟動是依賴 java 環境,因此需要準備 jdk 環境。目前,OpenJDK 和 Oracle Java 是最主要的兩個 Java 實現。卸載Linux系統原有jdkOpenJDK,然后安裝Oracle Java。
具體博客:https://blog.csdn.net/weixin_44510615/article/details/104425843
并通過設置靜態分別為192.168.147.129,并將三臺Centos7主機名分別設置node01和node02,區別centos7機器。
之前創建用戶名使用node01,發現自己搞錯了,于是把兩個主機的用戶名都設置為hadoop。
關于Centos7修改用戶名:[root@node01 ~]# usermod -l hadoop -d /home/hadoop -m node01。
自此我們有兩臺Centos電腦,在hadoop集群不使用root賬號。
xshell均可連接成功。
[root@node01 ~]# vim /etc/sysconfig/network ######### HOSTNAME=node01 [root@node01 ~]# vim /etc/hosts ######### 192.168.147.128 node01 192.168.147.129 node02 [root@node01 ~]# systemctl stop firewalld [root@node01 ~]# systemctl disable firewalld.service [root@node02 ~]# vim /etc/sysconfig/network ######### HOSTNAME=node02 [root@node02 ~]# vim /etc/hosts ######### 192.168.147.128 node01 192.168.147.129 node02 [root@node02 ~]# systemctl stop firewalld [root@node02 ~]# systemctl disable firewalld.service
實現hadoop賬號自由在node01和node02切換,具體查看我的博客:https://blog.csdn.net/weixin_44510615/article/details/104528001?
下載hadoop下載鏈接:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.4/hadoop-3.1.4.tar.gz
[hadoop@node01 ~]$ ls hadoop-3.1.4.tar.gz module wget-log 公共 模板 視頻 圖片 文檔 下載 音樂 桌面 [hadoop@node01 ~]$ mkdir -p module/hadoop [hadoop@node01 ~]$ tar -zxvf hadoop-3.1.4.tar.gz -C module/hadoop/ [hadoop@node01 ~]$ cd module/hadoop/hadoop-3.1.4/ [hadoop@node01 hadoop-3.1.4]$ sudo mkdir -p data/tmp [hadoop@node01 hadoop-3.1.4]$ ls bin data etc include lib libexec LICENSE.txt NOTICE.txt README.txt sbin share
在配置集群/分布式模式時,需要修改“hadoop/etc/hadoop”目錄下的配置文件,這里僅設置正常啟動所必須的設置項,包括workers、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5個文件,更多設置項可查看官方說明。
[hadoop@node01 hadoop]# vim hadoop-env.sh ############ export JAVA_HOME=/usr/java/jdk1.8.0_281/ [hadoop@node01 hadoop]# vim yarn-env.sh ############ export JAVA_HOME=/usr/java/jdk1.8.0_231
在Master節點的workers文件中指定Slave節點,也就是node02
[hadoop@node01 hadoop]$ vim workers [hadoop@node01 hadoop]$ cat workers node02
請把core-site.xml文件修改為如下內容:
請把hdfs-site.xml文件修改為如下內容:
對于Hadoop的分布式文件系統HDFS而言,一般都是采用冗余存儲,冗余因子通常為3,也就是說,一份數據保存三份副本。但是,本教程只有一個Slave節點作為數據節點,即集群中只有一個數據節點,數據只能保存一份,所以 ,dfs.replication的值還是設置為 1。
請把mapred-site.xml文件修改為如下內容:
[hadoop@node01 hadoop]$ cat mapred-site.xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
請把yarn-site.xml文件修改為如下內容:
在etc/profile增加hadoop路徑:
初始化HDFS,執行 namenode 初始化命令:
hdfs namenode -format
可能出現創建文件夾失敗的問題,這個權限問題,使用 root 賬號使用命令sudo chmod -R a+w /絕對路徑。初始化HDFS失敗都要把之前創建的文件夾給刪除。
直接執行start-all.sh,啟動 Hadoop。此時 node02上的相關服務也會被啟動:
在每臺服務器上使用 jps 命令查看服務進程,
或直接進入 Web-UI 界面進行查看,端口為 9870。可以看到此時有一個可用的 Datanode:
接著可以查看 Yarn 的情況,端口號為 8088 :
至此,Hadoop分布式集群搭建成功。
到此,相信大家對“如何使用Centos7系統搭建Hadoop-3.1.4完全分布式集群”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。