【Hadoop篇02】Hadoop徹底分佈式環境搭建

優於別人,並不高貴,真正的高貴應該是優於過去的本身

Hadoop徹底分佈式環境搭建

編寫分發文件腳本

應用場景以下:好比有三臺主機master1,slave1,slave2

若是簡歷徹底分佈式的集羣就須要將文件從master1拷貝到slave從機上node

那麼能夠使用rsync命令分發單個文件,也能夠使用以下腳本分發文件夾或者文件git

#!/bin/bash

#1 獲取輸入參數個數,若是沒有參數,直接退出
# $#表明得到命令行參數個數
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 獲取文件名稱
# $1表明得到命令行第一個參數
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 獲取上級目錄到絕對路徑
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 獲取當前用戶名稱
user=`whoami`

#5 rsync命令能夠分發文件到指定主機
# 這裏slave就是從機的機名
for((host=1; host<3; host++))
do
        echo ------------------- slave$host --------------
        rsync -rvl $pdir/$fname $user@slave$host:$pdir
done

集羣規劃

hadoop102 hadoop103 hadoop104
HDFS NameNodeDataNode DataNode SecondaryNameNode<br/>DataNode
YARN NodeManager ResourceManager<br/>NodeManager NodeManager

配置集羣

配置文件都在hadoop2.7.2/etc/hadoop下github

配置core-site.xml

<!-- 指定HDFS中NameNode的地址 -->
<property>
        <name>fs.defaultFS</name>
      <value>hdfs://hadoop102:9000</value>
</property>

<!-- 指定Hadoop運行時產生文件的存儲目錄 -->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

配置hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

配置hdfs-site.xml

<!-- 指定副本數量 -->
<property>
        <name>dfs.replication</name>
        <value>3</value>
</property>

<!-- 指定SecondaryNamenode主機配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop104:50090</value>
</property>

配置yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

配置yarn-site.xml

<!-- reducer獲取數據的方式 -->
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</value>
</property>

配置mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

配置mapred-site.xml

【須要拷貝mapred-site.xml.template 而後重命名便可】面試

<!-- 指定mr運行在yarn上 -->
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

分發配置到集羣中

# xsync就是剛剛編寫的分發腳本
xsync /opt/module/hadoop-2.7.2/

集羣格式化

# 這部分必須沒有報錯才行,否則就重來一篇,必須在hadoop根目錄下執行
hadoop namenode -format

集羣啓動測試

在主機hadooop102在sbin目錄下,運行start-dfs.sh啓動HDFS
在主機hadooop103在sbin目錄下,運行start-yarn.sh啓動yarn
而後使用jps查看進程便可

image-20200513145208176

相關資料

image-20200624111507710

本文配套 GitHubhttps://github.com/zhutiansam...

本文配套公衆號:FocusBigData shell

回覆【大數據面經】【大數據面試經驗】【大數據學習路線圖】會有驚喜哦bash

相關文章
相關標籤/搜索