13. apache hadoop 4臺分布式集群搭建-part1

生產(chǎn)環(huán)境磁盤規(guī)劃問題

首先我們datanode節(jié)點(diǎn)的數(shù)據(jù)是否需要做RAID??
RAID的很大一部分意義是冗余的功能(RAID0除外),但是我們的HADOOP本身就是副本,自帶冗余功能啊,所以HADOOP不建議我們做RAID,可以基于JBOD模型將多個磁盤串聯(lián)成單個設(shè)備即可

jbod:多塊硬盤合并出來的一個存儲空間,當(dāng)?shù)匾粔K硬盤存滿了,會繼續(xù)存到第2塊,一次類推,當(dāng)一塊硬盤損壞,所有數(shù)據(jù)丟失,HADOOP 推薦單盤JBOD

raid0:區(qū)別就是如果你一塊硬盤1T,另一塊硬盤500G,JBOD之后就是1.5T,速度不變。
但是如果你raid 0,那總?cè)萘恐挥?T,相當(dāng)于500Gx2,以最小的容量硬盤大小來決定,速度大幅提高。

生產(chǎn)環(huán)境中我司datanode服務(wù)器不支持JBOD模式,所以采取了單盤做raid0的方式

datanode節(jié)點(diǎn):JBOD或者單盤RAID0
namenode節(jié)點(diǎn):namenode存儲元數(shù)據(jù),可靠性要求極高,所以我們一定要做raid

主從節(jié)點(diǎn)通信問題

如果我們想在HADOOP的主控節(jié)點(diǎn)上使用hadoop用戶使用命令直接控制從節(jié)點(diǎn),需要怎么辦??
ok,那么我們需要打通ssh-key
具體配置方式為:
ssh免密詳解

真實(shí)HADOOP 結(jié)構(gòu)

hadoop結(jié)構(gòu)

說明一下 根據(jù)mapreduce的”數(shù)據(jù)本地優(yōu)化“”,(data locality optimization)原理,數(shù)據(jù)的存儲節(jié)點(diǎn)應(yīng)該同時(shí)是數(shù)據(jù)的計(jì)算分析節(jié)點(diǎn)

搭建

1.確定ip 與 角色

我們選擇四臺設(shè)備:

  • 10.1.10.196 NN SNN Resourcemanager
  • 10.1.10.197 Datanode&nodemanager
  • 10.1.10.198 Datanode&nodemanager
  • 10.1.10.199 Datanode&nodemanager

2.修改4臺設(shè)備主機(jī)名

第一步

hostname test001.ziepiyi.corp 

第二步:

sed -i "s#HOSTNAME=localhost.localdomain#HOSTNAME=test001.zipeiyi.corp#g" /etc/sysconfig/network

3. 修改/etc/hosts 添加域名映射

在每臺上面修改

vim /etc/hosts
10.1.10.196 test001.zipeiyi.corp
10.1.10.197 test002.zipeiyi.corp
10.1.10.198 test003.zipeiyi.corp
10.1.10.199 test004.zipeiyi.corp

4. 下載并安裝java

java下載頁面-請自行選擇版本

下載:wget http://10.0.70.5/pkgs/jdk-8u51-linux-x64.tar.gz
創(chuàng)建java工作目錄:mkdir -p /app/zpy/java
解壓:tar zxvf jdk-8u51-linux-x64.tar.gz -C /app/zpy/java  > /dev/null 2>&1
配置環(huán)境變量:
echo '# JAVA-8u51' >> /etc/profile
echo 'JAVA_HOME=/app/zpy/java/jdk1.8.0_51' >> /etc/profile
echo 'JAVA_BIN=/app/zpy/java/jdk1.8.0_51/bin' >> /etc/profile
echo 'PATH=$PATH:$JAVA_BIN' >> /etc/profile
echo 'CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
echo 'export JAVA_HOME JAVA_BIN PATH CLASSPATH' >> /etc/profile
即時(shí)生效:source  /etc/profile
退出本機(jī)重新登陸,或者重新打開一個session,
檢測:java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
You have new mail in /var/spool/mail/root

5.配置NTP時(shí)間服務(wù)

ntp時(shí)間服務(wù)器是用來保證所有機(jī)器的機(jī)器時(shí)間是同步的,hadoop集群對時(shí)間同步有一定要求
這里我們直接使用公網(wǎng)NTP時(shí)間服務(wù)器進(jìn)行同步,使用阿里云ntp服務(wù)器

ntpdate ntp1.aliyun.com(執(zhí)行兩遍,因?yàn)榈谝淮纹屏坑袝r(shí)會很大,可以使用第二次進(jìn)行再次校準(zhǔn))
結(jié)果:
1 Sep 10:51:59 ntpdate[2558]: adjust time server 182.92.12.11 offset 0.019492 sec

加入到 crontab里面 
vim /etc/crontab 
*/15 * * * *  root   /usr/sbin/ntpdate ntp1.aliyun.com

6.創(chuàng)建hadoop用戶及用戶組并創(chuàng)建hadoop的數(shù)據(jù)和日志目錄

useradd hadoop
echo 1qaz@WSX? | passwd --stdin hadoop
mkdir -pv /data/hadoop/hdfs/{nn,snn,dn}    ##說明:nn:namenode  dn:datanode  snn:second namenode 
mkdir -pv /data/hadoop/logs 
修改屬主,屬組
chown -R  hadoop:hadoop /data/hadoop/

7.配置hadoop用戶的ssh免登陸

首先su hadoop 
三臺分別執(zhí)行:
ssh-keygen -t rsa
cd ~
chmod  -R 700 .ssh
每臺上分別執(zhí)行四條:(記住每臺設(shè)備與自己的ssh也要打通)
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.1.10.196
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.1.10.197
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.1.10.198
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.1.10.199

我們?yōu)閔adoop用戶做ssh 免登陸是因?yàn)楹竺鎕adoop程序需要,下面我們?yōu)閞oot用戶也做ssh免登陸,純粹是為了操作方便

后面詳見文章
14. apache hadoop 4臺分布式集群搭建-part2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容