3台机器配置hadoop集群_Hadoop学习之路(三)Hadoop集群搭建和简单应用
概念了解
主從結構:在一個集群中,會有部分節點充當主服務器的角色,其他服務器都是從服務器的角色,當前這種架構模式叫做主從結構。
主從結構分類:
1、一主多從
2、多主多從
Hadoop中的HDFS和YARN都是主從結構,主從結構中的主節點和從節點有多重概念方式:
1、主節點 從節點
2、master slave
3、管理者 工作者
4、leader follower
Hadoop集群中各個角色的名稱:
| 服務 | 主節點 | 從節點 |
| HDFS | NameNode | DataNode |
| YARN | ResourceManager | NodeManager |
集群服務器規劃
使用4臺CentOS-6.7虛擬機進行集群搭建
軟件安裝步驟概述
1、獲取安裝包
2、解壓縮和安裝
3、修改配置文件
4、初始化,配置環境變量,啟動,驗證
Hadoop安裝
1、規劃
規劃安裝用戶:hadoop
規劃安裝目錄:/home/hadoop/apps
規劃數據目錄:/home/hadoop/data
注:apps和data文件夾需要自己單獨創建
2、上傳解壓縮
注:使用hadoop用戶
[hadoop@hadoop1 apps]$ lshadoop-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_73B. core-site.xml
[hadoop@hadoop1 hadoop]$ vi core-site.xmlfs.defaultFS :?這個屬性用來指定namenode的hdfs協議的文件系統通信地址,可以指定一個主機+端口,也可以指定為一個namenode服務(這個服務內部可以有多臺namenode實現ha的namenode服務
hadoop.tmp.dir : hadoop集群在工作的時候存儲的一些臨時文件的目錄
fs.defaultFShdfs://hadoop1:9000hadoop.tmp.dir/home/hadoop/data/hadoopdata?
C. hdfs-site.xml
[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml?dfs.namenode.name.dir:namenode數據的存放地點。也就是namenode元數據存放的地方,記錄了hdfs系統中文件的元數據。
?dfs.datanode.data.dir:datanode數據的存放地點。也就是block塊存放的目錄了。
dfs.replication:hdfs的副本數設置。也就是上傳一個文件,其分割為block塊后,每個block的冗余副本個數,默認配置是3。
dfs.secondary.http.address:secondarynamenode 運行節點的信息,和 namenode 不同節點
dfs.namenode.name.dir/home/hadoop/data/hadoopdata/name為了保證元數據的安全一般配置多個不同目錄dfs.datanode.data.dir/home/hadoop/data/hadoopdata/datadatanode 的數據存儲目錄dfs.replication2HDFS 的數據塊的副本存儲個數, 默認是3dfs.secondary.http.addresshadoop3:50090secondarynamenode 運行節點的信息,和 namenode 不同節點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也基于資源管理系統Yarn來運行 。
mapreduce.framework.nameyarnE. yarn-site.xml
[hadoop@hadoop1 hadoop]$ vi yarn-site.xml?yarn.resourcemanager.hostname:yarn總管理器的IPC通訊地址
?yarn.nodemanager.aux-services:
yarn.resourcemanager.hostnamehadoop4yarn.nodemanager.aux-servicesmapreduce_shuffleYARN 集群為 MapReduce 程序提供的 shuffle 服務?
F. slaves
[hadoop@hadoop1 hadoop]$ vi slaveshadoop1hadoop2
hadoop3
hadoop4
4、把安裝包分別分發給其他的節點
重點強調:每臺服務器中的hadoop安裝包的目錄必須一致, 安裝包的配置信息還必須保持一致
重點強調:每臺服務器中的hadoop安裝包的目錄必須一致, 安裝包的配置信息還必須保持一致
重點強調:每臺服務器中的hadoop安裝包的目錄必須一致, 安裝包的配置信息還必須保持一致
[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環境變量
千萬注意:
1、如果你使用root用戶進行安裝。vi /etc/profile 即可 系統變量
2、如果你使用普通用戶進行安裝。vi ~/.bashrc 用戶變量
[hadoop@hadoop1 ~]$ vi .bashrcexport HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
使環境變量生效
[hadoop@hadoop1 bin]$ source ~/.bashrc6、查看hadoop版本
[hadoop@hadoop1 bin]$ hadoop versionHadoop 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]$
7、Hadoop初始化
注意:HDFS初始化只能在主節點上進行
[hadoop@hadoop1 ~]$ hadoop namenode -format?View Code
8、啟動
A. 啟動HDFS
注意:不管在集群中的那個節點都可以
[hadoop@hadoop1 ~]$ start-dfs.shStarting 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 ~]$
B. 啟動YARN
注意:只能在主節點中進行啟動
[hadoop@hadoop4 ~]$ start-yarn.shstarting 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 ~]$
9、查看4臺服務器的進程
hadoop1
hadoop2
hadoop3
hadoop4
10、啟動HDFS和YARN的web管理界面
HDFS : http://192.168.123.102:50070
YARN :http://hadoop05:8088
疑惑:fs.defaultFS = hdfs://hadoop02:9000
解答:客戶單訪問HDFS集群所使用的URL地址
同時,HDFS提供了一個web管理界面 端口:50070
HDFS界面
點擊Datanodes可以查看四個節點
YARN界面
點擊Nodes可以查看節點
Hadoop的簡單使用
創建文件夾
在HDFS上創建一個文件夾/test/input
[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input查看創建的文件夾
[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 ~]$
上傳文件
創建一個文件words.txt
[hadoop@hadoop1 ~]$ vi words.txthello zhangsanhello lisi
hello wangwu
上傳到HDFS的/test/input文件夾中
[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input?查看是否上傳成功
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/inputFound 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 datahadoopdata words.txt
[hadoop@hadoop1 ~]$
運行一個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界面查看
查看結果
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/outputFound 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 ~]$
總結
以上是生活随笔為你收集整理的3台机器配置hadoop集群_Hadoop学习之路(三)Hadoop集群搭建和简单应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字典排序 python3_一步一步学Py
- 下一篇: win32按钮按下不弹起_为什么厨房插座