hadoop集群配置

環(huán)境:hadoop 3.1.1
jdk1.8
centos7.5
注意:hadoop3.1.1官方文檔明確需要jdk1.7以上版本司草,但是jdk10以上的版本目錄結(jié)構(gòu)發(fā)生了變化兼丰,jre目錄沒有了山叮,所以在第一次嘗試jdk13時(shí)候好像沒有啟動(dòng),并不知道是配置的錯(cuò)誤還是Hadoop不能用。
centos 7.5 中自帶了jdk是1.8版本的柬姚,但是由于不太方便,所以選擇重新安裝庄涡,在這個(gè)過程中涉及到j(luò)dk環(huán)境變量的設(shè)置的問題量承,在這篇文檔中一并給與解答,由于自己也是初次配置Hadoop集群穴店,有很大地方還不是很明白撕捍,加上官方文檔寫的很簡單,在搭建過程中參照了清華大學(xué)出版社泣洞,王雪迎的《Hadoop構(gòu)建數(shù)據(jù)倉庫實(shí)踐》中的部分內(nèi)容忧风,將搭建的過程整理如下:

網(wǎng)絡(luò)環(huán)境

使用的虛擬機(jī)搭建兩個(gè)節(jié)點(diǎn),一個(gè)master一個(gè)slave1
ip分別是192.168.56.101/24 192.168.56.102/24 static ip

1.增加host

分別在虛擬機(jī)/etc/hosts文件中增加

192.168.56.101 master
192.168.56.102 slave1

加入后重新登錄linux終端斜棚,可以看到shell提示發(fā)生變化

[grid@master ~]$ 

2.增加用戶(在所有虛擬機(jī)上操作)

[root@master grid]# useradd  -d /home/grid -m grid     #增加grid用戶和目錄
[root@master grid]# usermod -a -G root          #加入root用戶組
[root@master grid]# echo XXXXXXX|passwd grid --stdin 

3.配置java環(huán)境(在所有虛擬機(jī)上操作)

下載jdk 本人下載的 jdk-8u231-linux-x64.tar.gz阀蒂,使用root用戶解壓到/usr/local/目錄下(根據(jù)個(gè)人情況定),而后修改/etc/profile文件(此文件開機(jī)系統(tǒng)自動(dòng)讀取弟蚀,若改過之后立即生效可使用source命令)

#####java configure#######20191206######
export JAVA_HOME=/usr/local/jdk1.8.0_231
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
###這里一定確保上面的文件都有蚤霞,而且目錄準(zhǔn)確
[root@master grid]# source /etc/profile
[root@master grid]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
###表示java環(huán)境配置已經(jīng)生效

4. 配置SSH免密登錄(切換至grid用戶)

在master/slave1上

##進(jìn)入grid用戶home目錄
[grid@master grid]$ssh-keygen -t rsa
#然后一路回車,使用空字符串生成密鑰
[grid@master grid]$ cd ~/.ssh/
[grid@master grid]$ ssh-copy-id 192.168.56.101
[grid@master grid]$ scp /home/grid/.ssh/authorized_keys 192.168.56.102:/home/grid/.ssh/
#上述拷貝密鑰對的過程在每臺主機(jī)上都要進(jìn)行义钉,確保每臺主機(jī)上都有其他的密鑰對昧绣,能夠正常通信
[grid@master ~]$ ssh slave1
Last login: Sat Dec  7 23:13:52 2019 from master

Hadoop安裝

確保自己登陸在grid用戶下

1.準(zhǔn)備工作

#在/home/grid目錄下
[grid@master ~]$ tar -zxf hadoop-3.1.1.tar.gz
#解壓出來的目錄將作為我們hadoop的主目錄,請確保/home有足夠的空間
#建立工作目錄捶闸,tmp夜畴、data 、hdfs和name
[grid@master ~]$ cd hadoop-3.1.1/
[grid@master ~]$ mkdir tmp hdfs hdfs/data hdfs/name
#這幾個(gè)目錄的說明在后面的配置文件中進(jìn)行說明

2.修改配置文件

配置文件主要以xml文件形式存在删壮,這也是java環(huán)境常用的數(shù)據(jù)存儲格式贪绘,包括oracle數(shù)據(jù)庫,也可以導(dǎo)成xml格式進(jìn)行數(shù)據(jù)存儲央碟,包括core-site.xml核心配置文件税灌,hdfs-site.xml hdfs存儲的配置文件,yarn-site.xml 資源管理的配置文件,mapred-site.xml文件(mapreduce)菱涤,以及最后的workers文件(在文中提到的書中使用的Hadoop是v2版本的苞也,他使用的是slaves文件)

core-site.xml

目錄 :/home/grid/hadoop-3.1.1/etc/hadoop

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.56.101:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/grid/hadoop-3.1.1/tmp</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  </property>
</configuration>

fs.defaultFS:默認(rèn)文件系統(tǒng)名稱,URL形式
hadoop.tmp.dir:臨時(shí)文件目錄
io.file.buffer.size:io文件緩沖區(qū)粘秆,是內(nèi)存page(4K)大小的整數(shù)倍

hdfs-site.xml

<configuration>
 <!-- dfs.namenode.name.dir namenode存儲fsimage文件如迟,文件會(huì)存儲在每一個(gè)節(jié)點(diǎn)的目錄上 -->
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/grid/hadoop-3.1.1/hdfs/name</value>
  </property>
<!-- dfs.datanode.data.dir存儲數(shù)據(jù)塊,必須創(chuàng)建文件夾  -->
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/grid/hadoop-3.1.1/hdfs/data</value>
  </property>
<!-- dfs.replication重復(fù)的份數(shù)  -->
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
<!-- dfs.namenode.secondary.http-address   secondarynamenode的服務(wù)地址攻走,這個(gè)只有一個(gè)namenode在本機(jī)上配置殷勘,端口不一樣,若有多個(gè)陋气,填寫另一個(gè)的地址-->
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>192.168.56.101:9001</value>
  </property>
<!-- dfs.namenode.servicerpc-address HDFS通信的RPC地址劳吠,改參數(shù)必須設(shè)置,如果設(shè)置該值巩趁,備份節(jié)點(diǎn)痒玩、數(shù)據(jù)節(jié)點(diǎn)和其他服務(wù)將會(huì)連接到指定的位置-->
  <property>
    <name>dfs.namenode.servicerpc-address</name>
    <value>192.168.56.101:10000</value>
  </property>
<!-- dfs.webhdfs.enabled 這個(gè)就是開啟webhdfs功能-->
  <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
  </property>
</configuration>

yarn-site.xml

<configuration>
<!-- yarn.nodemanager.aux-services Nodemanage上的附屬服務(wù),需要配置mapreduce_shuffle才能運(yùn)行mapreduce-->
  <property>
    <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>
<!-- yarn.resourcemanager.address resourcemanager的地址议慰,客戶端向這個(gè)地址發(fā)送命令蠢古,提交應(yīng)用程序和殺死應(yīng)用程序-->
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>192.168.56.101:8032</value>
  </property>
<!-- scheduler的地址,客戶端向這個(gè)地址發(fā)送命令别凹,申請資源/釋放資源-->
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>192.168.56.101:8030</value>
  </property>
<!-- tracker的地址草讶,客戶端向這個(gè)地址發(fā)送命令,匯報(bào)心跳炉菲,領(lǐng)取任務(wù)-->
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>192.168.56.101:8031</value>
  </property>
<!-- admin的地址堕战,管理員通過這個(gè)地址向resourcemanager發(fā)送管理指令-->
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>192.168.56.101:8033</value>
  </property>
<!-- webapp的地址,用戶通過這個(gè)地址查看集群狀態(tài)-->
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>192.168.56.101:8088</value>
  </property>
<!-- NodeManager總的可用物理內(nèi)存拍霜,不能小于1024-->
  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>1024</value>
</property>
</configuration>

mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>192.168.56.101:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>192.168.56.101:19888</value>
  </property>
</configuration>

workers

slave1
#有幾個(gè)slave寫幾個(gè)

hadoop-env.sh

##增加嘱丢,就是java環(huán)境的
export JAVA_HOME=/usr/local/jdk1.8.0_231

yarn-env.sh

##增加,就是java環(huán)境的
export JAVA_HOME=/usr/local/jdk1.8.0_231

至此祠饺,hadoop所有的配置文件完成越驻,將hadoop這個(gè)包復(fù)制到每一個(gè)客戶端上

/etc/profile最關(guān)鍵的一步,所有的主機(jī)都要執(zhí)行

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
export HADOOP_HOME=/home/grid/hadoop-3.1.1
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
source /etc/profile

初始化及運(yùn)行 master用戶

[grid@master hadoop]$ hdfs namenode -format
[grid@master hadoop]$ start-dfs.sh
[grid@master hadoop]$ start-yarn.sh 
image.png

檢驗(yàn)

[grid@master hadoop]$ jps
5409 ResourceManager
4966 NameNode
8969 Jps
5164 SecondaryNameNode
[grid@slave1 ~]$ jps
2579 NodeManager
4713 Jps
2461 DataNode

問題解決

1.關(guān)于java error:priority的問題

因?yàn)橹鞍惭b過jdk13對相關(guān)包進(jìn)行編譯道偷,有些內(nèi)容在安裝jdk8后出現(xiàn)錯(cuò)誤缀旁,就是版本不一致的問題,需要重新將namenode上的配置文件進(jìn)行復(fù)制勺鸦。

2.關(guān)于多次format以及系統(tǒng)重啟后無法啟動(dòng)datanode并巍,或者datanode啟動(dòng)后啟動(dòng)yarn后自動(dòng)停掉

自己排查的是因?yàn)镠DFS文件clusterID對應(yīng)不上,可以登錄192.168.56.101:9870换途,檢查clusterID懊渡,而后對應(yīng)datanode中的/home/grid/hadoop-3.1.1/hdfs/data/current/VERSION文件中的

clusterID=CID-709cdb20-5a87-4231-bdeb-2bf0911bb8c0
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嘶窄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子距贷,更是在濱河造成了極大的恐慌,老刑警劉巖吻谋,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忠蝗,死亡現(xiàn)場離奇詭異,居然都是意外死亡漓拾,警方通過查閱死者的電腦和手機(jī)阁最,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骇两,“玉大人速种,你說我怎么就攤上這事〉颓В” “怎么了配阵?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長示血。 經(jīng)常有香客問我棋傍,道長,這世上最難降的妖魔是什么难审? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任瘫拣,我火速辦了婚禮,結(jié)果婚禮上告喊,老公的妹妹穿的比我還像新娘麸拄。我一直安慰自己,他們只是感情好黔姜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布拢切。 她就那樣靜靜地躺著,像睡著了一般地淀。 火紅的嫁衣襯著肌膚如雪失球。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天帮毁,我揣著相機(jī)與錄音实苞,去河邊找鬼。 笑死烈疚,一個(gè)胖子當(dāng)著我的面吹牛黔牵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播爷肝,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼猾浦,長吁一口氣:“原來是場噩夢啊……” “哼陆错!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起金赦,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤音瓷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后夹抗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绳慎,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年漠烧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了杏愤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡已脓,死狀恐怖珊楼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情度液,我是刑警寧澤厕宗,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站恨诱,受9級特大地震影響媳瞪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜照宝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一蛇受、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧厕鹃,春花似錦兢仰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呼渣。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锰瘸,已是汗流浹背遏暴。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工霍转, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留偿衰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓漫拭,卻偏偏與公主長得像亚兄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子采驻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Hadoop 集群的安裝配置大致為如下流程: 選定一臺機(jī)器作為 Master 在 Master 節(jié)點(diǎn)上配置 had...
    Spike_3154閱讀 5,292評論 0 1
  • 一审胚、系統(tǒng)參數(shù)配置優(yōu)化 1匈勋、系統(tǒng)內(nèi)核參數(shù)優(yōu)化配置 修改文件/etc/sysctl.conf,添加如下配置膳叨,然后執(zhí)行s...
    張偉科閱讀 3,754評論 0 14
  • 配置環(huán)境 本文以centos7 64 位虛擬機(jī) 1臺主節(jié)點(diǎn)2G 2核心洽洁,3臺slave 1G 1核 其中一臺充當(dāng)主...
    阿太哥閱讀 246評論 0 1
  • 前言 Hadoop在大數(shù)據(jù)技術(shù)體系中的地位至關(guān)重要,Hadoop是大數(shù)據(jù)技術(shù)的基礎(chǔ)菲嘴,對Hadoop基礎(chǔ)知識的掌握的...
    piziyang12138閱讀 1,968評論 0 3
  • 卷二 鐘儀(意譯) 鐘儀诡挂,楚國人,被拘禁在晉國临谱。 晉景公視察軍俘營,見到鐘儀奴璃, 問他身旁的人悉默,答曰:“是個(gè)樂官」赌拢”...
    原麈閱讀 1,266評論 8 38