找回密码
 注册
查看: 572|回复: 1

Hadoop学习之路Hadoop集群搭建和简单应用

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-11-7 11:16:59 | 显示全部楼层 |阅读模式
目录& q; e( ?* L: E) L- X4 [, p
/ j( B  ?7 E$ k
概念了解
2 F+ P1 M. Y1 x, q* F8 |+ h3 c( E; N9 h) k集群服务器规划
7 V" L! ~: B- i/ K7 p* k' G软件安装步骤概述
7 ^! z6 G5 K# aHadoop安装. h# W: A" n2 N$ F
1、规划3 v. I2 V& B; \. h
2、上传解压缩
  l, v$ H* Z; I: v: ^3、修改配置文件
9 `% A, P! i6 L. L4、把安装包分别分发给其他的节点
. b& R# ]1 z9 x% `1 i4 s5、配置Hadoop环境变量6 c0 Y3 s3 \; ?8 F$ p( l+ d2 [0 t
6、查看hadoop版本
/ ~: r' L" m$ I! O5 y% p* X7、Hadoop初始化
" I) ~2 P8 w# z) E- H# T8、启动: t+ M- H9 M4 N- M
9、查看4台服务器的进程2 E" b& m7 p+ T8 ]
10、启动HDFS和YARN的web管理界面
* B3 a; V( T; j! |7 F+ oHadoop的简单使用
+ U) Q  j2 J0 B% q2 _3 A创建文件夹2 A0 m$ w- N) A- }# D( O: q  H- ^
查看创建的文件夹) L/ R) M- A) B+ M% E+ ~: N
上传文件) a* j5 p4 m# O! S$ s( v1 x+ G5 [8 i
下载文件
: Y# a4 P/ M: G" N% W运行一个mapreduce的例子程序: wordcount
' f1 S& c+ X  f* U* @/ Z8 l1 X3 M# r2 g( E+ M2 f9 s
* s- q! G5 q$ B2 X$ g! J' J+ K2 j
正文
" t) J. o) G2 h, n. A+ F+ x" d" q8 Q( L2 J% ?
回到顶部0 _# r0 `- }) `( ~0 k' z
概念了解+ [5 g6 P" H: i% j- F7 d
主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构。% f9 f; p0 [+ z/ n  x' H# {8 [

1 B4 g) q, D/ k% b& t主从结构分类:
; V4 J+ f& p: n- |" L5 {; B6 ~& T1 U/ @; x; f. T+ s) C; }) m
1、一主多从& z0 E( U# n& S
% L7 P2 R7 G. `0 k- `8 @
2、多主多从
, H1 X, X7 x4 p# X9 J9 G' W8 k+ D% H" M% p
Hadoop中的HDFS和YARN都是主从结构,主从结构中的主节点和从节点有多重概念方式:
7 s0 F* U6 V; P6 \# m" Q8 d6 I9 r* O7 ]% H
1、主节点  从节点1 t8 D- S$ N+ I4 y/ Z

% ]( A+ W- d) U; C6 e+ E1 X7 q; r: t2、master  slave! i0 n9 B: W( d! n3 m: U( b- s

* Z1 ^0 p/ C  H/ h6 ~9 _3、管理者  工作者) O0 N3 u! S: D/ g, D

: a; c8 `( i- v; z4、leader  follower' i& k. K: Z& g2 U

  \0 S3 M" n: Q( bHadoop集群中各个角色的名称:7 p1 _, n$ n+ K2 Z7 t  g

) B  q' d  ]  V服务        主节点        从节点3 I. E1 x  P) u! `. U: m
HDFS        NameNode        DataNode
3 y: ~  ~- W% _& e& aYARN        ResourceManager        NodeManager% P5 m) ~: u8 B" x
回到顶部4 q1 ~! k! n+ ]/ T: R3 g7 L
集群服务器规划
  e- z% f" Q6 w- @' X) E使用4台CentOS-6.7虚拟机进行集群搭建7 R, o" H" `, \, y4 S8 N" Y
( |& G/ Z* C! z. M% t6 ^

0 W5 {$ ]' [: H3 f9 f& ?) e5 @' K+ U1 E" t" U" u" s* L% H
回到顶部9 Y: ]3 L4 f" @0 o% A7 p" x! q
软件安装步骤概述* I2 s$ f9 j5 s3 g( e
1、获取安装包
1 j, m- d) O5 z& R2 g
" M0 r) p* v# n' T( r" Q5 r. L; \2、解压缩和安装9 \6 ?6 n% [/ f" |6 h  c
. d+ T( C8 m  T6 S
3、修改配置文件
! O" Z+ @- A& b) r) [) Y3 o
6 r$ N* @2 D, X( t5 g( u3 ~, |4、初始化,配置环境变量,启动,验证
. d' l/ }* F  J: R2 a& H2 r  t& T: l4 d9 z# z! b, @+ j' ]/ i
回到顶部  {, l' G+ _/ o- x1 l1 \
Hadoop安装; z2 P$ V6 m8 m% m* ~/ t9 A
1、规划6 m6 }5 f" P" R! X4 V* E6 Y/ `
规划安装用户:hadoop
: l4 j9 e, K( c9 Z3 x6 P& R9 x1 f, w& {% U* H
规划安装目录:/home/hadoop/apps1 ^& A# T' S" ^/ t* ?
9 V5 F/ F6 Z2 Q) F0 C1 S
规划数据目录:/home/hadoop/data
* ^6 N; s4 X0 |' P* M. Z* J2 T' G/ p- n/ [+ H3 c, ^
注:apps和data文件夹需要自己单独创建
4 s% q( V5 ?  V) O3 v2 T
7 \: B9 h8 M  t' K) Y2 {2、上传解压缩
/ j+ [4 _8 L$ r8 T注:使用hadoop用户3 z9 R' c& @9 l
: P. ~' }- B; A- s5 x
[hadoop@hadoop1 apps]$ ls2 C2 _* y$ ~  ?- @, ]7 ]
hadoop-2.7.5-centos-6.7.tar.gz
$ _* ^. }- B2 F3 w- S6 a[hadoop@hadoop1 apps]$ tar -zxvf hadoop-2.7.5-centos-6.7.tar.gz 0 s% \7 f1 e7 i$ \+ E! y
3、修改配置文件
0 [- E9 Y# a; R" i4 c7 l) c配置文件目录:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop
) u9 s4 |, y$ c( \2 I9 Z
# P. Y/ v! G) ~  c! w- ]. h% Y0 ~8 l3 B8 u. L

% F  ]+ B6 V' [A. hadoop-env.sh
2 i# p# p6 Q. W, F  X1 ?4 s/ ~% w. j! Y[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh
7 T$ r4 v5 |! t9 H! [' w修改JAVA_HOME
* `( ?' x& u' [4 ?4 R. j2 O( v# C& E  v7 `4 h$ }' Z
export JAVA_HOME=/usr/local/jdk1.8.0_73  s: M  T0 q$ B/ g4 T& I
" F; M9 H4 |$ P4 W- G: t" D, h# S
; A* a# }5 R% t1 c' q
B. core-site.xml
# I& L: M! n: _' m/ \. t; H7 k- w3 K+ r
[hadoop@hadoop1 hadoop]$ vi core-site.xml + q* F( l/ D, o- r& t$ g0 h
fs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务) f) B# V0 q# \( t4 R' A# j, c: a" ~) m
. |' h& n3 R8 ~- ~9 l% d% Z( |! y
hadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录
1 Z) s' }+ Z) v5 P* w: \; z8 r4 r. _( I, h2 F4 S
复制代码: g! Q$ X9 H# ^3 ~
<configuration>
4 \8 {5 n4 x9 A" X        <property>
& e( g5 M$ n) I+ q7 Z7 K                <name>fs.defaultFS</name>
1 _  V( }1 I5 R- W6 Y# Z                <value>hdfs://hadoop1:9000</value>
7 I& _! i: T% s) f: m        </property>+ n9 r3 [& W# [1 n+ E' O
        <property>
; Q& W  c6 B6 q& s5 Z                <name>hadoop.tmp.dir</name>
$ M3 B( V1 J9 O# R5 d' I                <value>/home/hadoop/data/hadoopdata</value>
8 \+ X0 J2 p% i  S! @5 Z1 H3 z        </property>3 s- o9 s  s( h- X) s0 J
</configuration>
$ W: _7 p( G8 c0 v% C复制代码9 r5 ^4 f/ I4 l3 n

# j, D5 @" h! x. |
+ j4 W" Z4 C: ^C. hdfs-site.xml. Q2 X* }! ]7 O/ L  T8 O' o
- l1 u& V) T2 F
[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml ( B) E3 S: I  ?9 B9 w3 a( p
dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。3 A2 C* O! J- I! S
- V7 i& c! a4 K7 M; g0 F8 O
dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。$ h3 a# _/ j* I$ U2 g
8 N7 n! X" s8 q  m4 t, W
dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。
2 S. c# Y5 R: Z+ |
$ H6 G6 O+ F* F" q$ n( Odfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点+ G, f8 @3 t; x8 X* b" N, h
3 o5 O, @- Y1 S
复制代码
, ^; P3 E5 y, m. ~3 A* ]: W8 v$ z<configuration>1 v6 v7 F7 t; M* K
        <property>
8 f  b, u$ o8 E/ [' ]) l                <name>dfs.namenode.name.dir</name>
9 ?* b9 V5 [6 }2 J                <value>/home/hadoop/data/hadoopdata/name</value>& p- i) k' I) h" r
                <description>为了保证元数据的安全一般配置多个不同目录</description>4 X* u* E" c6 u4 r: X
        </property>
) z  i7 }* `7 S( e' ~
% \# Z+ [0 _9 q# V        <property>% \+ F* v0 j! \: M" L& o- T8 ~7 ]
                <name>dfs.datanode.data.dir</name>9 U4 j" m, v& \$ }, ^4 d
                <value>/home/hadoop/data/hadoopdata/data</value>7 L) {7 o, Z# W: Z1 J& E7 j
                <description>datanode 的数据存储目录</description>
8 x6 m8 o$ X  M# g  K        </property>' Z4 Z- l; ~7 i

$ s; |1 U. d2 P# B4 w# B        <property>3 m1 @* c' e% {
                <name>dfs.replication</name># H% q: J, V# U9 ^: r7 k$ X& ]
                <value>2</value>+ W+ A. u% |6 h  }
                <description>HDFS 的数据块的副本存储个数, 默认是3</description>+ j# l) c: G( a$ I' z
        </property>
; I& v. ?. K3 l. R$ {6 }# _/ B+ {0 {
        <property>. e& h" R/ z" G* P$ R* n% s
                <name>dfs.secondary.http.address</name>2 m+ |/ K/ a+ N1 J- l* S8 B) G0 _, ]
                <value>hadoop3:50090</value>
/ H" g; o/ S, o* i& ~* S                <description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description>. n: Y$ Y+ t! j3 A9 h6 A6 w+ x
        </property>2 F1 O0 S  \4 b3 K1 ~& q7 r+ d0 a
</configuration>, C* u. o2 g5 {- x$ i6 E0 C( h) K
复制代码
0 }' M% g1 a; t. ]. T+ n3 e" e# P# @! ]
" B6 h" Q% o6 ^$ n1 j
D. mapred-site.xml
* o3 @( W4 N& p" G2 l# u- i: R2 H9 E3 J2 W8 f- d: V
[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml4 `1 n( D- _9 `6 C! Q( l/ y
[hadoop@hadoop1 hadoop]$ vi mapred-site.xml
' V: j) u9 H: p/ P# d( i mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。/ _. y2 H" \" W4 N" n) L" k

7 R% }- @& F& G) r复制代码
2 E3 ~  Q; y! g# J9 O' @7 N7 G<configuration>: g9 l2 F0 m  Q: X* x0 u
        <property>, h+ L3 R+ \+ v
                <name>mapreduce.framework.name</name>7 u- W+ ?) t' T/ k' x
                <value>yarn</value>
3 c  l) P; ?8 L! a5 \0 U6 {; _        </property>
2 o8 g4 u  j8 Y  i, l' L! u</configuration>$ m6 {, G% }- I8 @
复制代码
9 B+ P, e7 W. ]; u/ K1 F/ h
4 X  Y4 }) }) K  `  O
3 x" Q  {+ e% ]E. yarn-site.xml
# Z% y6 o$ W7 g( |
. @* m, o& Q# {9 ~+ v[hadoop@hadoop1 hadoop]$ vi yarn-site.xml
* W% ^$ d0 b7 v- l+ \2 H& n yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址
! w+ E; k% Z4 ?
" L% i- T* a3 z) O% F yarn.nodemanager.aux-services:4 x* @7 t3 m/ N6 m

. z* e* O5 r% g, o. k! Q5 }复制代码
& f/ e' E4 ^1 j3 p+ t<configuration>' s6 D8 |7 Y1 U5 ~8 U+ g
( ^! ]3 Y3 y: p
<!-- Site specific YARN configuration properties -->) [# i) s) s3 N1 E5 ^7 k! M

' K% G2 ~' t/ T/ C" v+ C- X        <property>* l3 z) J# q2 b- I  c8 \; ^# U1 ^
                <name>yarn.resourcemanager.hostname</name>
0 B$ ]* t) _3 t7 [4 c7 g                <value>hadoop4</value>( `1 h5 r- e. _) w7 }; J
        </property>6 Y! s1 |) o) U8 g6 s  \% u: m

* Z  p# H" C' ?, G5 A2 r        <property>
, q' j7 ?  D5 k8 b                <name>yarn.nodemanager.aux-services</name>+ m/ G8 U4 m8 p; Y
                <value>mapreduce_shuffle</value>0 J0 C4 I; R) ]( ]$ }6 ^6 B7 `
                <description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
) V4 p; m  u9 a5 ~        </property>/ S+ H$ ?# t; q

5 `2 I# q* U# p; u+ T; Q</configuration>
' l/ A8 e/ i( L  F复制代码
0 g9 l4 @# Y4 h! O) `! O6 m- O+ Q+ J0 D3 E

  T2 e' A9 J+ G4 SF. slaves7 |6 A, h9 {6 j9 s, G# @" a7 L
  j4 Y: t9 ~0 z1 W2 o8 b4 _
[hadoop@hadoop1 hadoop]$ vi slaves / v  T( {6 L& }0 L- E' S
hadoop1
" x2 W0 A* \+ ^& M4 Z6 Jhadoop2
+ s; a2 f% h9 Zhadoop3
7 ]1 D+ n$ B' w) Z2 Z; r$ phadoop4% G' {8 M, H3 W

6 t7 q8 l, R! g& @4 O" b. a8 B- V8 L; L( T% b
4、把安装包分别分发给其他的节点
" e" Q0 t' u  Z! M重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致, H2 W& e6 b: m$ q9 {$ x
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
3 `  D. W' m1 I7 }, j$ g% ^2 g9 ^重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致9 r- l2 b4 q* z! J& T; p

" q0 |2 y6 _1 _# ~9 b2 \/ B7 q[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop2:~/apps/
/ Q' p8 f8 W1 d' R. C, }[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop3:~/apps/
4 ~* d9 N; N9 D) o3 D; `+ z[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop4:~/apps/' V9 U8 u7 M: a. W
注意:上面的命令等同于下面的命令: }. I1 b6 |: m" E) w. \+ P, ]

; K" N7 M1 l- P% v7 w. h7 Z[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop@hadoop2:~/apps/
8 ^  _; _, M0 I! W2 y5 W  Y5、配置Hadoop环境变量
% r% l' V3 I# g" o+ h9 v" }千万注意:+ ]* p3 {1 v+ H/ B1 E8 I+ Q, h/ ~2 g
; j+ |: C" X0 t4 }% c
1、如果你使用root用户进行安装。 vi /etc/profile 即可 系统变量4 ]1 H, L/ \& B( A7 h

3 L/ n+ z0 }- }8 l7 x2 n& h2、如果你使用普通用户进行安装。 vi ~/.bashrc 用户变量
) N$ u: ~' ?( x3 ~! A* C0 M+ t6 z7 G  Z. [% [3 J9 ~
[hadoop@hadoop1 ~]$ vi .bashrc" P6 J; }# F) G; V3 V, N8 W4 N' C
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5
4 X) A* q( `) aexport PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:/ _) ?. Z/ ^5 H" O3 Y5 A: q
9 I: z% a5 n0 x
( g' P6 S! m3 B# u1 L, e7 c
使环境变量生效0 D7 Y9 w& F& F* G' ^9 z" N
' d! G4 E, ~# [
[hadoop@hadoop1 bin]$ source ~/.bashrc
4 N2 N6 y) @1 ?- u8 d6、查看hadoop版本
6 R2 {9 a0 {$ q复制代码
; `& R; B  n7 e[hadoop@hadoop1 bin]$ hadoop version0 a( c2 a5 E' L6 E! @7 p; O% ~5 i
Hadoop 2.7.58 [5 O$ n) @0 b  k2 i3 ~; P( t
Subversion Unknown -r Unknown- u( ?9 N% t3 G% \
Compiled by root on 2017-12-24T05:30Z0 f2 L" w% f6 B0 D2 ]6 N) M8 ~, q
Compiled with protoc 2.5.0' [6 d' X  A7 T2 c  N
From source with checksum 9f118f95f47043332d51891e37f736e9
: P6 T* v5 O# L" z7 h) D2 s$ h: \This command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar
. z3 m# _" E( m7 ^* J[hadoop@hadoop1 bin]$
, }5 E' o( v3 W* t# F复制代码
$ o8 E/ k  B) N: t$ w
3 d. p7 J/ A" j7 g0 n" U1 A) M0 S- A# T' e5 e8 @5 i! E
7、Hadoop初始化
9 n0 j! ~& a5 x注意:HDFS初始化只能在主节点上进行
# }# j! w* F: H& ~+ o/ E# ?3 O! k
) x8 e5 u9 I6 {$ I- R8 w[hadoop@hadoop1 ~]$ hadoop namenode -format/ m/ L" I9 Q: N* ^1 |$ |
View Code
: W! c7 G2 R4 g+ w5 {6 [1 ?
3 l3 {4 f8 J4 ^* a+ ], t2 a2 j1 L# h+ A  q
8、启动: Z6 N/ X2 m" M4 W2 _( u
A. 启动HDFS
5 x3 D* ?3 Y3 x  o1 X4 K( i4 r7 [2 q5 h/ A+ t
注意:不管在集群中的那个节点都可以
3 M$ @+ c- X; w# @5 b/ O+ [' V6 C& O9 R7 `4 U& u( e; o
复制代码5 _0 I- ~8 G( R" x
[hadoop@hadoop1 ~]$ start-dfs.sh
$ ]% u+ u9 h. D  |2 ?Starting namenodes on [hadoop1]
; ^# k& k. k5 ?# I' _hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out
" I1 e$ \9 q5 T, J% C; Phadoop3: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop3.out4 @, L6 b; b' M! w8 a3 j8 ~, G3 e
hadoop2: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop2.out8 G  q9 N* p5 {, H4 Q: ?2 e8 A
hadoop4: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop4.out
/ y1 N) @) Y" i; l0 W" i# P6 U9 ^hadoop1: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop1.out
4 ^3 c9 p' }  N1 h# c8 V0 XStarting secondary namenodes [hadoop3]
( E* M* k9 B: T9 a' H* {; h$ Yhadoop3: starting secondarynamenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-secondarynamenode-hadoop3.out+ Z; }9 {( H4 ?% q8 ^
[hadoop@hadoop1 ~]$ 6 z3 {3 T! z& ^+ M, m# L
复制代码  c, v& |3 U, V6 p  L& b8 S# q1 [

& H' Y# Z7 k% ^# E
" j; ^' q) b7 u* Q" \, p% @B. 启动YARN
" B4 {3 Y3 q5 i& g( e, p5 F4 T! K+ l, j( C
注意:只能在主节点中进行启动
$ h) h% x1 j& @% a7 K; a
: o0 R0 |, P' y复制代码
. _! X4 ]8 z; r4 S0 {4 a9 E' {, }[hadoop@hadoop4 ~]$ start-yarn.sh
6 O4 K7 ]: ~! x0 o/ T0 ~7 k5 Zstarting yarn daemons
) t+ F$ D1 v4 y& [6 Nstarting resourcemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-resourcemanager-hadoop4.out
# J; L" F% C. d1 }9 `3 {7 R: Vhadoop2: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop2.out  W' d+ i3 u7 z- Z4 K) V
hadoop3: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop3.out& i% m- b3 i4 r
hadoop4: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop4.out4 u! l! }; A$ L4 ~7 g7 G: V6 o
hadoop1: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop1.out
: `+ e, Z* {& q# y6 ^  ?# K. P[hadoop@hadoop4 ~]$4 Y; H; o  k) C
复制代码* D" \% K( J8 w0 m7 C. `2 {2 F

" N$ A* K% o8 `0 `' u1 n- s1 G2 p. _1 g( O% e3 ^
9、查看4台服务器的进程8 k1 H; ^5 S& J; {' [% r& J( a
hadoop1& ^8 o: \: ?' K' k( {/ I6 j
  U4 I5 t: u2 J

% F9 r6 ^* {  Y- p$ ~4 P- z9 S( g) [$ k. o+ z4 @% G# j  f4 `
hadoop20 T* B" |' G2 x$ S$ `
& C* [9 Y4 x1 g

. d6 _# s) O) X$ q1 ~
( F: v3 [' p: Nhadoop3
* I% L+ d$ c, [$ B# G1 E2 O9 Q, G) y& |* r6 [
6 f9 Q- Q* ?, o- ~; I, U$ ^8 s
# i; a$ c/ T. y4 ~1 i
hadoop42 b+ C6 q7 {, `' |9 s. g- b

: N# s9 [  U9 y$ J' U' V' G
) ]% L" O1 L" {# o# N! S, a4 T6 t  n0 m  h8 z; R9 @
10、启动HDFS和YARN的web管理界面" t* S5 }' b& a- _4 y* J3 H8 Y
HDFS : http://192.168.123.102:50070
* P6 }7 B2 I8 ^YARN : http://hadoop05:8088
& u8 p  K. Z" U7 J1 f  c3 n3 E0 s1 z4 M/ |
疑惑: fs.defaultFS = hdfs://hadoop02:9000
* o$ i: V* M5 p+ r3 A) h0 N1 q+ _3 ~
解答:客户单访问HDFS集群所使用的URL地址  ^: y9 N5 ^1 C, m

$ ]& G' U- h( S1 \& e; Q% |同时,HDFS提供了一个web管理界面 端口:50070: h5 j& o+ ]& o& I# y1 D
2 T% t# q% a$ S. j6 M' ?
HDFS界面7 N  ?- n# E/ ]2 B% [# J# {; j

3 j) y7 d3 |% G/ ~% P  ]( V2 i  F# _  d  C! f8 g3 S
点击Datanodes可以查看四个节点
# `8 u7 s7 k' ?" B) X( x' _, z) {+ O* D+ A$ B: l2 H

1 J' ?) g( z$ h. ~; Q( g, Y9 P7 o- {
4 e; d( o0 T9 n2 L& Z2 pYARN界面
" o+ o1 S4 _& ]2 [! _, ]4 a6 Y. M9 c: ], c" s
2 r/ q' M3 g$ V2 G
点击Nodes可以查看节点# L$ n. L2 p1 A9 F# }$ K
6 ]  T7 b8 Y! y- |

( v5 F$ X3 F4 |3 W: ]7 a) w  m1 f8 z- Y) F; {. _
回到顶部& D3 ~, @. K$ w+ z- E
Hadoop的简单使用
* \9 S" ~, O- T( g) P5 r创建文件夹
: R4 o1 r( r$ r" s/ L/ f$ H/ ~在HDFS上创建一个文件夹/test/input+ b$ s7 S$ O# O0 n7 @: x) ^3 P2 k: `
6 }, s4 J8 z$ G4 B1 X; Q! o
[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input. N( P3 f3 z' P! _( E
查看创建的文件夹4 q1 U- v! g. H8 r2 L) |7 Y% R
复制代码
. A/ S: n: o$ H+ m) n[hadoop@hadoop1 ~]$ hadoop fs -ls /) M! _/ V" @% _& B5 k  o" R
Found 1 items
+ I* a  O! c" r  rdrwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test
: @$ }) }4 ]5 T, ?8 I[hadoop@hadoop1 ~]$ hadoop fs -ls /test& _5 m0 B$ ~& w! S, {$ t
Found 1 items  ]4 E3 |- I; F1 r* X+ |" z5 o
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test/input
8 G8 e' N+ c* H$ C9 p/ s[hadoop@hadoop1 ~]$ " \! F0 A1 ]9 k9 _7 ^+ @- k; J. B# P
复制代码# u+ Q$ g& B: B& n* r7 C2 h
2 I5 t3 Z. @* m; p3 M6 U! C
; s0 j3 z; o" W3 a/ K
上传文件' G, |$ n- C* d2 r7 f: B# X1 D3 B
创建一个文件words.txt
$ y0 w6 ~4 b3 b- f3 c) }% o. ]. ?& t7 ]! [* _: [
[hadoop@hadoop1 ~]$ vi words.txt: Y; Q3 A" j2 K/ T' L# q$ C
hello zhangsan- a+ A8 w. y9 k
hello lisi
1 Q4 @, Q: w6 \7 b8 z, [hello wangwu
% b) |% \$ `" @4 H' E9 e上传到HDFS的/test/input文件夹中
, @. T+ B! p1 F: \& y
' v/ C( t% J! l- ~: R[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input4 J1 M; F% |: v/ l$ H
查看是否上传成功& G4 f7 N( T" L- s( S

! R+ Q. Y; F, a[hadoop@hadoop1 ~]$ hadoop fs -ls /test/input  y- l" ?; @( f; }& d& C' D
Found 1 items% }  n" u9 ^( z: Y' p, `# K6 e
-rw-r--r--   2 hadoop supergroup         39 2018-03-03 11:37 /test/input/words.txt
( z/ n8 G1 P$ N[hadoop@hadoop1 ~]$ 5 T5 G7 C- [9 F7 [+ g
6 ?6 y. B. E. A2 V
+ C' b' y. A5 e& X' {5 {
下载文件( q9 W9 X4 K( y- ?) M
将刚刚上传的文件下载到~/data文件夹中2 t: B2 |; I/ K- X

; @' c3 X6 \, @2 q$ C8 f[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data8 F+ D* \. x6 z& ~. k3 P+ u
查看是否下载成功( p0 l6 x, `! n+ D+ G
, b% [1 H8 k1 w) x) k" d6 ]" e
[hadoop@hadoop1 ~]$ ls data! [! E' o& l3 z! L
hadoopdata  words.txt, f6 z% G( T0 r# Q
[hadoop@hadoop1 ~]$
7 K& }5 A5 I  y2 @4 ~
& w. m5 s. T; [" P" N" Y+ _% \8 N5 e  E2 l9 J
运行一个mapreduce的例子程序: wordcount
; ~6 a( b0 b8 w2 z! M[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output
0 c, Q3 \+ Y9 T2 T1 y9 I6 \6 {1 \- q* \4 p( ^5 l  V9 `

3 w  |' D: M% t& z5 |" T在YARN Web界面查看
6 R. T$ b: D- V' W1 Z
$ @$ w$ ^+ U1 P+ }2 J4 ?5 \
9 v" x9 a& Z' f4 Q  K
. I9 O4 }. W" Z
2 Q% X8 U7 E  ~5 y. u! O4 b3 v4 d) H* m
查看结果/ o" |5 l3 Z2 X2 H% l. _3 I: A

' ^; P8 y/ q: q. Q8 x! f" s复制代码
. H/ i& @+ C: e- E[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output
9 y! ^6 `: m2 fFound 2 items
2 m; a. U5 }$ H( {0 v& Z8 l-rw-r--r--   2 hadoop supergroup          0 2018-03-03 11:42 /test/output/_SUCCESS
6 k6 j& n) R$ V  J9 O2 o) n-rw-r--r--   2 hadoop supergroup         35 2018-03-03 11:42 /test/output/part-r-00000
4 o( [' }* I$ c7 V[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-00000/ y" x/ j8 I) d: F+ t( I& k8 }) i
hello    3
4 p  m% x: J" E* e/ xlisi    17 M# q: o& W5 Z2 ~2 M
wangwu    1
: i, G3 [7 V- Vzhangsan    1
' b/ m- J0 R# N1 h1 A[hadoop@hadoop1 ~]$ ' x) [+ N2 Y6 h4 d: Z
复制代码
5 f" w- F4 o* ]* G1 x& C$ F& d, Z/ O; ~: ^/ m
0 h6 {9 i; t$ J/ j: X) P4 X

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-11-11 16:30:05 | 显示全部楼层
5.1 配置hadoop-env.sh1 Q1 F+ a0 w* a. M
给hadoop配置Java路径,三个节点都需要配置,但无需每台去设置,因为后面会把整个/opt/hadoop-3.1.2/etc/hadoop拷贝到另外两个dn节点
+ f; C& ]% \5 f& t" h/ ~+ z7 K9 c7 Z8 N2 M) R# O
[root@nn hadoop]# pwd
/ [# Z' Y+ p9 `+ G$ }/opt/hadoop-3.1.2/etc/hadoop$ p9 z0 u; `( _( w0 n% r2 v
vi hadoop-env.sh
9 M% h; b2 W5 p6 A- ~export JAVA_HOME=/opt/jdk1.8.0_1618 U: u; M% X& O- g" j5 p4 M
" i# ^4 L7 [" v' [* t
5.2 core-site.xml
5 t  p! M& W" r$ M3 Y<configuration>- {# }  ^# O: l- M: T9 L: m
    <!-- namenode用9000根datanode通信 -->
- ]% D' b, E5 N1 _- s( y    <property>
& K5 w! z5 @8 m: V        <name>fs.defaultFS</name>
1 Y; Q  ~0 l+ u: f" K: v% E        <value>hdfs://nn:9000</value>: a+ K2 Q9 n: S) b. S- G
    </property>8 O( f7 g  B+ [
5 ^% T( O1 |8 `4 Q
    <!--hadoop临时文件路径 -->* f) y  @% Y9 F% z# [" c  ]; r, d
    <property>" d% j" Q3 h( a; c3 ]
        <name>hadoop.tmp.dir</name>6 _8 }& r- O; }) N! j( i
        <value>/opt/hadoop-3.1.2/tmp</value>
) X7 Q, R7 q& x- k! q4 g    </property>8 C: [, o: u, |4 f
</configuration>& f4 p8 e# i6 J) q2 M

" f. a$ r6 y: q+ G2 Y, Q6 k- ]13* m6 ^! J  p% t4 O/ |' x3 {
5.2 hdfs-site.xml1 s4 @( t4 s2 ^2 W
<configuration>
9 v5 ]  @3 g6 j! ~/ o, v    <!-把dn2 设为secondary namenode,端口不能缺少 -->4 a! L; \. X7 m
          <property>. z& F) q5 ~$ [3 V& C5 R
                  <name>dfs.namenode.secondary.http-address</name>- u% i/ Z% z2 s8 N; V& o
                 <value>dn2:50090</value>2 Q/ S+ j- L8 D: F2 i% l: |) y- x
        </property>    . F- C1 D, R. b( x
    <!-- namenode 上存储 hdfs 名字空间元数据-->
" |8 O  f" A4 P  s4 V% y3 `5 F    <property>
1 [  m: O' F$ N$ J        <name>dfs.namenode.name.dir</name>% R4 m0 ?+ D9 W/ z, V
        <value>/opt/hadoop-3.1.2/namenode</value>
! o6 P" a! O3 n3 ?) j' r    </property>! |0 F4 y3 n5 {- J4 p3 y- B

+ e, e) `$ b$ [" T2 u$ J+ _4 m) a    <!-- datanode 上数据块的物理存储位置-->  ) A" F# ?4 G% H( z- Z- [2 Q
    <property>/ V. m8 o$ {% L, Q, d! R' K
        <name>dfs.datanode.data.dir</name>1 \9 \/ q; u9 R, H
        <value>/opt/hadoop-3.1.2/datanode</value>$ T# I% y4 M( K9 u. k
    </property>- a0 R/ p# o% H- Q8 e; v
! L% E- g! H  D4 Z
    <!-- 设置 hdfs 副本数量 -->
7 G3 q% V7 s5 i# ?* d3 t    <property>
# U! ~$ p8 f& w; ?2 I        <name>dfs.replication</name>, x1 u9 k1 V- R2 \2 D
        <value>3</value># H3 V; ~+ H8 P3 x/ y3 U
    </property>) f; g( f* i5 H. |

1 _, Y7 N8 h5 ]; F</configuration>' U( P& O# [: O

1 ?7 {9 \4 U( I# F5 p5.3 mapred-site.xml
/ i, J' P. e+ b5 f2 j2 d
  c4 ^4 o3 b9 r) t* |8 E$ a& }<configuration>
& k# ?' q( n9 d- u- c1 A! Z* K    <!-- 指定Yyarn运行-->, o; u' z( X: S8 X0 M  h0 @
    <property>
" b* |7 s$ e; D6 \- \        <name>mapreduce.framework.name</name>
. D8 h7 ?' S5 b# F: [& H) [$ {& F        <value>Yyarn</value>
2 K* v# a, {- ~    </property>
0 B& B: v, K9 A1 m, B- W7 t4 P! j* V/ C' P+ l3 Y' q
   <!-- 打开Jobhistory -->
) n: e, W4 V/ P- q, ?) R<property>4 U3 a, _0 ?% C
        <name>mapreduce.jobhistory.address</name>
7 t/ \+ ]4 u8 `/ K        <value>dn1:10020</value>
6 p) u9 {6 V: A* t3 _</property>
7 l6 D3 ~. b+ A: A1 Q! h
4 I0 [$ _8 l' y' Y' Y1 x  <!-- 指定dn1作为jobhistory服务器 -->
! e" d. w  a' p/ @4 ?$ }<property>
$ A( N" ?" C0 z2 T! s1 h' g: Y  <name>mapreduce.jobhistory.webapp.address</name>3 K; q+ b( N& M0 H; @% d
  <value>dn1:19888</value>% M: _9 d) x, G
</property>: A; Q+ z# F( m' c! m
0 n% w0 @1 o6 ]  m! \5 S; k! r
  <!-- 注意这里的路径不是Linux文件路径,而是hdfs文件系统上的路径 -->
$ d* p4 t( M4 Z( Q' w<property>
# J& \8 c1 |% ]    <name>mapreduce.jobhistory.done-dir</name>
9 m/ h9 i' j7 p; ?2 \% v    <value>/history/done</value>9 I! E' Q  L& c- v7 d( N, ^! e
</property># M4 y, \: C$ d* _( n& R
1 W  n2 X: j4 E6 a1 Y7 f
<property>7 c  ~4 l/ D" N, [- I- @/ \: X1 C  c
    <name>mapreduce.jobhistory.intermediate-done-dir</name>
' |& X7 H# H; d- R2 A    <value>/history/done_intermediate</value>$ }3 q) ], Q* ]) ~
</property>% }% J: W+ A% u9 A" D

; J; t+ n8 P# @$ N4 K  <!-- mp所需要hadoop环境 -->
9 ]* @0 R# F; c5 A0 R# p/ |4 n! n% e4 R4 B) R& A; K
    <property>6 I, C9 v; S5 U2 T3 r
        <name>Yyarn.app.mapreduce.am.env</name>
7 Q! e4 y6 h1 l3 ~        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>
3 ]4 b3 z) M2 n3 @- V    </property>
3 w' ~, ]( U* c6 U. F
9 P, y; P6 }1 T. g3 |2 z    <property>
/ R, l! n- s+ F( N        <name>mapreduce.map.env</name>- ?6 Y* J: b6 a& p" Y# y2 c0 @
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>
% M# w3 V4 q& W3 }- `    </property>$ M0 e! V: |+ z: i7 Y, N6 G
$ P6 E% J0 u0 U4 P/ }
    <property>7 F) b& L' D$ ~# F$ [
        <name>mapreduce.reduce.env</name>  F0 T* t; k. c- x
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>
& G4 B& d# {$ m4 ?9 d- J    </property>
1 V$ n6 e! l4 Y" v
3 e0 @& V3 A3 {; C</configuration>
# g1 L" i, W( b# t" B: j
; S. T- @+ b2 a* j$ L' K$ T5.4 yarn-site.xm;+ f+ V4 c* O3 m) S8 j2 c
<configuration>8 K. [7 V6 F: a# K% ^( \
<!-- Site specific yarn configuration properties -->7 X9 x' f' T) N7 N* J0 a
    <!-- 指定ResourceManager的地址 -->
  f; K! t9 C" b# l3 q* B    <property>  [1 L- N" b/ V8 U
        <name>yarn.resourcemanager.hostname</name>. `* }1 V1 j* B, T
        <value>dn1</value>+ v7 I8 _* I6 g/ t
    </property>, e" P6 t. @/ I; q& v& K

6 |6 m$ S" f0 [" P* c- G    <!-- reducer取数据的方式是mapreduce_shuffle -->  4 X2 O% x$ x5 v& X6 A' z7 t
    <property>7 M6 f7 L4 e7 z; u7 |  f
        <name>yarn.nodemanager.aux-services</name>
2 z. k6 R* A$ L$ k. x3 D        <value>mapreduce_shuffle</value>
# J0 S7 _" V) I    </property>
. q3 I+ ]: X& u/ P
# S9 _3 l3 w9 Q; [, G, }" ?8 C' s2 K% g
</configuration>9 D' G( D6 F" m+ R  A
2 O9 G* b* A! {1 S+ e( X
5.5 workers, {8 j, g$ n" b3 Q& m6 [" T* ]
三个节点都设为datanode,当然也生产环境中,负责数据物理文件存储DD不要跟DN放在同一台服务器2 j* S  z- O8 w

3 _8 T3 q+ Z; D$ A6 I# a. N[root@nn hadoop-3.1.2]# vi etc/hadoop/workers ' `9 F0 j9 A8 H1 q; H4 t
nn
# x' N9 _" |* G7 {2 [dn1
- H& ]2 i" X, Y* s5 n/ X7 V3 Ddn2
4 v$ B9 _0 d* v; t8 i6 ?: _. ?( Q. e8 E3 ]
5.6 设置start-dfs.sh 和 stop-dfs.sh
: P$ z, o6 Y6 `在/opt/hadoop-3.1.2/sbin/start-dfs.sh 文件开头1 a* c! H$ P" x
4 D: Y- r% N2 L. R3 [, [
[root@nn hadoop-3.1.2]# vi sbin/start-dfs.sh6 R9 b* F0 y8 b0 d7 x0 x) e6 v
HDFS_DATANODE_USER=root
8 S" ^/ U$ w) Z, L/ N2 P1 jHADOOP_SECURE_DN_USER=hdfs
. p* g! I! z( PHDFS_NAMENODE_USER=root$ b( P- K7 I0 g6 T. d) Z; t$ b9 m
HDFS_SECONDARYNAMENODE_USER=root: p5 r: l* }# F

. W% B0 V  c; f  D" G$ \2 `0 S4 o5.7 设置start-yarn.sh 和 stop-yarn.sh" [. C' F5 q$ _
都是在文件开头处添加
7 A; ^, [$ w9 M
  f$ I3 \; |, Y1 p6 Y" v8 ?) {" w# i[root@nn hadoop-3.1.2]# vi sbin/start-yarn.sh 6 J! m/ O9 h3 N+ F  i# K& G6 G
yarn_RESOURCEMANAGER_USER=root3 B! z; }& f3 H: n5 h
HADOOP_SECURE_DN_USER=yarn' R' j; M& X/ Q9 J0 x7 u( ^0 ^
yarn_NODEMANAGER_USER=root
% I9 L) c% a8 i" Y4 p% `) r+ U' T0 S
  ~, H; a9 `$ L7 P1 F# Z5.8 将hadoop包添加到linux环境变量,三个节点都需要加这个hadoop环境设置- |: m  Z1 Z7 E$ `/ W0 _4 L
vi /etc/profile3 I! U- h& j" V% d, {
export HADOOP_HOME=/opt/hadoop-3.1.2
( c2 Z. ~" [; i7 _6 a9 c$ `export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin5 R8 z' T. D1 D) e9 n! c/ W' _/ _- C
3 D% H6 `4 D0 ]5 e% O) I
直接将以上的配置文件所在目录拷贝到另外两个节点上,避免繁琐配置) d& T/ C2 T. G

) N5 X' J7 x0 C+ O7 p[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/etc/hadoop/ dn1:/opt/hadoop-3.1.2/etc/2 Z6 t1 _6 d3 V& A

2 J. D% q: ~4 {3 Y8 A2 h2 ]2 U/ z[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/sbin dn1:/opt/hadoop-3.1.2/6 p: a: l( v# w! s. @

3 o4 }  g" G3 Y3 _/ c3 p+ z5.9 初始化hadoop文件系统
! p  J3 u+ g$ `, I7 ~; m因为nn是作为namenode管理节点,因此只需在nn节点进行相应的格式化
$ Y; x, m. D6 U4 Z/ c9 k# X6 ^& j& n1 t. a+ H- d
[root@nn bin]# pwd
# E- a* P) q+ U$ g& d1 R+ Z( Y& Y: [$ `/opt/hadoop-3.1.2/bin) j4 r9 Z  t$ j3 \7 x
[root@nn bin]# hdfs namenode -format0 X/ `( d* X* z$ E
****
2 j& O5 [' V6 [% i- U*** INFO common.Storage: Storage directory /opt/hadoop-3.1.2/namenode has been successfully formatted.
# j7 [/ a& Z2 y7 y6 t2 n/************************************************************
0 ~+ d/ Y) }8 y' @8 ~3 O* SSHUTDOWN_MSG: Shutting down NameNode at nn/192.188.0.4
) u+ c& t1 H0 a+ P; g! z' c7 H% P1 z% n7 e7 ?+ n
以上说明namenode格式化成功  Y) ?6 y( e2 |& B
6 a. ?& l! i/ \; y) f# N, N
6 启动hadoop服务5 \# Y3 M! y' F2 w' i0 f- k
6.1 在namenode上启动服务8 G5 a  B( I: M: V
一键启动所有:如果使用start-all.sh,表示把集群的所有配置的服务都启动,它会调用start-dfs.sh和start-yarn.sh
: h9 j6 H/ X  h
6 l: A% [- X% U& }) L! H单个节点启动:使用start-dfs.sh和start-yarn.sh,这里要注意,比如nn节点是作为namenode节点,那么在nn节点执行start-dfs.sh,无需执行start-yarn.sh; B+ A& E& b7 T4 z: l

) R* R5 U9 W0 _+ @7 @网上绝大部分教程会教你用start-all.sh启用集群服务,但这不是官方的推荐方式,个人推荐在每个节点启动相应服务" [0 J8 `: r5 d0 a) o' E

0 W) X5 w" e! S4 g- unn节点:NameNode,Datanode,NodeManager,只需运行start-dfs.sh
7 L5 n# b7 C6 T8 q4 l! K$ u) G- R' R" ?
[root@nn ~]# start-dfs.sh
& q  S  T7 k6 v; ~* E+ a" M1 p! l$ \9 T4 K
dn1节点:DataNode,ResourceManager,NodeManager,因为需要使用yarn服务,且作为ResourceManager节点(本身也是NodeManager),需运行start-yarn.sh: I# L$ L0 f" W/ X# c

+ y) S  n- q3 X0 P: C0 d- |; b此外:dn1节点还是作为yarn主节点的JobHistoryServer服务,还需通过命令mapred --daemon start historyserver启动之,启动JobHistoryServer后,可以在yarn的web服务直观查看每个job的运行历史,后面会给截图$ x  Q0 g6 T) f7 Y

, b% D) s& M+ B, M: ~+ i[root@dn1 ~]# start-yarn.sh
/ k: c, O* W$ m9 S, D9 h[root@dn1 sbin]# pwd+ R2 v5 Y( ?. d" n( T
/opt/hadoop-3.1.2/sbin2 A6 `. l- G. [8 i1 C
[root@dn1 sbin]# mapred --daemon start historyserver
9 `) W3 U* w- W1 i  T9 K: H8 ]5 [& J2 G
dn2节点:DataNode,Secondarynode,NodeManager,因为nn节点的hdfs-site.xml已经配置了dn2节点作为sn节点,那么nn节点启动服务时,就已经自动在dn2节点启动了Secondarynode进程。
2 `% W; m; ?" D; a0 p6 R5 G, D( u& O- S5 \7 p' l6 o
查看各个节点服务进程:
) |% h1 {# f" z2 N2 M  V  X# i+ S+ q1 Q  a4 l7 H. m
[root@nn ~]# jps( @4 C2 q" B2 b" I
9957 NameNode! S7 s) Q: Y$ m* R! q3 J$ X9 K
10553 Jps7 L# Y$ {8 i8 T4 W5 r
10092 DataNode5 E& n9 S. O; ]  a% T' R& W
10430 NodeManager+ R8 b, q! s7 @* J: |3 A

6 B" M# B: N3 A4 i[root@dn1 ~]# jps
% t' ^. @* R- q31792 DataNode
& _  \% }, p5 s32133 NodeManager" m5 m( N9 g; O/ j
32492 Jps9 @! K2 @4 M) _# }# ~
31998 ResourceManager
$ w0 w- n& l5 T# p7 a17428 JobHistoryServer7 p0 c! f. {% H: K7 M; n
; S& B! ~# ^& B6 I5 R3 a& f
[root@dn2 ~]# jps
& s& r5 k* I7 C) w31105 NodeManager
  c& a, e5 q' ^' f30898 DataNode- Q; x; w2 k/ _6 N9 ]# d( H
31235 Jps
! c$ Z6 b0 l, L" k9 b31005 SecondaryNameNode. A- O, v! O5 v5 g6 ?

* @( f4 ~5 a5 {* y; `8 W9 {  j' d$ X2 j) u$ M0 B3 q$ U
也可通过查看web服务来确认NameNode服务和yarn服务$ p; }! Q' _6 x5 W' g+ k. z) T

4 |, F1 Q5 N+ y7 E( q9 L9 z: O) F9 J# s5 D
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 03:06 , Processed in 0.048827 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表