Hadoop集群--(1)搭建

1.發(fā)行版本

?? Hadoop發(fā)行版本分為開源社區(qū)版和商業(yè)版,社區(qū)是指同Apache軟件基金會(huì)維護(hù)的版本,是官方維護(hù)的版本體系,是官方維護(hù)版本體系琉挖。商業(yè)版Hadoop是指由第三方商業(yè)公司在社區(qū)版Hadoop基礎(chǔ)上進(jìn)行了一些修改、整合以及各個(gè)服務(wù)組件兼容性測試面發(fā)行的版本涣脚,比較著名的cloudera的CDH示辈、mapR等

?? Hadoop的版本很特殊,是由多條分支并行的發(fā)展著遣蚀。大的來看分為3個(gè)大的系列版本:1.x矾麻、2.x纱耻、3.x。
?? Hadoop2.0則包含一個(gè)支持NameNode橫向擴(kuò)展的HDFS险耀,一個(gè)資源管理系統(tǒng)YARN和一個(gè)運(yùn)行在YARN上的離線計(jì)算框架MapReduce弄喘。當(dāng)前穩(wěn)定版本:Apache Hadoop 2.7.4

2.集群簡介

?? Hadoop集群具體來說包含兩個(gè)集群:HDFS集群和YARN集群,兩者邏輯上分離甩牺,但物理上常在一起蘑志。
?? HDFS集群負(fù)責(zé)海量數(shù)據(jù)的存儲(chǔ),集群中的角色主要有:
?? NameNode柴灯、DataNode、SecondaryNameNode
?? YARN集群負(fù)責(zé)海量數(shù)據(jù)運(yùn)算時(shí)的資源調(diào)度费尽,集群中的角色主要有:
?? ResourceManager赠群、NodeManager
?? MapReduce是一個(gè)分布式運(yùn)算編程框架,是應(yīng)用程序開發(fā)包旱幼,由用戶按照編程規(guī)范進(jìn)行程序開發(fā)查描,后打包運(yùn)行在HDFS集群上,并且受到Y(jié)ARN集群的資源調(diào)度管理


在這里插入圖片描述

?? 集群模式主要用于生產(chǎn)環(huán)境部署柏卤。會(huì)使用N臺(tái)主機(jī)組成一個(gè)Hadoop集群冬三。 這種部署模式下,主節(jié)點(diǎn)和從節(jié)點(diǎn)分開部署在不同的機(jī)器上
?? 我以3個(gè)節(jié)點(diǎn)為例進(jìn)行搭建缘缚,角色分配如下:

服務(wù)器名 服務(wù)名
node-01 NameNode,DataNode, ResourceManager
node-02 DataNode蛇尚, NodeManager洒放, SecondaryNameNode
node-03 DataNode, NodeManager

3.服務(wù)器準(zhǔn)備

VMware Workstation Pro 14
CentOS 7.4

4.服務(wù)器系統(tǒng)設(shè)置

  • 同步時(shí)間

    • 手動(dòng)同步時(shí)間
      date -s "2019-04-30 10:00"
    • 網(wǎng)絡(luò)同步時(shí)間
      yum install ntpdate ?? # 安裝軟件
      ntpdate cn.pool.ntp.org
  • 設(shè)置主機(jī)名
    hostname node-1

  • 配置IP齐媒、主機(jī)名映射
    vi /etc/hosts

  • 配置ssh免密登陸

    • 生成ssh免登陸密鑰
      ssh-keygen -t rsa (四個(gè)回車)
    • 執(zhí)行完這個(gè)命令后蒲每,會(huì)生成id_rsa(私鑰)、id_rsa.pub(公鑰)
    • 將公鑰拷貝到要免密登陸的目標(biāo)機(jī)器上
      ssh-copy-id node-2
  • 配置防火墻

    • 查看防火墻
      systemctl status firewalld.service
    • 關(guān)閉防火墻
      systemctl stop firewalld.service
    • 關(guān)閉防火墻開機(jī)啟動(dòng)
      systemctl disable firewalld.service

5.軟件安裝

下面安裝步驟中的所有安裝包可在“官網(wǎng)下載地址”下載喻括,也可以直接從網(wǎng)盤下載
網(wǎng)盤地址(提取碼:yeb1)

  • 需要的安裝包
    yum gcc gcc-c++ cmake openssl-devel ncurse-devel vim
    如使用網(wǎng)盤內(nèi)的安裝包邀杏,并且系統(tǒng)和我一樣是centos7.4,也可直接使用hadoop-2.8.5-with-CentOS7.tar.gz包唬血,跳過Hadoop編譯安裝
    tar zxf hadoop-2.8.5-with-CentOS7.tar.gz /root/apps/

  • JDK環(huán)境安裝

    • 下載JDK安裝包并上傳
      官網(wǎng)下載地址
      在這里插入圖片描述
    • 解壓安裝包
      mkdir apps
      tar zxf jdk-8u211-linux-x64.tar.gz -C /root/apps/
    • 配置環(huán)境變量 /etc/profile
      vim /etc/profile
      export JAVA_HOME=/root/apps/jdk1.8.0_211
      export PATH=$PATH:$JAVA_HOME/bin
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      
    • 刷新配置
      soure /etc/profile

  • Hadoop編譯安裝

    • 需要安裝包
      yum gcc gcc-c++ cmake openssl-devel ncurse-devel vim

    • 安裝maven
      官網(wǎng)下載地址

      在這里插入圖片描述

      解壓:
      tar zxf apache-maven-3.6.1-bin.tar.gz -C /usr/local/
      配置環(huán)境變量 /etc/profile

      vim /etc/profile
      export MAVEN_HOME=/usr/local/apache-maven-3.6.1
      export PATH=${PATH}:${MAVEN_HOME}/bin
      

      刷新配置
      soure /etc/profile

    • 安裝protobuf
      軟件下載
      解壓:
      tar zxf protobuf-2.5.0.tar.gz -C /usr/local/
      編譯安裝:
      cd /usr/local/protobuf-2.5.0/
      ./configure
      make && make install
      驗(yàn)證:
      protoc --version

      在這里插入圖片描述

    • Hadoop編譯安裝
      選擇2.8.5 source下載
      官網(wǎng)下載地址

      在這里插入圖片描述

      解壓:
      tar zxf hadoop-2.8.5-src.tar.gz
      編譯
      mvn package -DeskipTests -Pdist,native
      或者
      mvn package -DeskipTests -Pdist,native -Dtar
      等待編譯完成望蜡,時(shí)間很長,可以喝個(gè)茶拷恨,打個(gè)游戲去
      在這里插入圖片描述

      直到看到上面的內(nèi)容那就說明編譯完成了泣特。
      cp -r hadoop-2.8.5-src/hadoop-dist/target/hadoop-2.8.5/ /root/apps/

6.Hadoop安裝包目錄結(jié)構(gòu)

bin: Hadoop最基本的管理腳本和使用腳本的目錄,這些腳本是sbin目錄下管理腳本的基礎(chǔ)實(shí)現(xiàn)挑随,用戶可以直接使用這些腳本管理和使用Hadoop状您。
etc: Hadoop配置文件所在的目錄勒叠,包括core-size.xml、hdfs-size.xml膏孟、mapred-site.xml等從Hadoop1.0繼承來的配置文件和yarn-size.xml等Hadoop2.0新增的配置文件
include: 對(duì)外提供的編程庫頭文件(具體動(dòng)態(tài)庫和靜態(tài)庫在lib目錄中)眯分,這些頭文件均是用c++定義的,通常用于c++程序訪問HDFS或者編寫MapReduce程序
lib: 該目錄包含了Hadoop對(duì)外提供的編程動(dòng)態(tài)庫和靜態(tài)庫柒桑,與include目錄中的頭文件結(jié)合使用
libexec: 各個(gè)服務(wù)對(duì)用的shell配置文件所有的目錄弊决,可用于配置日志輸出、啟動(dòng)參數(shù)(比如JVM參數(shù))等基本信息
sbin: Hadoop管理腳本所在的目錄魁淳,主要包含HDFS和YARN中各類服務(wù)的啟動(dòng)/關(guān)閉腳本
share: Hadoop各個(gè)模塊編譯后的jar包所在的目錄

7.Hadoop配置文件修改

Hadoop安裝主要就是配置文件的修改飘诗,一般在主節(jié)點(diǎn)進(jìn)行修改,完畢后scp下發(fā)給其他各個(gè)從節(jié)點(diǎn)機(jī)器
進(jìn)入文件夾
cd /root/apps/hadoop-2.8.5/etc

7.1.hadoop-env.sh

文件中設(shè)置的是Hadoop運(yùn)行時(shí)需要的環(huán)境變量界逛。JAVA_HOME是必須設(shè)置的昆稿,即使我們當(dāng)前的系統(tǒng)中設(shè)置了JAVA_HOME,它也是不認(rèn)識(shí)的,因?yàn)镠adoop即使是在本機(jī)上執(zhí)行息拜,它也是當(dāng)前的執(zhí)行環(huán)境當(dāng)成遠(yuǎn)程服務(wù)器
vim hadoop-env.sh
export JAVA_HOME=/root/apps/jdk1.8.0_211

7.2.core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node-1:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/root/apps/hadoop-2.8.5/tmp</value>
</property>

7.3.hdfs-site.xml

<!-- 指定HDFS副本的數(shù)量 -->
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node-2:50090</value>
</property>

7.4.mapred-site.xml

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml 

<!-- 指定mr運(yùn)行時(shí)框架溉潭,這里指定在yarn上,默認(rèn)是local -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

7.5.yarn-site.xml

 <!-- 指定 YARN 的老大(ResourceManager)的地址 -->
     <property>
         <name>yarn.resourcemanager.hostname</name>
         <value>node-1</value>
     </property>
     <!-- NodeManager上運(yùn)行的附屬服務(wù)少欺。需要配置成mapreduce_shuffle喳瓣,才可運(yùn)行MapReduce程序默認(rèn)值-->
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>

7.6.slaves文件,里面寫上主機(jī)名

vim slaves

node-1
node-2
node-3

7.7.將hadoop添加到環(huán)境變量

vim /etc/profile

export HADOOP_HOME=/root/apps/hadoop-2.8.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

7.8.下發(fā)配置

環(huán)境變量
scp /etc/profile node-2:/etc/
Hadoop文件
scp -r /root/apps/hadoop-2.8.5/ node-3:/root/apps
域名解析
scp /etc/hosts node-2:/etc/

*關(guān)于Hadoop的配置文件

***-default.xml 這里面配置了Hadoop默認(rèn)的配置選項(xiàng)
如果用戶沒有更改赞别,那么這里的選項(xiàng)將會(huì)生效

***-site.xml 這里配置了用戶需要自定義的配置選項(xiàng)
site中配置選項(xiàng)優(yōu)先級(jí)>Default中的畏陕,如果有配置的話,就會(huì)覆蓋默認(rèn)的配置選項(xiàng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末仿滔,一起剝皮案震驚了整個(gè)濱河市蹭秋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌堤撵,老刑警劉巖仁讨,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異实昨,居然都是意外死亡洞豁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門荒给,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丈挟,“玉大人,你說我怎么就攤上這事志电∈镅剩” “怎么了?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵挑辆,是天一觀的道長例朱。 經(jīng)常有香客問我孝情,道長,這世上最難降的妖魔是什么洒嗤? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任箫荡,我火速辦了婚禮,結(jié)果婚禮上渔隶,老公的妹妹穿的比我還像新娘羔挡。我一直安慰自己,他們只是感情好间唉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布绞灼。 她就那樣靜靜地躺著,像睡著了一般呈野。 火紅的嫁衣襯著肌膚如雪低矮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天际跪,我揣著相機(jī)與錄音商佛,去河邊找鬼喉钢。 笑死姆打,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肠虽。 我是一名探鬼主播幔戏,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼税课!你這毒婦竟也來了闲延?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤韩玩,失蹤者是張志新(化名)和其女友劉穎垒玲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體找颓,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡合愈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了击狮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片佛析。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖彪蓬,靈堂內(nèi)的尸體忽然破棺而出寸莫,到底是詐尸還是另有隱情,我是刑警寧澤档冬,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布膘茎,位于F島的核電站桃纯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏辽狈。R本人自食惡果不足惜慈参,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望刮萌。 院中可真熱鬧驮配,春花似錦、人聲如沸着茸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涮阔。三九已至猜绣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敬特,已是汗流浹背掰邢。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留伟阔,地道東北人辣之。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像皱炉,于是被迫代替她去往敵國和親怀估。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354