- 积分
- 16844
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
目录
0 }) c4 K! U2 b9 [, m
2 q3 k, O+ }' B' g7 u概念了解
9 U* m P+ m4 Z; @2 _6 W集群服务器规划
5 ]# l5 A }3 ~1 c6 x软件安装步骤概述
) E" t" P2 H2 R4 K iHadoop安装. k. p( F! C7 y! k7 C
1、规划6 P& k. ^! F- `2 t
2、上传解压缩
A: n8 f; x9 }/ R, c X3、修改配置文件
9 _0 {4 ~6 `$ y; Q5 \4、把安装包分别分发给其他的节点
+ X- u9 D! d0 V5、配置Hadoop环境变量, r5 j2 v- m2 e8 \0 Y
6、查看hadoop版本4 g' T' c0 n6 ?( `2 F
7、Hadoop初始化+ M8 i. p9 }0 J8 ^
8、启动
/ Z; ]- l- r, t3 l3 ]9、查看4台服务器的进程
: S+ ]- Y d- T; M5 c8 q10、启动HDFS和YARN的web管理界面9 m4 p/ N- s( u4 S
Hadoop的简单使用/ B5 W* `* O& U2 l+ d. Q5 Z1 r: E
创建文件夹5 Z& j6 W% @& j: Z1 O
查看创建的文件夹
) ~$ A V. S+ ^& a上传文件2 y' F y/ D* v5 B/ B" w( K
下载文件
$ O: V. J7 i! B p, q5 x# t" K运行一个mapreduce的例子程序: wordcount
( \8 @: S. ~( R+ k* @3 r9 P7 j: K! l& F) T" E! X
6 P8 d, ^9 S! W3 c+ w$ {3 a; u/ y正文) A" Y" R0 h5 S2 p2 g U3 x' a
+ m6 M8 G3 N( q$ `1 d
回到顶部- E- X" T6 ?3 ]$ w6 d
概念了解0 s4 } P/ v0 J+ F' \
主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构。
' _' P ~ ~; B# f# A
7 T) c/ |9 y( n% R- D' W主从结构分类:
- i; L T/ ?2 u* f* N3 E$ k; `2 s$ ~# _0 g9 m: x: ?! F' _
1、一主多从! w5 c2 T5 w( s' ?7 V- L, {
/ r4 N; w' F. c3 n$ I, U0 o: a2、多主多从
% ?- H. @" M# C+ {, q. A2 |0 N; S9 M9 S8 z* @* U
Hadoop中的HDFS和YARN都是主从结构,主从结构中的主节点和从节点有多重概念方式:4 r+ x0 s' M, Q( A. u
0 }! T3 a5 T0 \$ o" [) e1、主节点 从节点
5 f9 M: w" ?7 W, l8 i
+ C8 @/ W3 g5 q3 H' h4 u9 \. l9 }2、master slave/ a0 q+ M$ t |; a/ }
2 F; X+ ~; L/ f5 s3 {* @ [8 Y3、管理者 工作者
# W4 Y/ H, q) }0 R' Z0 @3 {+ N. q. D; K( J; w% h
4、leader follower( s, r X7 h$ X, J, C5 R
) H2 X+ D* A8 r; f% U) g1 k# j
Hadoop集群中各个角色的名称:7 C2 _ i2 @# v
" Q: B5 ^& X' Z C$ t服务 主节点 从节点
( `7 J1 `% O$ @& H9 i. OHDFS NameNode DataNode$ n2 S" s' H( H# {8 V- E
YARN ResourceManager NodeManager1 S3 J' b5 M4 ?7 d- W$ n
回到顶部
( y) i5 O. a6 t1 [集群服务器规划6 a: {: V% ]! m* W! }3 k
使用4台CentOS-6.7虚拟机进行集群搭建
" ~$ v8 M! p3 ?
8 X' h4 t% K# Z8 _4 R
4 D7 C0 e0 h" t, V+ a; e7 |( x9 G
* `9 r0 O* m, i9 E, ]8 U回到顶部8 f+ ?- y( F1 _2 O6 h0 X9 X4 `
软件安装步骤概述1 _7 z+ T2 c4 `+ e- m
1、获取安装包% q- o0 F [8 d* g( X. W
% D' j M6 d& l% z- V; ?6 y2、解压缩和安装+ \" O' Y/ I) }# {1 p
6 ^2 u a8 D4 `& `) m
3、修改配置文件2 \5 B E) i( q7 z$ _/ k+ ]) H) G
8 S. ` G# T7 g# H% I. Q
4、初始化,配置环境变量,启动,验证
, u* \6 g2 S) O) v+ l
! ^: }! w1 h5 s, A; a' O0 G/ W回到顶部* @) s* X+ z; C i* ~% y
Hadoop安装
: m; _; ^' U+ t5 S1、规划
8 W( J$ D( ^0 h2 ` |# {+ B0 d规划安装用户:hadoop1 U" q3 G0 O; v
4 |8 N, p2 g. r4 A$ `" Q规划安装目录:/home/hadoop/apps/ }5 h; a- S j- ]8 ]7 ?4 J
` C: e0 w2 x% J6 ^4 A0 h规划数据目录:/home/hadoop/data
1 D( I7 K1 U3 q3 s' x# \
$ T& K( B& ?- v8 G6 R' l注:apps和data文件夹需要自己单独创建 f- U& \6 C3 |9 T# Z
8 X, M( _5 g s1 r- P2 ]5 T4 P2、上传解压缩6 v$ r6 U# C2 m- D! x t
注:使用hadoop用户" U" c, ?4 q, o/ T7 t
% r6 A8 e! V$ F/ H
[hadoop@hadoop1 apps]$ ls: h4 a5 V% @9 W
hadoop-2.7.5-centos-6.7.tar.gz l0 ?; g$ ]/ T* b) l) ?; m% C' I6 W
[hadoop@hadoop1 apps]$ tar -zxvf hadoop-2.7.5-centos-6.7.tar.gz 2 e }5 m+ c5 k9 y5 ]
3、修改配置文件0 _! W7 u& u' p; U% _+ ^
配置文件目录:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop
4 o' |+ {5 w- a0 @. i" L" R- C- Z7 J. h Z: T& d
3 K" G* r9 q) F0 Q1 {+ ~( @) B+ j; k# C4 {1 d
A. hadoop-env.sh0 ~7 j8 c6 U8 l; a( X( k6 c0 Q4 i
[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh
5 X7 ?9 U7 p: Z# @! S6 \9 I修改JAVA_HOME
3 j9 @# g# { i
: Y6 H: J8 A' r$ u- c1 T4 V1 `" [export JAVA_HOME=/usr/local/jdk1.8.0_73
7 @4 E) Q& i+ b! d
! x$ O* w# V3 @0 ~, U1 g! @7 c0 U* ~7 v" ?0 m n. W; K2 d
B. core-site.xml
% L0 e& N0 @, x9 |2 i9 o( F
' @. n1 L ], G( ~[hadoop@hadoop1 hadoop]$ vi core-site.xml 5 }: v- q) M" O( F% H `
fs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务1 ~7 Q% P& T; b; U. m2 L# [
) U. m$ v, N/ V; M8 p, ?& O# nhadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录
; m" [( T2 V, x, u1 v5 y9 b+ G1 q$ `
复制代码
1 ~- z0 W+ ~5 w4 ]! `<configuration>
G" W0 V, g/ N& |" p <property>
5 @& J1 c/ j: C5 ~, \ <name>fs.defaultFS</name>8 j9 Y. M4 _ U, K+ r: Q
<value>hdfs://hadoop1:9000</value>, H. w2 s2 V6 ^
</property>
5 P" u$ [3 F* R6 x( e$ P <property>
5 C" V* m7 r; j U3 a) s <name>hadoop.tmp.dir</name>+ [' r" }* F( p% Y0 B
<value>/home/hadoop/data/hadoopdata</value>$ R2 p' P6 D; L- U; s: o( o, N6 q- f
</property>/ p( ^, x2 p9 g* {( E
</configuration>
5 f8 w: K" m2 M2 G复制代码+ w) s; o4 K" f6 B1 x$ |3 d
& s/ m% v% o. W5 t" j" }7 m$ H
' R- k7 L+ t# Q$ i: x2 o
C. hdfs-site.xml8 a& N- L+ R0 }' z% G
' l V5 r6 A* l0 l+ {/ R( A9 P
[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml + A4 I% M& Q% L' E3 l: ~8 X- \
dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。$ s* i8 y, W( n. v$ o: [3 O! F
. H9 s3 w$ k. c$ q0 b dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。
0 O8 W/ F$ w# c n1 [5 N. e) T8 s
dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。; a* w5 n% F+ ?1 z0 d$ s; K
6 T# B) a4 m- f: P. }dfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点
$ v6 L6 S0 Y) k( D, i3 t5 n
" z, H- k t7 g' S1 z' z" T5 e复制代码
, h( K6 b5 v: `, s9 t8 S. c<configuration>' ^1 T& f3 m# R1 e6 F
<property>2 |- q7 i, q2 D: R7 S
<name>dfs.namenode.name.dir</name>/ t z% M2 o/ I6 d- V
<value>/home/hadoop/data/hadoopdata/name</value> w, \2 n) [8 Y" _& Z- Q. A
<description>为了保证元数据的安全一般配置多个不同目录</description>
! x# m: b4 }( S- l </property>
% D8 Y( T$ S: e3 K9 t5 d& U
~1 p9 g' Q; G4 a$ ? <property>, k' ^$ ~& O3 |( a/ H3 ?
<name>dfs.datanode.data.dir</name>
4 |1 c' Y& Q5 N, l- F <value>/home/hadoop/data/hadoopdata/data</value>
$ q3 @# t. `4 S: e& r. t6 o, m* x- ?3 W <description>datanode 的数据存储目录</description> a J m( ^9 C
</property>8 y% C2 x3 f7 g4 o% _! W4 |
3 C- _7 Y, X. J2 ?8 N
<property>
( w: h! d/ D" ?8 j3 H$ _ <name>dfs.replication</name>
& k$ ?! b; g) C$ h9 L6 u <value>2</value>
8 b( Z) m- `4 Q <description>HDFS 的数据块的副本存储个数, 默认是3</description>
2 y, |# b0 `. ?% B( o </property>9 `* j( z$ A9 ?
* o2 @' S8 ^ `( |8 e6 _7 p <property>
4 U" y. A o3 f" t% w _' `; B' T; O n <name>dfs.secondary.http.address</name>4 B& g" \4 `# t) I- \
<value>hadoop3:50090</value>3 x I6 |3 [5 g
<description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description># V' d& u! w. G- c! _8 [
</property>3 r- T) r- w. F6 b$ X. Z* G4 `' Q: A1 v
</configuration>9 k# R9 U% v) X2 i+ N, q. Q
复制代码
* {2 q1 r8 J% q5 Y
- {. w, s2 r" u9 u A/ {
% h$ s1 Q( T* I5 H# N" VD. mapred-site.xml" m) P" ]1 R5 A) L
8 ?6 n9 i- U5 X$ B& [
[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml& K7 c- Q/ L# X1 L A$ z1 Z) W. c
[hadoop@hadoop1 hadoop]$ vi mapred-site.xml8 a1 s1 k* V- N% Q
mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。1 M: l, ~0 L# i# W4 z1 Z
& m1 z, o7 s' e& C
复制代码
, E* Y" z, E4 E8 T( E1 m<configuration>
# g# w. x" x' h) C <property>
9 B6 v) w; u& `4 ? p <name>mapreduce.framework.name</name>7 d0 Y7 t- r; b) y5 L
<value>yarn</value>4 Q8 k: W- k/ A; O% l7 P
</property>& l8 v4 D1 z# A! h7 ]2 w0 k. W
</configuration>4 P% h5 ]7 s6 |6 N7 K
复制代码
& Z8 n. D& f7 H, v& ]( |: ^3 n0 N" l8 {; R- r5 ] P
- x4 T( u' e0 LE. yarn-site.xml
2 c( C! j* A3 Z0 `/ d# v, J6 H4 b, c8 X0 J& s
[hadoop@hadoop1 hadoop]$ vi yarn-site.xml
) t2 Q3 {7 r$ h, b, X yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址1 M- ?) g" a+ m8 D5 e h3 h& c1 m
/ Q0 x2 G% n1 o, I6 Q
yarn.nodemanager.aux-services:% V( L/ H7 C8 [( m3 c$ [" W) n
/ w3 S1 J( m$ ^+ h) F- `复制代码# n% e! u3 ^# N) ^ q& ]- t$ `
<configuration>8 i, Q" j- O5 j r) j: S( _5 P
7 @; g" A+ M! I4 {<!-- Site specific YARN configuration properties -->6 ]% w) Z3 R0 X* R" R! Y" z- X
/ D$ K% N6 U, q3 {& O5 a
<property>
0 e* F; i8 n. P( m& P2 R( E <name>yarn.resourcemanager.hostname</name>3 V# c! P. t* c+ \
<value>hadoop4</value>/ M, D- K4 s# G
</property>
' D: L3 D6 I$ A& ^
8 r* x2 s1 t1 V! M2 n% L/ x+ t* x! G <property>1 ~: |$ g! a4 W
<name>yarn.nodemanager.aux-services</name>* j( u8 N6 V; d7 ~! m* D
<value>mapreduce_shuffle</value>* N( W2 @* J% t8 H) ^
<description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
/ J) C$ ]! c0 p' g& a9 I# R2 U </property>
: c" R/ O* k) C3 D
5 B. }; U6 p- \3 n7 F</configuration>7 t! [* x' m% t7 H+ r
复制代码" S2 ?" k1 _5 Y$ m7 Q
* v1 X: a) u0 f' d
9 ^) y5 [" ]2 p8 P) [/ j
F. slaves
- c4 W) {# i7 u& K: N
" v. w! r/ F+ f( B[hadoop@hadoop1 hadoop]$ vi slaves
0 S+ r* Y( G5 H: e4 Mhadoop1, w$ w9 f8 g1 }+ Z; F6 ]0 P `
hadoop2' j' F8 t' v9 L4 j8 R- T
hadoop3+ d7 L' `$ t- o& ]* C4 B8 ~
hadoop4
" }/ V C+ P5 d/ c9 O. C' b$ Y4 C1 S! M
\8 D) L9 t3 q* a/ I7 D. r( R9 b4、把安装包分别分发给其他的节点& z5 W$ O$ E3 D
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
& x. q7 k% b2 F* D% a0 C2 A8 O重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
4 U$ C* }; V2 J$ Z5 w. ?, T$ Y重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
6 A q1 R3 n; H$ Q) W% d
% T/ |" K6 J, s. ?7 D- Z) y1 ^[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop2:~/apps/
3 N# h M- G- N; W[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop3:~/apps/
. _8 w3 n1 Z3 \1 N$ C/ N- u6 Z[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop4:~/apps/
' L) i% C( b5 X- K注意:上面的命令等同于下面的命令
2 W3 J1 e, x' d0 [9 P
$ @7 F! C P W# l$ Z" p3 e! }# l[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop@hadoop2:~/apps/
) v9 L* K8 O; Y6 c( A2 Y7 s5、配置Hadoop环境变量
' }, p' R" Y4 `7 H7 U1 g千万注意:' I8 q3 L/ {7 ^* C& w5 ]1 T% j
/ c( S6 a/ U/ y( Z" K4 B7 Q
1、如果你使用root用户进行安装。 vi /etc/profile 即可 系统变量# G/ f8 ~* u$ o
9 T( V* n- q$ K; C+ h- X8 r/ P
2、如果你使用普通用户进行安装。 vi ~/.bashrc 用户变量 A3 _' r6 y' W3 _: \
, L! R7 e( l3 W7 n4 i7 X/ W* T) r" `9 o[hadoop@hadoop1 ~]$ vi .bashrc
( y c. k# a$ S6 h! nexport HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.50 x# \1 M% L7 h& T- _: n
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ S' ^ X. ]/ f% t, t% B
4 [7 I/ D6 B: C8 z2 \2 ^+ H& y" ^, w! r
使环境变量生效
! R- y1 P% o: `8 a; Z
% L9 u7 ~2 G% }; F- V[hadoop@hadoop1 bin]$ source ~/.bashrc
4 d) N% Z) q: v6 @6、查看hadoop版本0 Z& _$ k( v: l+ \( T
复制代码
9 U& S/ j0 E" d1 \% m: ~[hadoop@hadoop1 bin]$ hadoop version
+ o5 H, S+ l1 O" PHadoop 2.7.50 {- s% p1 y9 }3 m3 W. w
Subversion Unknown -r Unknown* l: [+ ^; |/ k! e
Compiled by root on 2017-12-24T05:30Z
' t' Z* V0 c/ f, lCompiled with protoc 2.5.0
$ \6 B: c# }0 ~" d/ U. E6 LFrom source with checksum 9f118f95f47043332d51891e37f736e9$ W+ M: t0 a! E
This command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar7 T7 f8 n& b- ~+ u# T
[hadoop@hadoop1 bin]$ % Z2 ]2 h* g `) t
复制代码) ]6 Y3 b, `3 V9 C* ~# N/ l
, N( L; }" j3 K! F4 {: ]. {$ g6 A* ~& x4 P$ Y
7、Hadoop初始化
+ H, ^- y# M5 s8 O" e3 ]注意:HDFS初始化只能在主节点上进行
1 a" K, S+ b* S9 G
9 j4 G* y) D$ e) b5 ]0 D[hadoop@hadoop1 ~]$ hadoop namenode -format
: x; \& L0 |3 y2 {. h% q! r& X. F View Code
9 Y2 R6 T7 L) i. d% Z2 k5 f. K, U" C
' C" Q# U9 r+ Z9 M- q( f F0 H0 d8、启动) [* G; }4 j+ ?+ F
A. 启动HDFS
0 m7 n/ y+ c+ w" R5 |
' k: S/ L: j( G7 B) o注意:不管在集群中的那个节点都可以 m( B! ?, e3 E/ j) i
6 o- q4 }7 I1 R/ }' Z
复制代码, ~: {& N( S* E1 _" C1 \
[hadoop@hadoop1 ~]$ start-dfs.sh
0 u! s9 h! ^) _6 o, B+ FStarting namenodes on [hadoop1]" y9 n( j, R" |
hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out. b* _' }* i% u
hadoop3: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop3.out" @8 L. R# O2 |: Z, l5 A
hadoop2: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop2.out
; @! s' [# Q% l# Ghadoop4: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop4.out; q% X% |' W7 N3 M) g2 S: T% l
hadoop1: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop1.out! ?) U3 J$ D8 v5 B
Starting secondary namenodes [hadoop3]$ z6 C0 i3 r5 [5 y
hadoop3: starting secondarynamenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-secondarynamenode-hadoop3.out
7 @# k! x9 e5 J5 m4 M[hadoop@hadoop1 ~]$ 1 _8 T/ f. z% J) A) p
复制代码
7 U2 K3 O) g7 z& I+ D; s Z
5 b B0 x7 j$ X+ i+ g! A# [$ J, s; C
B. 启动YARN4 |! |% d8 N) o. Z
; S& l- ]- z1 p6 w* g# Z
注意:只能在主节点中进行启动
% V, `6 x! H! R5 R( C" c1 o2 ]# H! H& _2 W3 h
复制代码$ F2 {: S( e8 T; F) q+ j, J4 Q
[hadoop@hadoop4 ~]$ start-yarn.sh [- ?2 R3 e* N" c3 a
starting yarn daemons( D" ~ P1 w3 k! s3 L
starting resourcemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-resourcemanager-hadoop4.out% A$ b- \$ C- |* o
hadoop2: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop2.out
$ B3 w J" k& l/ W* s$ ?5 Phadoop3: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop3.out9 y6 y4 K, n" U% u5 w
hadoop4: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop4.out7 V3 ?7 W' ~ ~
hadoop1: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop1.out9 M! v9 ^# H0 v n0 [$ ]2 W) s
[hadoop@hadoop4 ~]$2 q: Z( W! d7 [
复制代码8 x, G6 Y" T: G2 G7 |
: q J' K U U& g( i! ?" R! T0 c3 F8 I/ }
9、查看4台服务器的进程" V! M; i% ]) p4 g6 T3 e: n6 ^
hadoop1
% J6 [' ^" B1 @9 U3 u$ z, C. T( O7 ]" b0 J7 w
, I4 F+ E& x# `5 I3 r6 s. \
6 Q. j6 L5 G M# Chadoop2
( V0 k } c6 N. |
. ?7 B: c: ?- y2 O/ J. j+ A; m5 \3 [( X% ]* ]# z' C& h
4 n, b( a s0 u( T: n9 N
hadoop3
0 G' t0 z2 Q$ ]: ?; R4 H9 `" t0 A/ d( Z1 A5 o
! p8 z, U E" Z% q
2 b- \. D1 {8 e. [, t+ m
hadoop4/ d* O% E* n, P) E3 V
) a$ a! N, r* o1 Q8 Z2 I0 D: ?: [" J8 l% q; p) h, V
0 b1 w* ?8 A, f$ m7 J6 O10、启动HDFS和YARN的web管理界面, O2 K% y/ |5 U
HDFS : http://192.168.123.102:50070& d3 V9 Y# g9 i; M3 F
YARN : http://hadoop05:80889 } K' p# |* y$ T* n5 {
9 n; D- K, z& M0 @
疑惑: fs.defaultFS = hdfs://hadoop02:90004 i, D! k1 V- V+ ]0 x0 O5 b/ K
: i5 d3 h( l2 J% K
解答:客户单访问HDFS集群所使用的URL地址
6 h5 T6 ?: }! f s" |* I. K
o8 K0 }% d4 j8 ~6 L, }9 w0 J同时,HDFS提供了一个web管理界面 端口:500707 J3 Y, u7 P' d( {. ?* I
: x3 F! o# H3 ?2 p) PHDFS界面8 t6 D) D+ i v+ b/ ?3 M/ ?
6 r) {; s1 N- r4 U4 L# u' I3 U6 X
2 R9 ? v* O" y d9 n$ M: W点击Datanodes可以查看四个节点
3 Y& o$ Y0 R, d% D' o0 ]2 _( r: Y' t% Y& ^4 x' w" y
`2 A% R n+ }- ^% J% t6 Z% F/ ]* [; | v4 g7 l$ m5 e1 p
YARN界面" H, z) L2 ]) i7 ]+ Y1 ?
% C5 G6 c5 q( H- n1 o1 J+ D" _" N5 Y9 |9 I$ A8 L: j
点击Nodes可以查看节点
- m' C* [' r4 k% l9 j) L. P' A1 a& _' i7 P! R4 F8 ?
# w7 \2 p7 F' i6 C1 Y6 o' A; e O" @* f6 I4 T; J2 ?
回到顶部4 m" G2 h1 r! U* I/ i
Hadoop的简单使用
- I5 t5 b* w& Q% u- J5 I. C- X创建文件夹
. N' h) e/ P. T1 q1 v( T在HDFS上创建一个文件夹/test/input
+ {" A' x: A! `2 M
# V3 T; p4 g# U[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input' K6 Y6 p7 f$ `; ~' u
查看创建的文件夹8 {, G; k9 G# I
复制代码
" U# e! Z8 n' h u+ ^% l# Y0 x) Z8 i' Q8 C/ I[hadoop@hadoop1 ~]$ hadoop fs -ls /
+ f: l8 r. d& ^3 k/ o+ b( SFound 1 items2 e; ]3 H$ E) U" D) j1 U0 ~
drwxr-xr-x - hadoop supergroup 0 2018-03-03 11:33 /test+ O, x) _6 O. y G
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/ n7 p2 F: e, W
Found 1 items
* `; t4 @$ B8 X4 p% `9 G; E Udrwxr-xr-x - hadoop supergroup 0 2018-03-03 11:33 /test/input G$ H) W% k. `2 |
[hadoop@hadoop1 ~]$
" `& _# f, x8 a9 f* p复制代码9 z( G9 a- X7 l+ }$ C# S$ d# P' ^% S
) |0 L: b1 g. l, X0 J# w+ j5 O7 E. Z+ Z
上传文件
9 r9 R5 ~: W! P% M* S创建一个文件words.txt) y/ D- H5 {- a6 w( r
4 {! {' f/ D$ s& e; W3 l[hadoop@hadoop1 ~]$ vi words.txt
4 c* v2 S2 K( `/ n& a( whello zhangsan
4 V: F5 e7 x8 ?; j3 d' ?+ _hello lisi
, P, B9 l. P; E4 F; }0 Hhello wangwu
- F4 d8 ?3 h' f, S; l; L- L上传到HDFS的/test/input文件夹中
6 d# _: B) ~7 R. I2 f1 c7 @2 G7 H* n/ h
[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input8 }6 \4 m, c$ p7 ]9 `0 O) F* w
查看是否上传成功3 g1 |) u# o" q* @3 b7 k: X
2 ^5 K7 C. K0 f9 T[hadoop@hadoop1 ~]$ hadoop fs -ls /test/input* }0 V; L0 w0 N- o7 G* a
Found 1 items
( G+ o/ m1 J y1 j: ~. C-rw-r--r-- 2 hadoop supergroup 39 2018-03-03 11:37 /test/input/words.txt1 c( I" V" U9 Z/ D, @& ~) g" j. |7 P3 L4 g( R
[hadoop@hadoop1 ~]$
! S1 W3 n8 O5 ~; L4 ~# e! i) E' D1 m% C; F' f) j( K- G/ s6 q
5 t+ o$ z* T( @" E下载文件/ l) m/ D. @6 y0 c6 j5 ]% T# _ m
将刚刚上传的文件下载到~/data文件夹中
2 W8 D! ?8 b) L7 _* ^
, @4 t% B; \7 @# A[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data' o0 d6 }. c; [0 r2 N# w
查看是否下载成功; S& {* T, p& n" i, u" T
+ x& A, T, t N/ L0 j" ~, y
[hadoop@hadoop1 ~]$ ls data, H0 u# [6 U% S6 W/ Q/ T o1 X
hadoopdata words.txt$ e6 V& T5 V# a/ D2 }' }4 E
[hadoop@hadoop1 ~]$
; O* b$ H! M5 p; N! U7 S9 a& r6 r3 l2 T9 Z/ Y7 ^/ F! K
6 G* y {7 }6 `8 N- u, }3 {- V, V
运行一个mapreduce的例子程序: wordcount7 F# P9 R( Z5 c* F
[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output# c& Z# T+ t/ A0 z* }4 d/ m& ?1 W4 A
9 z b- F/ w8 w% |1 H) t/ M3 [
4 j5 B* q. i5 P5 ]/ R. d2 {在YARN Web界面查看/ R, z1 x: u& T' R2 T; g
& r: _, x9 B, e5 b5 g
+ f4 ]7 N# \) c2 G. ~* p
; x7 {- x3 C# i5 [9 @/ _. j( L% `! ?
# K w' ~/ P2 g+ o, w4 y( g6 a) E# c
查看结果, r- \7 D& f1 Z* ]
; z- t+ r2 X& C- ^* J' {复制代码
1 x* G0 K. d Y7 T[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output
6 ^7 G* I/ G- x' @4 G1 j1 Q5 MFound 2 items7 G; r# w, ]3 R% I% Y
-rw-r--r-- 2 hadoop supergroup 0 2018-03-03 11:42 /test/output/_SUCCESS F2 ]$ n/ d9 A9 w; r5 q. x
-rw-r--r-- 2 hadoop supergroup 35 2018-03-03 11:42 /test/output/part-r-00000
- n$ p1 m% y: s/ }8 M: d[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-00000
* n$ [ U. G. M8 k" _( k9 zhello 3
! v- w" {. X* xlisi 1
; Z5 N* x# l: I% |! Zwangwu 1
, {, J1 j- C% i! @: j+ tzhangsan 15 M- u1 U& X+ S, Y+ L( d2 C: ]7 A
[hadoop@hadoop1 ~]$ / L0 b0 O9 C G; t7 e, J5 G
复制代码" X! G- t6 `( `9 B
) ^ I0 o3 Q5 I
1 k/ V$ N" \7 w- u$ Z7 W1 Q
|
|