- 积分
- 16842
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
目录
3 O. [' `" L' K( s
/ s8 N* q$ W; I概念了解+ K) M' ~: S) a5 y4 r
集群服务器规划
$ R* z6 X4 D2 Z5 U0 T; h i" n软件安装步骤概述; X$ o; h3 }& O: Z% S% ?" s, ?
Hadoop安装' f3 x: d' _" y
1、规划& `) z& c% Z) y g& B: u$ R
2、上传解压缩
1 c' y; t/ X' K: B2 r3、修改配置文件/ o3 Q0 H( g t# i2 e+ F; f0 z$ N( L
4、把安装包分别分发给其他的节点. @* k% ^9 R1 C/ k
5、配置Hadoop环境变量; E- { z: T# h5 T
6、查看hadoop版本1 q6 n& @2 }3 s3 r% g9 c( \& q
7、Hadoop初始化
9 w+ ~2 _* P8 i* Y: ^6 {) W8、启动
& d) e: ]8 T* y5 y9、查看4台服务器的进程
1 N1 n5 S7 B5 ~7 U) Q, M10、启动HDFS和YARN的web管理界面
8 V8 A3 v9 I4 d% s: P, `; r3 eHadoop的简单使用
" O$ W5 x% t2 X8 k: B3 i, A7 }创建文件夹6 g( A) A+ K; @$ {* f! T
查看创建的文件夹
4 u6 E' Y& _3 m; l上传文件- m% ]% P; H9 u/ Q. i, T. l
下载文件
: c' ?* e A# y运行一个mapreduce的例子程序: wordcount
2 V: a3 {! u7 E- w: [! N) p( w+ u; T& R: }: i D, P3 A
* R+ N E c! M5 y, o& [正文
4 M; X+ B* ~, P) i" v! R" D& J% A# d3 K* F; x
回到顶部% b# V7 r, y7 A& `' M+ C# [
概念了解# ^, J7 A5 u3 G3 r5 c. I# T
主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构。
5 B3 a) X$ Z# M/ L
3 [; P6 O% L3 u主从结构分类:
) h% J7 O1 w# r% v" r1 m- [4 K, m. S" ^" r% d
1、一主多从
# |1 M- l; n2 |' v3 Z' J* l u4 ?3 H: P" Y7 s% x6 q9 Y: q) k- N, M
2、多主多从
/ `; n5 a4 u; F' `# r! W, x0 h4 B4 F+ ?! u* L# M
Hadoop中的HDFS和YARN都是主从结构,主从结构中的主节点和从节点有多重概念方式:
9 X1 p9 Z1 l4 Z7 |( x# p! n4 I! X' E4 Y* D' t* h' U
1、主节点 从节点
3 [2 g f& I9 q) x; \: S2 R
B! y4 L. }4 W. e8 O0 n2、master slave. V. h) w! Q" S0 A0 G. @( f
. ?- Q) S2 ^3 l0 h3 B9 v) \- l$ w3、管理者 工作者" c) i# G) o/ e8 S0 f% J" z* W
1 C# C- O$ i" W) t: U' m4、leader follower
0 T7 X/ }# d9 L0 k/ N- M: {, x. B* t9 ?7 V, K, Z
Hadoop集群中各个角色的名称:2 ] q' r( X/ e. |5 d
0 {- o. o. t3 p- }
服务 主节点 从节点
% U, z S/ i; Q; i1 m7 k- [- XHDFS NameNode DataNode
+ Z; V; ^+ u! \2 i+ a, L" ]5 VYARN ResourceManager NodeManager6 u, k! x( Q# v
回到顶部& Z$ d( T: y, M
集群服务器规划% O# |6 m9 _8 @* x; j, e
使用4台CentOS-6.7虚拟机进行集群搭建
' d/ f( E$ ?9 Z3 s/ }6 U
4 i% F% H- |/ O% ^% V; t2 ]' N
0 i: `7 f' I( k0 L; B: w) d
回到顶部
' A( e9 \. ]" H! s2 @软件安装步骤概述
9 ~7 S, k( |$ D: y0 i' j1、获取安装包 P A8 z: ^( t, o( I
& \. U2 `' g6 b5 ]; G2、解压缩和安装! u0 l& ^: a# J" O X1 I' ~
- j5 W5 M7 j# Z3、修改配置文件
' l5 G: i5 r' u# ~/ p( y3 h: t8 Y! X) J' i# U1 T/ E
4、初始化,配置环境变量,启动,验证( |1 {/ k# T3 u9 p" e
' l2 i* X$ N: ^4 x% k回到顶部
+ y6 \& L' V- mHadoop安装( u7 @, K" R- O- [8 `
1、规划, _ Y) h/ c: x- x. [8 `
规划安装用户:hadoop# D4 _0 ~$ x4 u6 n
. d6 G m; w6 F9 c
规划安装目录:/home/hadoop/apps2 B* }' p. y! V$ f n
- n# H' e- [4 s& N+ d" I5 C; Q
规划数据目录:/home/hadoop/data8 P5 {) I6 T! r2 f
0 l! Y9 h8 p: E; w& [! ?! H
注:apps和data文件夹需要自己单独创建5 Z. `3 [7 K( p, O: f; D& ]
, w* b6 _, q' V9 z- Q2、上传解压缩% n. A( f% X# W% h9 b* M
注:使用hadoop用户
! u. d7 x0 \- z+ U
, V. H6 p# c, p d* ^; f! B[hadoop@hadoop1 apps]$ ls
8 x$ [8 h, u/ Y6 r/ h. @8 ]hadoop-2.7.5-centos-6.7.tar.gz6 {, w, y, ^$ a3 a& `4 Q' j
[hadoop@hadoop1 apps]$ tar -zxvf hadoop-2.7.5-centos-6.7.tar.gz - i+ }- M* q) N4 T" W( e ]( O& p; h8 J
3、修改配置文件0 J" D. n9 B' F' [; G8 V
配置文件目录:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop, A4 \4 m6 u+ \+ o8 g
* h) s% o0 A+ y1 J5 [/ ^
8 t" b& H% W0 K) Z. y& c' u5 Z* Y B! w
A. hadoop-env.sh
; X) o6 e+ g) C5 y[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh & N; Y( Z+ f6 y, J+ \2 N
修改JAVA_HOME8 u1 k; ?, p8 h8 ]3 r! ]9 n
% r( z2 V: E% n& ^1 l* V8 texport JAVA_HOME=/usr/local/jdk1.8.0_731 Y( ^3 k. `& v8 J
$ Y' l8 f! X% f+ s' h* n' H0 B# l/ G' H% D& d1 G& D
B. core-site.xml
7 K) N4 u3 S( ~1 F) ^6 x( ?, L. d: r, @# T- U1 P& |# a$ v
[hadoop@hadoop1 hadoop]$ vi core-site.xml 3 U" _" d# l; y- |( P
fs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务7 w: n/ ~# S: s% [6 M$ V; { ?
2 k. M) \6 g( Z, W; ]hadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录+ g' M* x% T" r6 T8 O- X; z. o
2 C$ @; S) o$ h3 X复制代码9 m: C. U$ Z! Y6 K
<configuration>' `* e3 F# I% Q7 {6 i( \# R* M
<property>) @+ H! D. L8 i2 n6 V+ d2 [
<name>fs.defaultFS</name> d1 l* F8 P \/ U" @0 X% i
<value>hdfs://hadoop1:9000</value>
# {, \, E; o- K z: j' I' y; U </property>
2 O _7 l, q4 { X- z. M6 K <property>" I- V# R& L$ w
<name>hadoop.tmp.dir</name>
; g4 P. ^0 z3 }- l) }% Q: w <value>/home/hadoop/data/hadoopdata</value>% H8 |+ I; e5 O: g9 P
</property>
k7 H+ y8 f9 u. h* s3 ]: y3 A# V7 [</configuration>; N; l$ {+ b4 o8 E1 a& X% m6 A
复制代码
0 q0 R. t9 n% R/ u3 c: K' V* U7 J- Z' v" O+ `" {. n H
- V) D! A ?( ]4 w7 Z9 }C. hdfs-site.xml
, s% C$ F" V/ U: c& x
% {" Z0 }" Y' x0 p[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml
}0 L1 }; B* g* D8 }2 c$ z dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。) Y* y' c1 v$ L+ C
) L5 T% C% W7 y2 ]8 P. W8 g
dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。
9 Y1 v9 @% `8 s4 l1 Z. q- N
! k( r' v5 X9 c) C# {& D ^dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。4 c6 K; U1 U! g' X! ^
v% n+ R- V+ i7 I* K Mdfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点% ~, @* s0 y4 \! e m, n8 ^
9 a# c6 q0 r5 r6 e
复制代码
& [5 d7 i; X2 e- r" v<configuration>! H# c! F/ `/ p/ ^$ t
<property>
& N1 H; ]* K7 y9 |9 ] <name>dfs.namenode.name.dir</name>' r- x/ R# E( O0 V( B. W
<value>/home/hadoop/data/hadoopdata/name</value>
$ Z/ V6 I5 P* x+ a( N z- U <description>为了保证元数据的安全一般配置多个不同目录</description>
. _$ _0 i! G/ M2 c) G% V </property>
+ U) H# [7 E* H. X0 U
+ K6 {% J9 q7 ^0 r3 O* Z5 f% _ <property>+ G) N) ~* Z. Z7 k, n
<name>dfs.datanode.data.dir</name>8 p* o8 e5 Y8 b7 Q8 D; \1 @7 M
<value>/home/hadoop/data/hadoopdata/data</value>
# ~; G- }3 B$ n' F* J8 i+ s2 Z <description>datanode 的数据存储目录</description>
$ Y( i$ _0 R) B0 H </property>
S( L, R( j0 H1 v4 h( t( ^
0 z4 R# Q) x' c( o/ } <property>
1 p& p& ]" g& L) V; P1 s0 [ b" j, f <name>dfs.replication</name>3 g0 U/ ? @: V1 r
<value>2</value>7 y0 W6 H$ b0 T0 [
<description>HDFS 的数据块的副本存储个数, 默认是3</description>( l0 {- O8 X: W/ t& k/ b a
</property>
6 K) V+ z1 E9 G( q* y
1 ]! {4 B) o' d4 h% g9 m) m <property>
9 `* n) R& d0 M! ^8 X <name>dfs.secondary.http.address</name>
9 N7 R( w( |! W0 ^* Y6 N3 f <value>hadoop3:50090</value>4 M3 T$ Z( d5 @ T/ y8 O( ^
<description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description>! w3 K K' W8 S0 t
</property>
) P+ u1 X% v- `7 E5 z</configuration>
0 W. n- ~- V+ ]2 v复制代码
# F0 D8 S, ]( Q' e5 C n: W
) z2 q+ f8 M, i H8 U, f2 \0 a2 P4 M4 I& u
D. mapred-site.xml6 c# A+ t# n9 v/ y" U- ?" ?- B
2 s1 d3 j% Z! N/ D
[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml( E3 c" V' f6 z7 z; P. {
[hadoop@hadoop1 hadoop]$ vi mapred-site.xml
0 Q. f9 ^1 V% S4 |4 g8 p. T mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。
0 }$ |6 J8 @3 P9 r% c" e+ N5 A" H/ n0 d4 i$ o3 B' Y
复制代码# T. }7 q" G2 z6 ~. F' `
<configuration>
: T; q$ x. x# s# K( L <property>
. H! z9 ?; X; ~+ ]+ W <name>mapreduce.framework.name</name>
* }' n& K# p2 Y <value>yarn</value>! q4 N! R! H) b# M- L
</property>( x Q2 g' d8 d* t. ~
</configuration>
" d) f7 |+ t" v1 \% O" w复制代码
; o) G, l# i/ J+ o4 A, c( y2 D: k" t' a: o* D; w
. l9 h6 d5 z; \- \1 @ m9 }E. yarn-site.xml2 n8 u# {) s) A) F) [
% E! P, M+ i. n3 s. o3 B% |[hadoop@hadoop1 hadoop]$ vi yarn-site.xml 0 C* ^8 ^; M! N8 i2 `% j& @% _
yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址
, Y* x$ g% }+ i/ `9 U X( }! S
: a! \) x5 H7 @$ j N; m yarn.nodemanager.aux-services:
! Y* [% e5 f L, g; M3 ~: Q* p" G% k' M) b( A; E! v
复制代码2 u+ S _* O4 {( S- ]8 r
<configuration>
& D7 r3 o0 V7 T# ?3 }
3 G- ]5 x4 O0 s! Z* I% k8 e<!-- Site specific YARN configuration properties -->8 c& U+ {1 Q8 J" _$ E, t
) m: v$ l2 ?8 t, Y
<property>' F$ f/ @+ t* h% h L+ |
<name>yarn.resourcemanager.hostname</name>
# h* a$ q. \2 a1 L1 b/ u- O <value>hadoop4</value>8 L3 D Q6 G- l# d4 Q% p
</property>9 |0 v0 v: ~& w9 c b' ^0 g. S
, \# X Y) T* x: W8 R0 e
<property>3 A7 [% \; y$ Q9 k" m' q
<name>yarn.nodemanager.aux-services</name>
& l5 `1 M, _0 V' D H <value>mapreduce_shuffle</value>
$ p) u. O8 e: n7 `: j2 N" f% [ <description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>' I$ T- y" \, j. V W
</property>: P4 g3 T: b% [$ P' A* a" n
. _5 m) J q5 F2 U1 I% L6 D9 V
</configuration>. J$ X" H& l* t4 @' X
复制代码' f s- e4 ~+ p0 G+ b! e& Q( J
% E5 x4 |. n& @# D- N
. M, a- J& U2 U, w! w; F b
F. slaves
2 y- y- h6 ?: O/ f+ U9 }
# L8 B0 v$ a& @+ u) `0 Q# k[hadoop@hadoop1 hadoop]$ vi slaves p6 w2 J3 p/ D
hadoop1' R' M2 z# ?* ]! O, M
hadoop2( k' R& j4 G# R
hadoop3
+ d8 U8 @% q6 qhadoop4
; t" N% L4 V6 d7 O
+ \3 n C$ T8 c! c9 `! a) ~! H0 v! N' z0 d0 |) U- G* H
4、把安装包分别分发给其他的节点
, x$ r6 J, b3 S0 ]2 C' a重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
" D- @+ R" p: p重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
, ^' P* D0 Y) q9 S) @重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
" N8 g+ b) g. c# \
* P D! e& [/ O% s/ s[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop2:~/apps/
' J0 g# i' j$ D& l# g; _- x[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop3:~/apps/
8 D' X3 H1 p" _) a: K a9 G[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop4:~/apps/
1 q% }9 I5 \0 {$ q9 m+ r& ?注意:上面的命令等同于下面的命令
( @8 a+ k* E- ^" Y& l; c j2 z5 e$ k% P5 X* f2 D, s
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop@hadoop2:~/apps/
' b! J8 O+ F% k8 b6 a+ Q2 s5、配置Hadoop环境变量8 O1 C g* G! v% Z/ X8 J
千万注意:5 A! C" m: e( W- ^9 c& K
. C, F7 E6 j) `
1、如果你使用root用户进行安装。 vi /etc/profile 即可 系统变量3 d5 u1 ~- s/ i7 ~, p
; r+ y4 l1 A3 f k" c+ f2、如果你使用普通用户进行安装。 vi ~/.bashrc 用户变量
2 R. v* m8 o }( p1 i+ V; L9 `* n# k& p3 G
[hadoop@hadoop1 ~]$ vi .bashrc. L1 c4 n& T" ?5 W& g+ ?7 t4 p$ o
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5% G( e5 z) f x% s3 S+ c
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:& ~) Y3 e+ i% z6 _4 a" R
2 ^; R# D4 G1 b& y/ V
x- d: V5 R/ q- n/ {( ]使环境变量生效
w1 B$ C. m* x/ g1 s
0 r# R' {' _. Z2 ~[hadoop@hadoop1 bin]$ source ~/.bashrc 0 l1 b% c2 j$ y- E0 M
6、查看hadoop版本3 W# u' |$ |) c+ m
复制代码
* k4 S. ~) p: b$ r0 G8 N! u[hadoop@hadoop1 bin]$ hadoop version* T& g$ X1 y' s9 w
Hadoop 2.7.5( X( ?1 L# q4 a( y" D1 X
Subversion Unknown -r Unknown; u' b( @/ n S* R: w
Compiled by root on 2017-12-24T05:30Z
5 {% ]) K0 H. u) J* e. gCompiled with protoc 2.5.0
4 C2 w/ u% r6 n1 AFrom source with checksum 9f118f95f47043332d51891e37f736e9' e. J' O+ B. x, Q3 j8 r$ y3 U
This command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar0 m5 Q3 W0 e l# g/ w- p. b- f
[hadoop@hadoop1 bin]$ , N% }9 q7 X6 _) T( ~
复制代码4 I9 l9 O+ T9 V$ `
3 F6 f) q! w! [- _' I4 h! ^, p
/ u" e6 f1 o( ~' `4 N) ^' j7、Hadoop初始化
1 ~8 n4 j z# R$ \( R注意:HDFS初始化只能在主节点上进行 F ~9 m% l7 f# m, _3 D) [
9 q4 h1 s! ~6 J( R+ m
[hadoop@hadoop1 ~]$ hadoop namenode -format
% A1 X2 _8 P$ p- F0 K: x View Code! u, N0 d! m8 {5 l
( Q. X4 q, {: T: D5 V8 ^
4 x+ r% M$ d/ t2 l$ n4 F+ t
8、启动
0 R0 ^; |3 C. Q- E& D* }# ?, gA. 启动HDFS
9 L. n* r- }& ]) E
' U$ T$ U2 o7 k& I0 k( Z注意:不管在集群中的那个节点都可以
; {8 w- e$ d6 M" F) l0 K
4 e3 @$ n, I$ K( \/ A复制代码* v8 K% {5 I9 ^: i- V
[hadoop@hadoop1 ~]$ start-dfs.sh8 P s- X% H3 M5 P/ S6 R! ^, |3 C
Starting namenodes on [hadoop1]( ^3 u M( Y- s5 ]
hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out
. p% Y% Z5 Z5 O/ {+ s) Shadoop3: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop3.out
- }# C1 S. y# Z; S+ x- i, Shadoop2: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop2.out
! A, ~6 b" u0 U m# N# O$ Khadoop4: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop4.out
8 m6 t- V" E5 ]3 M; r Ghadoop1: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop1.out6 f5 I* [, @: t8 X8 R
Starting secondary namenodes [hadoop3]' b1 _3 S3 Z/ T1 H9 m) k1 N- i
hadoop3: starting secondarynamenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-secondarynamenode-hadoop3.out
9 m% h4 b4 b/ H) ~1 J( D0 Y[hadoop@hadoop1 ~]$ # A# r3 d: j# C
复制代码
0 m0 M; J. B1 E/ z- h. I; e% {* S8 G
1 S+ L5 L! @ v) ~
B. 启动YARN
9 K+ O5 c6 S$ ^3 }' k$ |
5 ^5 ~( I- m! N& p, b3 \注意:只能在主节点中进行启动: N- J) g" H) t6 Z$ }
4 m t4 V8 P6 p复制代码) |7 D. V8 J6 x p! X
[hadoop@hadoop4 ~]$ start-yarn.sh8 Q+ e2 n, N$ @
starting yarn daemons
6 Z. `/ b9 H7 k5 C9 Ustarting resourcemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-resourcemanager-hadoop4.out: L1 r" ~! |9 b2 \, m
hadoop2: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop2.out3 q9 ~1 l5 J: u7 O/ v/ g/ [; b9 g
hadoop3: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop3.out
& `( t4 b6 ~* p6 T- \+ Y, G; ]9 d/ `0 ~hadoop4: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop4.out, x% w; u. ^( \7 f% X C$ G; g
hadoop1: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop1.out
4 ^ c# [# S, \. A" L[hadoop@hadoop4 ~]$
$ \; J3 \. R# s) q复制代码
y5 o8 w1 i3 q" j- \+ d: f/ a0 B7 \; i, u) c" m# n
' h$ g" ^( i7 w: D5 ^2 d1 F9、查看4台服务器的进程: A2 m" i: m& Z2 \9 n
hadoop17 ` m' s4 s6 O5 d l
2 C ~! ]: n& b5 P
0 E& Z) m' K4 o+ Y% P
3 n4 c$ d. k; P1 ~) E
hadoop27 r& ?" H/ ^, x, g* K H
, F, q* w( a7 @( U$ r' @
5 a' [# a; m) p" O+ L
~- y; J f1 |# N5 V$ l* Ghadoop3
1 p C H9 d5 v/ G8 I/ f2 _1 o8 L/ `0 J1 }; f5 v' A; z) v
# w7 @& D( P# l: Q+ k1 C
+ z. ]9 H/ ^9 g* m) h* k6 ehadoop4: ~2 o7 y( z7 l; w+ f" s. u9 W
4 z) g! U3 J1 |+ {7 ~
0 E d9 H4 D: l# d! ]5 `$ b: H$ i- \) \: `
10、启动HDFS和YARN的web管理界面
7 k& R9 P# ?$ {+ [/ dHDFS : http://192.168.123.102:50070* P4 a! U5 F1 F- o- o
YARN : http://hadoop05:8088
: Z& b. H; y( b% R! Z4 `
) p8 R' v S) [疑惑: fs.defaultFS = hdfs://hadoop02:9000 s8 l s0 t; m2 C$ x1 w$ h
5 E( q/ M- `( I/ P# U解答:客户单访问HDFS集群所使用的URL地址
5 @7 q% H H- x6 p9 @4 H
' ^, d7 L3 y( I8 q$ [8 v& T. V同时,HDFS提供了一个web管理界面 端口:500705 Z, C, g7 {, ~" k, t: Q8 I
, ^. D- q) Y- F2 o) v2 Y+ S8 O5 v- S
HDFS界面
2 r# `2 k2 x5 j* X/ ]& }; w
7 g! F2 V* r: b5 O/ ~" a# o8 @- |7 }
点击Datanodes可以查看四个节点5 u9 B, C! j v6 b. @5 ]) ~4 {- N6 K
# x! ?+ l X5 O* C% L( b5 N3 v4 a0 S; m9 y
* q ]2 S0 I6 q+ ]* K2 ~
YARN界面
- @( r0 M6 M) B0 a @; h# x1 H; Z" V6 f% q
+ G6 `- w7 s' d, ], m
点击Nodes可以查看节点
6 h a. |' D2 C8 X/ L
2 c3 t: t( T6 ?$ W# Z3 q9 `2 O! p2 C- j" `. E
6 _3 |5 d) ?3 i, U; o1 s回到顶部$ F% c- J" v" p6 \( W$ }
Hadoop的简单使用
+ W6 ?; ^9 u$ U# V创建文件夹- A+ f" |) |7 {; ?) O% F
在HDFS上创建一个文件夹/test/input+ Q5 I) z% e0 h7 w: E
* t4 j! K/ g9 s! u$ y
[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input
0 j& @. `: n- N# q( u" T查看创建的文件夹
- R8 U* q! Q g. }- ^复制代码& T4 @4 k, ?! X1 N
[hadoop@hadoop1 ~]$ hadoop fs -ls /
8 B* `: O; N, @8 eFound 1 items ?: \+ e V5 s& g) j8 g
drwxr-xr-x - hadoop supergroup 0 2018-03-03 11:33 /test
i8 k. N! E& F[hadoop@hadoop1 ~]$ hadoop fs -ls /test
* m4 H+ P% Y* \' TFound 1 items
1 `2 Z8 z0 ]6 ], r; {3 I* ^* i; Z5 Rdrwxr-xr-x - hadoop supergroup 0 2018-03-03 11:33 /test/input- i* h, ?; R% r! t+ w6 M
[hadoop@hadoop1 ~]$
" m- r" ^2 V, a s: s1 R3 v% l8 o复制代码# ?" f; L! T) Y+ Z8 r5 B/ W- u
/ H! _6 W; k4 j$ ^/ Q( ?! B* E2 k5 y
+ ]$ b+ b; d$ N9 D$ \4 B( l( `/ \: N上传文件. T2 ]$ y6 e: a& z( p
创建一个文件words.txt4 I1 h7 s3 Q; k: n
8 d, ^2 P+ F5 u" s
[hadoop@hadoop1 ~]$ vi words.txt
9 C0 f: ^$ l3 |: d- Ihello zhangsan( k# n* y1 d4 u$ k) r
hello lisi7 G, j' R6 p/ G* H
hello wangwu
2 g3 ]8 G0 Z, Y9 i0 w, D上传到HDFS的/test/input文件夹中1 Y) `: b. o$ J7 \% [) H5 v# M3 J0 ]
+ i8 h* Y+ J& P+ z% k8 [; y) Q2 [[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input
' d4 |1 ~ ?& N6 x 查看是否上传成功
B& X9 J3 ~- s% c' f$ X' D; P, ^6 B1 T
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/input2 Z) i! g0 t7 B
Found 1 items9 T/ V, k2 H6 C
-rw-r--r-- 2 hadoop supergroup 39 2018-03-03 11:37 /test/input/words.txt/ r) x1 r: T+ y: B; I" B( o
[hadoop@hadoop1 ~]$
* @) Z. ?5 Y' B! o' o; S' m
7 l6 d0 A$ P+ g! |; f* K; {3 n( g9 J! X3 B( ?+ x' A
下载文件, v- I% Y; J9 j4 Y! x
将刚刚上传的文件下载到~/data文件夹中1 F( T2 L% n/ Q: A0 C8 v
( a6 c( u1 o4 }& }7 m6 _[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data4 B* r4 S% Q( C0 S% p2 }
查看是否下载成功9 x9 y/ Q. D& R
9 C. ^4 z( o0 _- f4 ?
[hadoop@hadoop1 ~]$ ls data
4 `+ [0 [& o Vhadoopdata words.txt
9 o$ s# A6 e% m[hadoop@hadoop1 ~]$ 3 k. ]* j- W+ _- J
4 j; _# G. R% j: C
6 L* X# A* [3 i: t运行一个mapreduce的例子程序: wordcount! }3 ^0 r0 U5 r h* m w( ~
[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output
( l9 N+ F5 V6 p8 A, E4 h% V" s# j) W$ I8 g
# y1 ]) R8 ]4 O0 X
在YARN Web界面查看! J* h+ m2 |& ?( x4 j4 _4 ^& e$ a
8 |( `. s/ Q5 P2 L! Z
5 E1 f7 E9 k9 m" d# ?2 E0 g
$ H$ }% s$ a7 L: J/ P, U
/ Q+ o. z& E4 j) [( Q* ~4 R
+ r2 W* z5 f4 d7 F1 B0 @查看结果
% W2 S; X/ P6 l, A( `3 S9 c
$ F4 _; ^4 ]# S1 ~! K复制代码
: i: D) ?! p, Y% V[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output
0 A1 _* i2 Q% ]6 S aFound 2 items( B( T0 V5 M. \) N0 \
-rw-r--r-- 2 hadoop supergroup 0 2018-03-03 11:42 /test/output/_SUCCESS
; Q j5 u3 ?2 S- n! S* f2 i-rw-r--r-- 2 hadoop supergroup 35 2018-03-03 11:42 /test/output/part-r-00000% e: B: O' ^# k7 g; B, G4 l
[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-000009 B" a" h. d3 s' w8 r9 t) q
hello 3
' ]- r* v* r/ F f: B- z6 L; C' xlisi 1 |) K5 F& g3 s9 C- @1 I
wangwu 1
6 {. j: p# L7 {/ d- u: q$ C& m* e6 Dzhangsan 10 n5 U' S9 @% r3 i2 L
[hadoop@hadoop1 ~]$
8 @( I& u* D9 s/ p i复制代码
# g. ] U- x: _$ K/ U. `4 ~
, Z! I" w" w; |% D' m3 y" c; n+ i6 Z' F% b9 z
|
|