日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Hadoop學(xué)習(xí)之路(四)Hadoop集群搭建和簡單應(yīng)用

 HK123COM 2019-02-14

目錄

 

正文

概念了解

主從結(jié)構(gòu):在一個(gè)集群中,會(huì)有部分節(jié)點(diǎn)充當(dāng)主服務(wù)器的角色,其他服務(wù)器都是從服務(wù)器的角色,當(dāng)前這種架構(gòu)模式叫做主從結(jié)構(gòu)。

主從結(jié)構(gòu)分類:

1、一主多從

2、多主多從

Hadoop中的HDFS和YARN都是主從結(jié)構(gòu),主從結(jié)構(gòu)中的主節(jié)點(diǎn)和從節(jié)點(diǎn)有多重概念方式:

1、主節(jié)點(diǎn)  從節(jié)點(diǎn)

2、master  slave

3、管理者  工作者

4、leader  follower

Hadoop集群中各個(gè)角色的名稱:

服務(wù) 主節(jié)點(diǎn) 從節(jié)點(diǎn)
HDFS NameNode DataNode
YARN ResourceManager NodeManager

集群服務(wù)器規(guī)劃

使用4臺(tái)CentOS-6.7虛擬機(jī)進(jìn)行集群搭建

軟件安裝步驟概述

1、全部節(jié)點(diǎn)配置ssh互信
ssh-keygen
.ssh   目錄權(quán)限700
.ssh/authorized_keys文件權(quán)限必須是600
2、全部節(jié)點(diǎn)安裝配置JDK
/usr/local/jdk.
scp -r /usr/local/jak.*/ hadoop2:/usr/loacl/

1、獲取安裝包

2、解壓縮和安裝

3、修改配置文件

4、初始化,配置環(huán)境變量,啟動(dòng),驗(yàn)證

Hadoop安裝

1、規(guī)劃

規(guī)劃安裝用戶:hadoop

規(guī)劃安裝目錄:/home/hadoop/apps

規(guī)劃數(shù)據(jù)目錄:/home/hadoop/data

注:apps和data文件夾需要自己單獨(dú)創(chuàng)建

2、上傳解壓縮

注:使用hadoop用戶

[hadoop@hadoop1 apps]$ ls
hadoop-2.7.5-centos-6.7.tar.gz
[hadoop@hadoop1 apps]$ tar -zxvf hadoop-2.7.5-centos-6.7.tar.gz 

3、修改配置文件

配置文件目錄:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop

A. hadoop-env.sh

[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh 

修改JAVA_HOME

export JAVA_HOME=/usr/local/jdk1.8.0_73

B. core-site.xml

[hadoop@hadoop1 hadoop]$ vi core-site.xml 

fs.defaultFS : 這個(gè)屬性用來指定namenode的hdfs協(xié)議的文件系統(tǒng)通信地址,可以指定一個(gè)主機(jī)+端口,也可以指定為一個(gè)namenode服務(wù)(這個(gè)服務(wù)內(nèi)部可以有多臺(tái)namenode實(shí)現(xiàn)ha的namenode服務(wù)

hadoop.tmp.dir : hadoop集群在工作的時(shí)候存儲(chǔ)的一些臨時(shí)文件的目錄

復(fù)制代碼
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop1:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoop/data/hadoopdata</value>
        </property>
</configuration>
復(fù)制代碼

 

C. hdfs-site.xml

[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml 

 dfs.namenode.name.dir:namenode數(shù)據(jù)的存放地點(diǎn)。也就是namenode元數(shù)據(jù)存放的地方,記錄了hdfs系統(tǒng)中文件的元數(shù)據(jù)。

 dfs.datanode.data.dir: datanode數(shù)據(jù)的存放地點(diǎn)。也就是block塊存放的目錄了。

dfs.replication:hdfs的副本數(shù)設(shè)置。也就是上傳一個(gè)文件,其分割為block塊后,每個(gè)block的冗余副本個(gè)數(shù),默認(rèn)配置是3。

dfs.secondary.http.address:secondarynamenode 運(yùn)行節(jié)點(diǎn)的信息,和 namenode 不同節(jié)點(diǎn)

復(fù)制代碼
<configuration>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/home/hadoop/data/hadoopdata/name</value>
                <description>為了保證元數(shù)據(jù)的安全一般配置多個(gè)不同目錄</description>
        </property>

        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/home/hadoop/data/hadoopdata/data</value>
                <description>datanode 的數(shù)據(jù)存儲(chǔ)目錄</description>
        </property>

        <property>
                <name>dfs.replication</name>
                <value>2</value>
                <description>HDFS 的數(shù)據(jù)塊的副本存儲(chǔ)個(gè)數(shù), 默認(rèn)是3</description>
        </property>

        <property>
                <name>dfs.secondary.http.address</name>
                <value>hadoop3:50090</value>
                <description>secondarynamenode 運(yùn)行節(jié)點(diǎn)的信息,和 namenode 不同節(jié)點(diǎn)</description>
        </property>
</configuration>
復(fù)制代碼

D. mapred-site.xml

[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[hadoop@hadoop1 hadoop]$ vi mapred-site.xml

 mapreduce.framework.name:指定mr框架為yarn方式,Hadoop二代MP也基于資源管理系統(tǒng)Yarn來運(yùn)行 。

復(fù)制代碼
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>
復(fù)制代碼

E. yarn-site.xml

[hadoop@hadoop1 hadoop]$ vi yarn-site.xml 

 yarn.resourcemanager.hostname:yarn總管理器的IPC通訊地址

 yarn.nodemanager.aux-services:

復(fù)制代碼
<configuration>

<!-- Site specific YARN configuration properties -->

        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop4</value>
        </property>
        
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
                <description>YARN 集群為 MapReduce 程序提供的 shuffle 服務(wù)</description>
        </property>

</configuration>
復(fù)制代碼

 

F. slaves

[hadoop@hadoop1 hadoop]$ vi slaves 
hadoop1
hadoop2
hadoop3
hadoop4

4、把安裝包分別分發(fā)給其他的節(jié)點(diǎn)

重點(diǎn)強(qiáng)調(diào): 每臺(tái)服務(wù)器中的hadoop安裝包的目錄必須一致, 安裝包的配置信息還必須保持一致
重點(diǎn)強(qiáng)調(diào): 每臺(tái)服務(wù)器中的hadoop安裝包的目錄必須一致, 安裝包的配置信息還必須保持一致
重點(diǎn)強(qiáng)調(diào): 每臺(tái)服務(wù)器中的hadoop安裝包的目錄必須一致, 安裝包的配置信息還必須保持一致

[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop2:~/apps/
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop3:~/apps/
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop4:~/apps/

注意:上面的命令等同于下面的命令

[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop@hadoop2:~/apps/

5、配置Hadoop環(huán)境變量

千萬注意:

1、如果你使用root用戶進(jìn)行安裝。 vi /etc/profile 即可 系統(tǒng)變量

2、如果你使用普通用戶進(jìn)行安裝。 vi ~/.bashrc 用戶變量

[hadoop@hadoop1 ~]$ vi .bashrc
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

使環(huán)境變量生效

[hadoop@hadoop1 bin]$ source ~/.bashrc 

6、查看hadoop版本

復(fù)制代碼
[hadoop@hadoop1 bin]$ hadoop version
Hadoop 2.7.5
Subversion Unknown -r Unknown
Compiled by root on 2017-12-24T05:30Z
Compiled with protoc 2.5.0
From source with checksum 9f118f95f47043332d51891e37f736e9
This command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar
[hadoop@hadoop1 bin]$ 
復(fù)制代碼

7、Hadoop初始化

注意:HDFS初始化只能在主節(jié)點(diǎn)上進(jìn)行

[hadoop@hadoop1 ~]$ hadoop namenode -format
View Code

8、啟動(dòng)

A. 啟動(dòng)HDFS

注意:不管在集群中的那個(gè)節(jié)點(diǎn)都可以

復(fù)制代碼
[hadoop@hadoop1 ~]$ start-dfs.sh
Starting namenodes on [hadoop1]
hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out
hadoop3: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop3.out
hadoop2: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop2.out
hadoop4: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop4.out
hadoop1: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop1.out
Starting secondary namenodes [hadoop3]
hadoop3: starting secondarynamenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-secondarynamenode-hadoop3.out
[hadoop@hadoop1 ~]$ 
復(fù)制代碼

B. 啟動(dòng)YARN

注意:只能在主節(jié)點(diǎn)中進(jìn)行啟動(dòng)

復(fù)制代碼
[hadoop@hadoop4 ~]$ start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-resourcemanager-hadoop4.out
hadoop2: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop2.out
hadoop3: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop3.out
hadoop4: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop4.out
hadoop1: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop1.out
[hadoop@hadoop4 ~]$
復(fù)制代碼

9、查看4臺(tái)服務(wù)器的進(jìn)程

hadoop1

hadoop2

hadoop3

hadoop4

10、啟動(dòng)HDFS和YARN的web管理界面

HDFS : http://192.168.123.102:50070
YARN : http://hadoop05:8088

疑惑: fs.defaultFS = hdfs://hadoop02:9000

解答:客戶單訪問HDFS集群所使用的URL地址

同時(shí),HDFS提供了一個(gè)web管理界面 端口:50070

HDFS界面

點(diǎn)擊Datanodes可以查看四個(gè)節(jié)點(diǎn)

YARN界面

點(diǎn)擊Nodes可以查看節(jié)點(diǎn)

Hadoop的簡單使用

創(chuàng)建文件夾

在HDFS上創(chuàng)建一個(gè)文件夾/test/input

[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input

查看創(chuàng)建的文件夾

復(fù)制代碼
[hadoop@hadoop1 ~]$ hadoop fs -ls /
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test
[hadoop@hadoop1 ~]$ hadoop fs -ls /test
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test/input
[hadoop@hadoop1 ~]$ 
復(fù)制代碼

上傳文件

創(chuàng)建一個(gè)文件words.txt

[hadoop@hadoop1 ~]$ vi words.txt
hello zhangsan
hello lisi
hello wangwu

上傳到HDFS的/test/input文件夾中

[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input

 查看是否上傳成功

[hadoop@hadoop1 ~]$ hadoop fs -ls /test/input
Found 1 items
-rw-r--r--   2 hadoop supergroup         39 2018-03-03 11:37 /test/input/words.txt
[hadoop@hadoop1 ~]$ 

下載文件

將剛剛上傳的文件下載到~/data文件夾中

[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data

查看是否下載成功

[hadoop@hadoop1 ~]$ ls data
hadoopdata  words.txt
[hadoop@hadoop1 ~]$ 

運(yùn)行一個(gè)mapreduce的例子程序: wordcount

[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output

在YARN Web界面查看

 

查看結(jié)果

復(fù)制代碼
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output
Found 2 items
-rw-r--r--   2 hadoop supergroup          0 2018-03-03 11:42 /test/output/_SUCCESS
-rw-r--r--   2 hadoop supergroup         35 2018-03-03 11:42 /test/output/part-r-00000
[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-00000
hello    3
lisi    1
wangwu    1
zhangsan    1
[hadoop@hadoop1 ~]$ 
復(fù)制代碼

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多