易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 568|回复: 1
收起左侧

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

[复制链接]
发表于 2022-11-7 11:16:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

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
 楼主| 发表于 2022-11-11 16:30:05 | 显示全部楼层
5.1 配置hadoop-env.sh
0 l, O+ ^" v& |0 F" Q& c给hadoop配置Java路径,三个节点都需要配置,但无需每台去设置,因为后面会把整个/opt/hadoop-3.1.2/etc/hadoop拷贝到另外两个dn节点! N/ O2 {' R* w- K

9 Q) j# ^4 e5 h: R. k[root@nn hadoop]# pwd% O7 D" f% ]& ^7 n, q; x1 p
/opt/hadoop-3.1.2/etc/hadoop
) r+ ]5 p$ l8 L* G. f3 ~vi hadoop-env.sh
; h0 l8 l) {3 u  p- Oexport JAVA_HOME=/opt/jdk1.8.0_161
9 g9 Z+ ?* D* Z2 o4 l! r, i: ~3 F
5.2 core-site.xml) Q6 F: Q4 e9 T1 ?
<configuration>
8 J; H) R. t* R; ^    <!-- namenode用9000根datanode通信 -->
  Q* P' G7 }) ~; ?- x    <property>: y$ N- Y% k$ A0 e& W
        <name>fs.defaultFS</name>& U% H6 H# y3 c& W$ P' S- @' W
        <value>hdfs://nn:9000</value>
8 _4 W2 Z# Q$ @    </property>
( K- P2 ?* \) Z6 y  a% y) @
6 t4 t* k8 R0 r    <!--hadoop临时文件路径 -->6 h- z1 x* P9 f6 n4 n! d
    <property>
7 g. L; D+ `9 s4 y" Z1 |) V( A        <name>hadoop.tmp.dir</name>0 e' X, q3 Y- g! o
        <value>/opt/hadoop-3.1.2/tmp</value>
$ Y# _: S5 s5 Z1 k7 g  @; N! S6 J  h    </property>
. H' G+ [. I5 _</configuration>1 F- t$ R8 ?& a* f
# R/ ~+ q  d9 ^  m  I
13
5 o. B  S, u! B9 N7 i* I' b5.2 hdfs-site.xml
7 H; u) s* \5 H* H8 U<configuration>, _5 H2 i5 m8 `+ h. ]7 ?& Q
    <!-把dn2 设为secondary namenode,端口不能缺少 -->% }+ R0 O* L7 m0 V
          <property>
6 L& Q' T* o# H2 H" I/ i                  <name>dfs.namenode.secondary.http-address</name>8 _: s+ j  e" M" O. n
                 <value>dn2:50090</value>) i- w. o# J9 A' b
        </property>    0 T/ d) r6 }! I% F
    <!-- namenode 上存储 hdfs 名字空间元数据-->. G' b$ w* ~( l+ t
    <property>
/ c! U5 h- M+ B# t' Q        <name>dfs.namenode.name.dir</name>1 `5 }: Z) m  k& r6 V8 D. Z
        <value>/opt/hadoop-3.1.2/namenode</value>. |0 B2 y% J; `9 E. |# C+ T  L
    </property>
1 n3 e6 D7 P" O0 W5 v3 S
/ `" B9 _  a2 v7 J7 O: [- @    <!-- datanode 上数据块的物理存储位置-->  
/ H' d6 @" Z8 C1 [+ R7 h  E    <property>: `9 J! p3 v/ V6 \* T# j
        <name>dfs.datanode.data.dir</name>3 _* u4 x+ S5 Z' C0 L$ E
        <value>/opt/hadoop-3.1.2/datanode</value>
6 a$ N+ f, V/ M4 N1 G  D    </property>2 R( g, |! r0 C
( ~% @. U$ O% f9 |+ K4 L
    <!-- 设置 hdfs 副本数量 -->1 U5 C' ~4 j: z1 f: E2 G
    <property>+ v5 z/ K) [+ ]. Q- r8 v* A
        <name>dfs.replication</name>9 n5 A/ k7 O; |) x: Q/ ?
        <value>3</value>2 e$ Y9 C  S; @, Y8 a/ T
    </property>
. H5 G+ ~9 f5 c$ J- @: |
% o5 n1 D  ^$ Y' P</configuration>- z) u1 U& S, e$ X- S

  q+ d$ x/ z3 Y; j, b5.3 mapred-site.xml
6 u8 ]/ W+ s" L* O/ {; [. |: ~
$ e9 S9 O1 T/ h<configuration>
8 Q! h2 \! u6 w; h% a% O4 W    <!-- 指定Yyarn运行-->5 `  U& H: W+ @( ]* g3 R
    <property>2 P/ m# X  g/ m' s
        <name>mapreduce.framework.name</name>1 I) F2 c$ `" x. w
        <value>Yyarn</value>& M. j: {5 F8 v% G. D& c
    </property>
5 v: M; |5 H7 c! ]! F
4 L* E5 M1 J/ V, R8 n: l   <!-- 打开Jobhistory -->; N7 e  C( B  K# x' [# |' b
<property>
. {: C. T0 m  [        <name>mapreduce.jobhistory.address</name>  g) ~0 F3 ?2 N
        <value>dn1:10020</value>6 L8 Y. l/ F  U8 p/ n" F2 Y
</property>
, p! Z3 C8 M5 ^% Q! r( q
# O8 s+ f9 G3 V- H  <!-- 指定dn1作为jobhistory服务器 -->
3 ~( A% k! D' h  @8 o) Y9 ]! y<property>1 B+ Y( a) J6 m+ v! E5 |7 k
  <name>mapreduce.jobhistory.webapp.address</name>
4 K2 h, h. X  _1 z4 `( t$ j8 B  <value>dn1:19888</value>; x* W$ |3 r" @$ i+ q- V/ _$ H
</property>
. z% B' N( E+ z2 F) i1 o. P; u8 M9 E6 S8 A# F
  <!-- 注意这里的路径不是Linux文件路径,而是hdfs文件系统上的路径 -->2 O0 W1 u4 {& n2 l8 w! K, E& r. E) E- E$ c
<property>
+ u0 s( R$ I) b1 O0 O    <name>mapreduce.jobhistory.done-dir</name>
9 v, Z- q' e9 T# k- s    <value>/history/done</value>3 g) ?% I+ h5 G: X5 s
</property>
3 o, T7 `% q2 y- ]" {7 f6 C2 G
1 q2 K7 q* ^. d3 I/ ?<property>
; c5 q$ L: x0 v- Q    <name>mapreduce.jobhistory.intermediate-done-dir</name>
# y8 E; M& J6 n$ k, l: y' ]    <value>/history/done_intermediate</value>4 t5 R1 R* J/ c2 Q3 v) |5 D' c( }
</property>
2 N% b3 C1 Y" \' H1 w& v* z$ {8 t3 {2 r9 P: P
  <!-- mp所需要hadoop环境 -->* z- H4 }! w- g1 t. x( G
+ K' L; E. Y1 P$ H
    <property>
* ~- J, l! G  @: y; h) k        <name>Yyarn.app.mapreduce.am.env</name>+ I4 F1 @' U9 C! k
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>1 _3 L! U$ A3 |3 m4 J
    </property>$ R: ~  _; d0 T

) P/ L; A$ u' r" h8 M    <property>
" O9 D& r, @& F# ?- S        <name>mapreduce.map.env</name>; t% ?8 w0 R% L9 h* ?
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>
  `; n* p* k. o( j4 n. d    </property>& I! i1 S" z1 s9 r  z8 ]2 G
! m& @) w* x8 L
    <property>+ V/ u; X' z1 F& Y! ?6 v2 y6 ?
        <name>mapreduce.reduce.env</name>
! o, h4 s, q" E3 ~* M7 d        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>8 a. L/ d3 g/ e6 z
    </property>5 c3 g$ L. u/ A' i0 m

3 y2 Y" W4 B% F0 z</configuration>4 z7 b, T( Q* J  l' G% _& l/ X: g
! o: i( e* X9 c
5.4 yarn-site.xm;
- m  G4 x0 l4 a0 e' a% p, z- R" ~<configuration>
% S4 P( T* R6 `& z$ E<!-- Site specific yarn configuration properties -->! {6 k' D- j% E# r) U  X/ |6 K) N5 I
    <!-- 指定ResourceManager的地址 -->/ A: V0 d9 f" l- \
    <property>& z, m4 ]5 n6 t$ W* @, s0 @9 @+ ^
        <name>yarn.resourcemanager.hostname</name>! v* V! m# @+ o6 n! I' r
        <value>dn1</value>3 Y& f: p7 B  T# C! b9 P2 r: V
    </property>
) H. G1 Y$ D- i# a. v0 P. ^
1 ?$ z& l6 Q  J+ V2 l- N    <!-- reducer取数据的方式是mapreduce_shuffle -->  
! h. Y* i8 _& F, C6 f/ k- Z1 m    <property>
" I% H2 M) t8 q1 h( G6 t        <name>yarn.nodemanager.aux-services</name>: B5 y3 k$ T& y# q7 R' p" `
        <value>mapreduce_shuffle</value>- U- c5 b% g  q. K9 R
    </property>
$ m- z$ T% i1 r4 D( t: d2 o- L( r  W  d0 t/ F. g  N0 C
) D) Z8 ]1 b/ g- Z7 H/ f! @, \
</configuration>' {# B4 c- O2 ]
4 z6 \) |4 T1 E1 P5 J
5.5 workers1 `# v. c( ~/ a# L( ~
三个节点都设为datanode,当然也生产环境中,负责数据物理文件存储DD不要跟DN放在同一台服务器6 A- f4 W, o. l" l5 ]
, k) M6 y! f! [2 B4 n
[root@nn hadoop-3.1.2]# vi etc/hadoop/workers 1 [: v; ]% j1 }" \8 Y) P7 O
nn
7 b/ ?( E0 V- F$ j* O' Y* Ddn1
; I9 V/ @' L  z! Q7 h1 idn20 O1 d5 ]7 C! c1 f( E* C1 y

7 Q1 u* R& I9 }* p5.6 设置start-dfs.sh 和 stop-dfs.sh$ ?% E$ c" Z) M- c0 h
在/opt/hadoop-3.1.2/sbin/start-dfs.sh 文件开头1 c" f) s9 u% j. P9 w
* J+ R9 T# h' U+ k  w/ H9 F+ D
[root@nn hadoop-3.1.2]# vi sbin/start-dfs.sh( X7 l! K" S6 `2 n9 a
HDFS_DATANODE_USER=root
. O! [0 ^, g7 e* hHADOOP_SECURE_DN_USER=hdfs& {* l- d- v& R% d
HDFS_NAMENODE_USER=root
1 M$ |6 a- C2 q1 {HDFS_SECONDARYNAMENODE_USER=root
3 M& G3 Z( `8 j" \& ?) r4 Z+ x, h! h8 v3 l) Z. ]: ?$ [, B4 j; @
5.7 设置start-yarn.sh 和 stop-yarn.sh/ Q2 F/ p- k7 g+ F2 l
都是在文件开头处添加
# _  ^0 B: Y  D
& _6 a! D$ c5 G' j" M8 C' H  F) v[root@nn hadoop-3.1.2]# vi sbin/start-yarn.sh ( b7 c3 X$ V0 W2 \7 G$ B2 O' |
yarn_RESOURCEMANAGER_USER=root9 G( m$ ?5 H. a& c/ A
HADOOP_SECURE_DN_USER=yarn
  `3 B! S9 U# n$ D3 A+ Myarn_NODEMANAGER_USER=root; y- i2 {1 F; r' y
& W4 k9 R$ t- g. n" m" T
5.8 将hadoop包添加到linux环境变量,三个节点都需要加这个hadoop环境设置
% }. L% L6 j" h6 \; n( ?1 {vi /etc/profile
: G, R; a; P3 u9 t- j# T' l0 S  s# Iexport HADOOP_HOME=/opt/hadoop-3.1.2
6 Z+ q) p  ?  O) f+ b* T9 bexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
2 |/ s3 E4 o9 A- ~* A/ z5 ~- F% x0 T% i* _
直接将以上的配置文件所在目录拷贝到另外两个节点上,避免繁琐配置
; i+ F; m% x- d: A) V" M
0 L* p' G" y+ k9 g/ i[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/etc/hadoop/ dn1:/opt/hadoop-3.1.2/etc/
* ~$ ~" m* U9 n9 M5 A1 |0 ^
: N/ t, w. F: W# x4 Z[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/sbin dn1:/opt/hadoop-3.1.2/, g# v- g6 ~0 L& A* f
$ L+ j, W$ D  m& i$ `4 i
5.9 初始化hadoop文件系统0 z& J% L# [' J
因为nn是作为namenode管理节点,因此只需在nn节点进行相应的格式化  Z& D" _; m* f  O

. `7 Y+ Q  t% M; ?! N; V[root@nn bin]# pwd/ z8 _9 X, E& V, V
/opt/hadoop-3.1.2/bin3 C' C/ I0 t7 }( |; J
[root@nn bin]# hdfs namenode -format; h. d2 K6 u$ C" B) M
****' U2 M# I: V" r- p
*** INFO common.Storage: Storage directory /opt/hadoop-3.1.2/namenode has been successfully formatted.
8 I6 m3 N0 p& h/ T0 E/************************************************************
, f7 O' i7 N$ A1 _& w/ ESHUTDOWN_MSG: Shutting down NameNode at nn/192.188.0.4
0 y) [- c5 N; A+ y! L0 W/ T* C2 f% ^: `7 R
以上说明namenode格式化成功
- r/ i" M5 z  ^+ V7 N6 `+ c$ n3 z9 _. u. W
6 启动hadoop服务
7 U( {9 t4 z: N5 A6.1 在namenode上启动服务0 x/ N' {% R+ V0 B, v2 o) H9 M
一键启动所有:如果使用start-all.sh,表示把集群的所有配置的服务都启动,它会调用start-dfs.sh和start-yarn.sh8 V1 }/ D/ C/ Z' U. m5 J2 M& K

7 T; Y* w$ O/ @+ |单个节点启动:使用start-dfs.sh和start-yarn.sh,这里要注意,比如nn节点是作为namenode节点,那么在nn节点执行start-dfs.sh,无需执行start-yarn.sh
0 m# M" g. ]9 e) t& [0 Y9 L4 |0 L* V/ N8 J% n+ L  h; d
网上绝大部分教程会教你用start-all.sh启用集群服务,但这不是官方的推荐方式,个人推荐在每个节点启动相应服务1 Z: g% J8 i$ {8 w, _* V

& |9 x% \3 C0 Rnn节点:NameNode,Datanode,NodeManager,只需运行start-dfs.sh: V8 e0 {$ A( ]% ?% K; C- T. v

2 S: m, B/ K9 Q4 u) Z[root@nn ~]# start-dfs.sh% o. O9 A+ y# I. h! e# c% H$ F# s
. m: D# _; E- [& p
dn1节点:DataNode,ResourceManager,NodeManager,因为需要使用yarn服务,且作为ResourceManager节点(本身也是NodeManager),需运行start-yarn.sh  ]/ A$ ^- n, ^1 ~0 G# I" x
% A2 Y' D; e5 s" H' X. N! p
此外:dn1节点还是作为yarn主节点的JobHistoryServer服务,还需通过命令mapred --daemon start historyserver启动之,启动JobHistoryServer后,可以在yarn的web服务直观查看每个job的运行历史,后面会给截图
' Q) \  e4 n) Q1 P; E, o5 ?& g$ j
# `9 z0 g& e% ^- }) |' P. B[root@dn1 ~]# start-yarn.sh 4 M  F) V( Z7 X0 k
[root@dn1 sbin]# pwd
/ \# ?' u- G" D1 H/ O& f# n9 F  d/opt/hadoop-3.1.2/sbin
2 |* b% \* s  x+ [# ?/ b3 K" i' Q[root@dn1 sbin]# mapred --daemon start historyserver
; c4 w" }  w% z4 D' i2 {5 ~' z" y+ O  a2 q2 \
dn2节点:DataNode,Secondarynode,NodeManager,因为nn节点的hdfs-site.xml已经配置了dn2节点作为sn节点,那么nn节点启动服务时,就已经自动在dn2节点启动了Secondarynode进程。; j2 s* K. n# D5 E- X" Y  E' o
+ g  S! |) z8 ~
查看各个节点服务进程:
& G4 }% U, s0 G6 m2 |7 P$ f# O" D1 f% J* q" K* d( s
[root@nn ~]# jps
0 g/ K2 D+ v' g7 O9957 NameNode' l3 p% ?% [& E
10553 Jps
2 x$ w: u9 [4 ^. ^- _10092 DataNode3 a: g$ K& C$ P! L$ k
10430 NodeManager) ~$ `9 i( O5 C, l( p2 Z& g+ Q2 f
& D9 @) @! e2 E) \) o, @
[root@dn1 ~]# jps
1 Q7 K. f' g% {% ]2 Q, s31792 DataNode( ?6 W) m: m* z. P9 S: T
32133 NodeManager
2 n; |" d  u. t/ X* m2 t7 F32492 Jps6 b+ }# v* n3 G% M5 k5 t3 ~2 H
31998 ResourceManager/ F& {& r, G7 ~  [
17428 JobHistoryServer
+ }) D9 X1 C( ]! {* Y6 s, i
8 s! ~$ E  H* k, q, J, c1 u3 F0 E[root@dn2 ~]# jps
0 O6 n. U9 O2 ]31105 NodeManager# b+ w5 Z, g2 X
30898 DataNode9 G4 {  l! {$ t0 k+ f+ `) p
31235 Jps
& P8 ?0 R+ u; R: m+ |& ~! n3 N31005 SecondaryNameNode+ \! K) }4 t- U* K3 {# ^/ U7 z

3 `. M7 y) _8 ]5 A5 J7 [  r( ^
$ d7 |3 K9 }4 C+ H& f6 a0 B6 Z0 u也可通过查看web服务来确认NameNode服务和yarn服务
. B; n9 k3 y- G6 j9 I1 ]' E! h* H- F; _# b- G5 y
# u6 _* p1 z! I( Z2 ~( r+ ~
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-9 00:04 , Processed in 0.052176 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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