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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-11-7 11:16:59 | 显示全部楼层 |阅读模式
目录- b2 E$ i3 S' H

1 q0 R  X* Y! ]3 G% w) n1 I概念了解
* i# ^! A- A3 i1 C9 [7 c- g集群服务器规划
" o: w, e- u6 r, i! W% Y0 k软件安装步骤概述
; p) }9 r8 v% a2 AHadoop安装
6 i6 j& F/ l5 K+ x( v4 {5 y1、规划
" _' `* \: H& K6 _9 `0 F7 L2、上传解压缩
0 O+ E+ k2 q( v6 u3、修改配置文件
( w, f- w' p$ B% j  \4、把安装包分别分发给其他的节点7 m7 Q- i7 S5 v# c" L
5、配置Hadoop环境变量
+ Y4 y- _& Z5 `6、查看hadoop版本8 t. l' t+ @+ Y5 H
7、Hadoop初始化% X. }( w- a: b( o
8、启动" c; M1 r; B1 n+ b
9、查看4台服务器的进程
1 b9 {6 i; X0 L* f  F10、启动HDFS和YARN的web管理界面- v$ L' X& O" c! P  F1 T$ a
Hadoop的简单使用, f5 J3 I' p+ [- N3 Q
创建文件夹0 L2 I! w6 }( u9 [* m3 K0 p0 _
查看创建的文件夹
3 ]- V+ Q! a+ F# I* i! q上传文件& o* d) y& y0 o0 h. a" P- {+ a
下载文件$ l. p$ S5 }, t$ h3 c
运行一个mapreduce的例子程序: wordcount
8 ^% Q' A" }9 A, Q9 ^, M' ^' f. B) h+ K+ Z7 m$ I! T

' Y& R) O8 ~; f" V7 d% `4 o# @正文
" n& |! p: K# E8 c& L
+ B1 D) i5 i" e4 C4 @1 A% c回到顶部
7 B- u; N5 g  s* B% z概念了解
; `+ \& X' V% s/ u+ A# \主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构。
) [, @! F, D/ i7 g& r# N, [' H5 ]- f. t4 G2 `; d! k
主从结构分类:4 `2 A; j' |: c' R. f" L

; ^6 D, Y/ E1 c$ t1、一主多从
: ^7 q0 p8 h9 C! L: q* A: z) ^+ n- A) Q4 ~6 W9 o" M
2、多主多从9 s- h1 \' r/ A  M
0 a" X; B+ r1 o7 q# H2 C7 L
Hadoop中的HDFS和YARN都是主从结构,主从结构中的主节点和从节点有多重概念方式:1 o% S. M( W5 R% R

0 f1 a; j- s- n$ Z; b( v- `1、主节点  从节点; F. ^2 k  d4 w# E0 d) W! W, e

, w, P+ }  e/ g* W# m2、master  slave4 P' ]! t, c7 f0 f+ r4 }
# n) B! [- s( z7 G
3、管理者  工作者) N( f! l2 g& \3 m4 \" ~
0 s7 |( |( O* H. h
4、leader  follower; r+ {7 ^4 `8 u6 p. Q) N
; {8 i- K; M! s. X; d) \
Hadoop集群中各个角色的名称:! O; @4 n6 e: \, ~' K) H

. R; j( A" {+ T6 R3 t( S; z% G服务        主节点        从节点) Z0 L. B0 s9 j2 S8 x
HDFS        NameNode        DataNode, @  \0 q, I6 `" F" m& P7 l
YARN        ResourceManager        NodeManager7 S+ X# t# G1 }. y
回到顶部
9 _4 P5 j! j6 m集群服务器规划* J' H0 ?& y5 L* @
使用4台CentOS-6.7虚拟机进行集群搭建
  D/ i$ \- e8 ?$ n, c4 p6 \
' H, @! n) _/ U$ G5 o+ K/ z% V2 ]0 K1 n" {& c1 S

5 x4 K4 V; h) y" c+ S* J; t回到顶部: J) w& t/ V$ D
软件安装步骤概述
. {9 U0 @& }( B. p1、获取安装包) T) k7 [3 f$ a
- i& @1 i8 e3 X9 K# ]1 A/ }& k
2、解压缩和安装
1 B$ [% G$ a! }" g9 K' o! z- l: b5 w
3、修改配置文件& t% K1 v% ^& j  ?: B8 }, K: v

) C  Z8 h& ~/ n2 O2 H- n, y1 s4、初始化,配置环境变量,启动,验证( X4 b) `9 v. \" F4 J. |

% T$ N0 e' q- X回到顶部
" D1 P$ U; m) G. m& w* n' ~# qHadoop安装
5 n  y) n' ]( ~) f) y, y' @1、规划
3 F; j9 s8 Y. ^) i) z3 E0 u规划安装用户:hadoop
/ ]; ^5 ]/ u: A9 i9 J5 c" t* M( P! ?
规划安装目录:/home/hadoop/apps  T3 l4 f& h0 H, Y

* y: x# u: o: P规划数据目录:/home/hadoop/data* J8 f4 P0 \, o8 i/ _( k& d

, `. N  C/ t: @  R: S, o注:apps和data文件夹需要自己单独创建
4 G& }7 e( [8 ?/ _& O: [9 z, p4 |* @6 {: o
2、上传解压缩/ g  H1 L0 ^0 N# |9 W& [
注:使用hadoop用户5 f4 D& J3 J9 s1 d0 `7 Y; p+ W

# P2 w$ C3 T7 }0 H[hadoop@hadoop1 apps]$ ls
0 |* Y$ c0 [7 D5 ghadoop-2.7.5-centos-6.7.tar.gz
3 v: C; ^- b+ i& P8 ?% X' c[hadoop@hadoop1 apps]$ tar -zxvf hadoop-2.7.5-centos-6.7.tar.gz
) A, ]# a6 \! s$ n$ T8 @3、修改配置文件5 R, u$ c4 N, O7 f2 i* P
配置文件目录:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop
5 y+ [, t! b5 o" S( ?7 O
+ c7 ^5 B! T$ _* y9 j- \4 h; h9 |% Y" y/ `. @
4 q$ N/ \% a% G  t6 K( t
A. hadoop-env.sh
7 J6 L8 ]- b+ R0 b! w0 V[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh
2 l2 S3 C7 K1 a: z' I0 f修改JAVA_HOME
& n: d4 r6 F; D: F, @: a9 g3 H: l, l8 I4 Q. t
export JAVA_HOME=/usr/local/jdk1.8.0_736 S. ?; N9 g3 J3 F

2 m9 W# p4 e! g" B7 i5 D8 O0 p4 q. R3 N8 p6 ?
B. core-site.xml1 j/ r$ m' n2 ~6 ?7 K0 N$ s  Z

8 d) k% x% S* p" v1 P3 }[hadoop@hadoop1 hadoop]$ vi core-site.xml
# Z! z" f& I* P& z/ l/ c4 q' V9 }6 hfs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务( E7 b6 l% I- m8 J- g* S" e( i. o
5 K( @" N% s+ t. B, a
hadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录
' T6 A; c; x! h+ e9 t( v# P' H5 B) N1 P7 K: G7 f- ?! q5 S4 y, h
复制代码
' M* w+ z. n2 f# u$ @& D<configuration>
+ T. {$ r8 t0 s        <property>- t, S- W2 E' m7 M6 p
                <name>fs.defaultFS</name>+ ?: _6 \' t9 C$ B1 k& P
                <value>hdfs://hadoop1:9000</value>: F. _1 }# d2 N- _& H" B, {4 m: p! C: A
        </property>( J: |. z1 m5 d, Q- n; X( h5 f+ B1 z
        <property>+ C. }0 u- t" a; T6 i
                <name>hadoop.tmp.dir</name>
/ h! a! s' T- b4 q* B& F9 m  r                <value>/home/hadoop/data/hadoopdata</value>. d  B, B& h" }$ T& c, ?* }8 H9 s3 Y0 J6 ]
        </property>" w! c! {  d+ D  G2 F, W- M
</configuration>1 W* ~' B& r  \; E+ f$ f( `6 ]8 ?( S
复制代码
# R# q5 e0 V3 Y% G% B+ [
5 N2 G4 f( D; B( `9 B! B$ l" @3 {' |1 y
C. hdfs-site.xml1 e$ K: W: K7 J8 j6 P' M

: N) C0 S. h& N* }5 M4 [1 l1 |: c0 N[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml 5 }+ `4 m+ ^( {# N& |) D  }
dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。* X" x/ F) s+ ^& f; Z, y: O7 P; L

2 ]( c6 O2 u8 ^# }: Y dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。
3 G" Y4 D# r3 w9 a+ I7 d  |0 n# R3 `8 A" x1 L
dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。# v; v0 \$ A0 J' m9 Q/ ^% {; O) q
4 h4 `# w. R* X) J- L0 i
dfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点
0 y  W' x& Q4 ~* C% S3 k
5 o& ~0 R6 L) K- S6 C& l复制代码% t' [$ V' @" f  L
<configuration>
1 u/ o3 t# j" `* L9 ]# ^- n- o        <property>
5 w0 X1 G9 w# \) O* |                <name>dfs.namenode.name.dir</name>0 u. ]9 r* b6 c+ p0 H5 {, q7 J2 W+ P
                <value>/home/hadoop/data/hadoopdata/name</value>
8 p# B1 _4 @5 \                <description>为了保证元数据的安全一般配置多个不同目录</description>6 U5 }2 u! S' n- j& S. y; k
        </property>
) I4 Q9 d: _4 P" Q9 r" T. C* L+ d! Z6 I  n& Z9 {' X
        <property># Q1 F& g1 |6 i  x. W4 h. p
                <name>dfs.datanode.data.dir</name>1 Z3 X7 I$ C+ J* w# \9 i* f
                <value>/home/hadoop/data/hadoopdata/data</value>5 _! P9 c+ r( F  u  c+ A  w" s
                <description>datanode 的数据存储目录</description>( Y7 U1 d; p' F/ Q
        </property>& A* `3 X* z% e& ]/ ^+ y# s
; m% V3 C, ^1 o8 P+ D5 A& N
        <property>
5 ?3 H4 [" P+ A0 C: _                <name>dfs.replication</name>; Q0 v7 P5 V# [9 e4 P
                <value>2</value>- d' \5 B5 G/ v
                <description>HDFS 的数据块的副本存储个数, 默认是3</description>$ K$ c. j, v6 Q5 V3 [! p
        </property>  m, J$ f/ G" e/ P8 l6 M

# s9 v% {# |$ b& r" }8 n% G/ t        <property>
2 Y7 t/ h8 L& \+ q! {0 `                <name>dfs.secondary.http.address</name>
9 M9 d; p$ f+ E- k- N. v& ?                <value>hadoop3:50090</value>
' ^1 @( K5 D2 P. b3 j% I2 z                <description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description>5 ^7 Y1 c4 h7 \% ?8 h/ S( y1 J
        </property>
. @* a% n5 L$ M1 B- g</configuration>( ]! c- p% D: F- j$ X6 n$ K
复制代码
0 T# j4 L$ A5 Z, S3 b
& C2 n/ u. `9 q5 A, _' G, K3 w7 F* x* W! b
D. mapred-site.xml1 j  Q  i" a; X$ v0 f. p; e+ l
' b( J% d7 |5 y4 G
[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml
7 ~1 j) Y9 M  c  ?3 i5 N[hadoop@hadoop1 hadoop]$ vi mapred-site.xml
" `  n0 D) ~( v% e9 D mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。
- X  a2 K8 A7 L2 S. f0 X3 x0 Y' ?% T; N! X, B# B$ A" O
复制代码# D1 X( r$ \' r9 \5 H1 n, l7 c
<configuration>! I7 G9 j7 U4 \1 I
        <property>! C' E. p! f% X. P
                <name>mapreduce.framework.name</name>
$ E1 v) F2 C, r! }                <value>yarn</value>
# v; M* U$ h0 R7 t        </property>* S  t2 Q! u6 n! J% o
</configuration>
+ g) v! ~8 ?" l6 t复制代码1 [% [* S) u2 f) ]4 R+ `

9 x' |. H8 Z9 A  W6 Y, R, I0 N5 ^) N
5 h# U4 q0 B% G% X: s" cE. yarn-site.xml
! `5 t; n( v+ o4 n# ?$ @  s0 }$ E4 W% N9 {& l' e
[hadoop@hadoop1 hadoop]$ vi yarn-site.xml
0 _5 D9 y8 i% f% T9 S3 Y; `. {: F yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址
7 R( B" l5 J3 W% @; s; `; O* A/ O) ?; B# ~5 J: W% X0 s. \/ z% o2 @
yarn.nodemanager.aux-services:) e9 S. w, l$ R) `$ s
6 \" ^  ~8 m; }$ B( o6 D
复制代码$ ^4 E  ?# b5 Q
<configuration>
) Z$ d# E1 M" I5 c! }7 H
! t& a! o$ I! X( w, l<!-- Site specific YARN configuration properties -->
' {5 ?4 t0 |0 a! e9 f, p
2 d2 [. Z: x  W, e8 U& S        <property>
0 Z9 ~6 F; F( S; K9 V" I( v3 J% F( E                <name>yarn.resourcemanager.hostname</name>
8 [' {; w2 B# e, b! ?0 O* u                <value>hadoop4</value>
2 |/ T6 B& n, \( Q! e3 e0 |        </property>! v% X& n: G9 {7 L1 _, L4 ^
3 p/ Y. t2 }5 K) ]$ ]% V# K+ s8 v
        <property>
4 c) p+ X8 B# z; w" v- U                <name>yarn.nodemanager.aux-services</name>' v- S% V3 y0 y
                <value>mapreduce_shuffle</value># ~0 C7 a! B% E1 \1 P
                <description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>1 _  s8 b2 H) C; j0 s
        </property>  q& Z2 X- b( h! t, f5 B# B' W7 i
9 N; v; I( I0 e3 T$ |
</configuration>5 C3 y$ k, m) U; e* l7 H
复制代码1 e7 J) i; ], ]

* f. R8 K, g9 _5 E2 Q+ F# m5 D' [5 y) j& @; E9 I* p
F. slaves$ {7 b, r# R& R$ F2 W
* G! J8 [  _9 N0 S
[hadoop@hadoop1 hadoop]$ vi slaves
# F9 e/ g) q5 \8 T2 Q( p; Chadoop1$ y  W% R) L% c) j
hadoop2
" O) B: i( _& k0 h6 k' m) Ohadoop3  J& ]. A3 n' _4 p4 M
hadoop4
( G, S. h& }# ^6 X( f) J- e% ^1 e3 B& a/ [- @
, \9 `: ~5 {- g
4、把安装包分别分发给其他的节点
/ S& w+ O* B9 ?3 o, D& b重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
5 h( G0 K0 q6 Q0 ?3 {: Y# B重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
  \. {  T% E' n$ c重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致% R& g( i& Y0 ~4 f
4 V  J. Z1 N8 o* @* s0 K
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop2:~/apps/  p7 |. T% f; ], T) n- g' H+ P
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop3:~/apps/
" R* t% w0 e3 W/ e* r. u% ]& n0 O[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop4:~/apps/5 o8 J4 T; y% g! V7 N' s3 M/ S' R
注意:上面的命令等同于下面的命令
7 s0 J) W" t4 G. w& z
0 O# B$ L. @" }  N& {2 G[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop@hadoop2:~/apps/2 l  V7 p& U% r' C
5、配置Hadoop环境变量) _" B% x& M# F6 g
千万注意:
) j, \' j& ~! E7 H5 L) i' P
" _! e$ f' e  k9 l) ?3 f: r1、如果你使用root用户进行安装。 vi /etc/profile 即可 系统变量
; h; P+ V+ j& j6 ?  y/ f
/ _2 \* L1 ^: I5 M# |& x! L2、如果你使用普通用户进行安装。 vi ~/.bashrc 用户变量; F8 d8 d- ^8 Y6 v4 S+ m- r0 y1 @

) y5 b& `! N3 {; K& c[hadoop@hadoop1 ~]$ vi .bashrc
9 i! z* Q, |$ _1 I; z$ a: B+ q( gexport HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5$ J, I5 B' J+ G; D4 s4 U9 h2 B) |
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
( t1 c5 y9 G2 \1 [9 G6 ~  E1 X7 E) X6 g. I& t6 Y. d2 N, j
6 u  ]- L$ B( R  ~1 B
使环境变量生效6 G6 s, E8 ~0 M" L, P# o  x7 @
* l4 ?' @  M, ]( [# \0 ^' B
[hadoop@hadoop1 bin]$ source ~/.bashrc 2 Z9 M, e% X1 A" _. c9 i/ `4 o
6、查看hadoop版本+ l8 S2 D/ [6 j+ @. R# r
复制代码+ D2 {9 D+ g' |4 r
[hadoop@hadoop1 bin]$ hadoop version! T& c* _1 X7 }4 u4 E
Hadoop 2.7.5
, k$ n$ A' G  j! o" vSubversion Unknown -r Unknown
  H& ?7 O+ E5 DCompiled by root on 2017-12-24T05:30Z& t6 e6 E( O0 Q# ~/ O1 z
Compiled with protoc 2.5.0
$ j" o5 w8 o- fFrom source with checksum 9f118f95f47043332d51891e37f736e9
2 r/ G- Y# l8 {. H3 G! NThis command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar
) W+ Y; i; Z; ~  _2 ?, B4 k( Q% o+ j1 o[hadoop@hadoop1 bin]$
1 y7 L* ]4 K! V9 P9 J2 ~5 E8 C复制代码
8 v  q0 L7 \6 ?8 g. V8 z6 c# y- K
7 F; Z7 b: U1 V4 }( N& n+ f- r4 m
7、Hadoop初始化
/ |) H9 E# @3 N# d9 }* {1 J+ z. [注意:HDFS初始化只能在主节点上进行5 J* [$ n3 G4 S# C

6 E" m( ?* Z# Z[hadoop@hadoop1 ~]$ hadoop namenode -format- b. |5 S2 b' T2 A! J( d2 g0 d
View Code5 t: V( }. N( u

$ C0 s, |  n  a7 J. ?5 l: y- r5 a* k, m9 _3 W7 R8 ~' s
8、启动: i8 `2 f) R: Z* N
A. 启动HDFS, b9 Q* l: K. J: T& m5 Z
& Z2 C* o3 g3 Z; [) A9 R: }
注意:不管在集群中的那个节点都可以' T0 M. l) Q' Y( P/ m, Z4 L* a, S
3 I3 y" O$ @. D8 D% ]. ?
复制代码
5 ~; k/ F2 u% D  |6 T[hadoop@hadoop1 ~]$ start-dfs.sh
, |6 A$ `# @9 H5 b# a: |  ]: OStarting namenodes on [hadoop1]  u9 _  A! `1 h
hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out7 }% K# x+ i0 ?1 T  [% L$ z
hadoop3: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop3.out1 T0 Y6 }& w5 B
hadoop2: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop2.out, r- v1 m* n/ c2 u
hadoop4: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop4.out5 e; [" @* [. y( B
hadoop1: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop1.out
  E7 b! _$ K; `& X- w2 yStarting secondary namenodes [hadoop3]: ]. u' [* g) A
hadoop3: starting secondarynamenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-secondarynamenode-hadoop3.out
0 v+ [& T! {: f# O- D[hadoop@hadoop1 ~]$
+ h' n! b4 l8 ?6 J, u复制代码
8 _5 C: U" j. d3 Q- @! i8 j
* b  }, I1 \6 M) j( i/ k; ^: t$ I8 u3 `
B. 启动YARN
8 ~5 j. Z3 F6 E5 x8 t  x) N/ E2 X  K3 [! Z  s- ?
注意:只能在主节点中进行启动
" o. l6 S* {5 ^) Q( S: j2 V+ h, }
+ d6 A! J7 b! ^# S- u# e4 x& j复制代码
, }( Q( H& L6 z, ?. T& X4 q[hadoop@hadoop4 ~]$ start-yarn.sh
% e8 F* }0 A( p' \9 B. Y* |starting yarn daemons
1 _7 ^6 I& i. G9 Vstarting resourcemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-resourcemanager-hadoop4.out  u# e  P+ `2 D% S$ u
hadoop2: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop2.out& p2 W3 m8 _2 Y4 z
hadoop3: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop3.out
* `9 {* a8 s3 |: }: F# F6 Rhadoop4: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop4.out6 F; J. B. E& `& a
hadoop1: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop1.out
: F" A  m) j8 C4 l  V# t- Q[hadoop@hadoop4 ~]$
3 g- d5 ]+ V* ~/ J. l( ~. ?: C复制代码4 K# q; Q5 y, _& \, a4 _

& J2 K( [& ]8 h3 H9 W( a  ]4 @3 L4 h! i0 r/ k% `0 }$ i
9、查看4台服务器的进程% o( P& `- K7 Q; C( e! _, `
hadoop1, k. N) |/ z8 H  y1 i$ J

8 a+ r: n- G% I6 b3 H
# L& O' T- [: t0 X! k
  w& C: `7 W! ^+ A9 vhadoop2
; A+ }4 Y. G* z6 W( J7 T( j# R9 L' S3 P% B

5 I% \, q+ a3 _  x, z$ ?1 v# m" ^, H. v! s) ~
hadoop3: {( r+ _: J! x+ s) E& m

: w  m! n( Z7 B9 h4 a1 D3 c& S7 m9 `) o
+ y2 s4 J1 D' O0 L9 A
hadoop4
0 C* l2 w! `' L; N4 a6 l1 h. a9 H! C/ p# F& T2 F. q' f& G
$ ^7 _  C& p3 o2 \6 Q. y

/ }+ [! b- J% z9 o* @5 i10、启动HDFS和YARN的web管理界面
) N$ O: \2 Z: Q6 H% X7 K+ THDFS : http://192.168.123.102:50070
" `* I4 ^. |" ]( B0 JYARN : http://hadoop05:8088  Z9 P4 A: n- z/ u
% D' d" U' M$ L! [: k. [
疑惑: fs.defaultFS = hdfs://hadoop02:9000- Z5 u! a2 x/ ]& ]' I

5 c5 ]! Z* l* M6 ~0 A解答:客户单访问HDFS集群所使用的URL地址0 ?5 D, ]3 H2 ?, J8 V3 b, b

$ ?$ u  [- c; C4 |- q1 j+ n! \5 L同时,HDFS提供了一个web管理界面 端口:50070' }$ L! b  v( i: y
4 f. h3 O" `2 k2 W0 U
HDFS界面
) G1 f4 O& k' ~2 |4 A" ~6 x8 k  A. `
! R( ?% H2 R" h0 E2 w# j. c7 {
点击Datanodes可以查看四个节点
1 V, X  v' P2 n1 `7 ?: t
0 f- y8 L$ w) r) n: u8 i# [/ h3 H$ C% N' u
6 E( J2 N  w# m3 U
YARN界面
  d  f# z/ p6 r4 [& y2 ?6 O
0 O6 r! j" j9 `3 |" K" S" y3 a
7 M8 S1 u1 C3 p点击Nodes可以查看节点
, S) K6 |5 k2 v7 C9 x" j' r" T1 O5 T0 H  S4 e
) D7 v! q2 e6 D- G* q: F
8 ?# W; k4 x% [" T' P9 Z
回到顶部$ P! o5 k4 y" G! j2 }; N$ Q2 X. S
Hadoop的简单使用5 E% O5 p! O4 E2 y- I
创建文件夹( u) N4 d- }% _; G: ]5 `: \) Y7 k
在HDFS上创建一个文件夹/test/input" S' w( O- n& j# m! J7 R

1 b8 r$ Z% v2 y/ G2 t+ s& h" {7 }; V[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input
* ^3 I' N4 h* H0 x/ \7 i1 f查看创建的文件夹4 _: M5 W7 ]: K0 r: x
复制代码# k5 U* [. I7 D+ U" }1 z! J- J
[hadoop@hadoop1 ~]$ hadoop fs -ls /
! P9 ^2 P( I+ o% bFound 1 items9 d$ c: p8 \& g8 ]+ U4 @
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test. i( V# b" `$ {5 |
[hadoop@hadoop1 ~]$ hadoop fs -ls /test8 ^2 \  ~  C7 l3 J  p
Found 1 items0 P% k: s) J% x% f
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test/input0 ^- _! U# M' a5 x, n! R+ \
[hadoop@hadoop1 ~]$
( P" \5 i; O) O7 L, k5 u% W1 w复制代码; u, K7 O) J% }! S2 f% F
5 k$ ]% ^6 p& U; Y9 I3 s6 m

* p5 G2 Y" l, i% i8 Z上传文件
  G1 T0 t; a) i: p; z  }/ _创建一个文件words.txt7 G% t6 ?6 @3 Z( M( P
( s9 {1 \$ Z  @9 z5 J& \$ R# p
[hadoop@hadoop1 ~]$ vi words.txt1 v% o* L- ~# q3 [
hello zhangsan
' u/ }7 C" v+ F$ _, N! g0 ]# vhello lisi, r* D. k6 d( p% ~
hello wangwu
' n' Q6 A, u7 h2 p" K上传到HDFS的/test/input文件夹中- m+ s1 h/ N8 I
$ ?( m' Q1 i# C  v
[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input6 [* }( x1 S0 @6 }3 g$ s, V
查看是否上传成功
9 N* H& G0 S7 Q2 m; `5 [& u9 y$ ?  `( `8 }( b& U6 E
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/input
" ?: q  n9 c0 N& i& w0 H+ H! e9 x& MFound 1 items( _- F0 @6 q3 F; R7 I  \
-rw-r--r--   2 hadoop supergroup         39 2018-03-03 11:37 /test/input/words.txt/ y6 B" f$ N5 S5 O) r7 [0 i4 H
[hadoop@hadoop1 ~]$
+ e5 {0 a3 N8 U
* f: E- C* {8 k" |. U
0 e9 T5 I- u4 |; w' U0 U; X下载文件' i% b  g; B5 v
将刚刚上传的文件下载到~/data文件夹中
: e. z2 a; G: W5 f2 w
  M9 G' I# \6 d% q. }[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data9 F4 l5 S# M6 `) `$ x4 B3 [
查看是否下载成功
* U! G& d# l0 B$ `( a
3 b. E% f: O& Z/ Z: r1 ?[hadoop@hadoop1 ~]$ ls data9 Y0 c# O, ?. u7 s! Z' N9 g
hadoopdata  words.txt9 T. p2 D: |3 G  W1 n0 |* ~& r
[hadoop@hadoop1 ~]$
# q+ ], Y( h% ]& ]5 p7 x2 [5 g, A
. V) R* N9 h* n: b
- G( _# u8 a' V" h! u2 m: W运行一个mapreduce的例子程序: wordcount
* |. J( `9 G  \8 N  q6 b[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output( I9 r2 `$ [- ^( @6 @
) [  p. S9 k3 D9 _1 ~2 c

4 `0 U& p! z) M. O3 j$ M在YARN Web界面查看  w4 V9 z% h& }0 Q. F6 w
4 s" R. b  q2 ?  H1 }+ Z5 K

! z- d) o$ `2 E! j- r) F% a
" C1 w+ Z, Z! b' \6 I& r& e0 z% R( p  w9 M% ^: k3 W

) W  }' V- p- ?4 n9 }/ r查看结果- C( P. E8 x' Y( P8 |# H$ G: i
9 N' C5 F. d# I5 X& E' D
复制代码
% r3 q5 W) i; \' z! N, c[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output
/ L' `3 T/ l2 a8 P2 X! b3 UFound 2 items4 B, e5 K6 r) B' p+ R/ Y
-rw-r--r--   2 hadoop supergroup          0 2018-03-03 11:42 /test/output/_SUCCESS6 m' H0 s6 k  F% I# v, \! Z9 R
-rw-r--r--   2 hadoop supergroup         35 2018-03-03 11:42 /test/output/part-r-000002 ~& j2 m' h# P/ Z( C/ v  {+ O. i
[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-000002 v- ]6 w' A& m9 O' N, R! H# f; J
hello    33 [. T' X& g; ~/ ^8 u3 z! H0 ]
lisi    13 ?% v2 k+ D$ e6 S: E
wangwu    1
6 t5 }" C7 ^3 W6 [0 i' X! Szhangsan    1* u7 [/ c; E) g# z: {- h
[hadoop@hadoop1 ~]$
! ~. O& Z0 d. \/ ?. V复制代码1 Y. O! R8 T" V$ w' N. {/ {

/ h: D7 `5 ~: J" v* F' f1 G
8 g$ {) K8 p: b

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-11-11 16:30:05 | 显示全部楼层
5.1 配置hadoop-env.sh: t- ?7 K& u) z! p6 O
给hadoop配置Java路径,三个节点都需要配置,但无需每台去设置,因为后面会把整个/opt/hadoop-3.1.2/etc/hadoop拷贝到另外两个dn节点
* O+ ?0 x" _3 s# ~; z" z( {9 B0 d) B+ F% O; M
[root@nn hadoop]# pwd8 r0 }7 q9 U) Y1 q
/opt/hadoop-3.1.2/etc/hadoop
5 m' V. f# x1 L5 lvi hadoop-env.sh
8 Q6 y0 I% S3 z5 ~4 a( q8 u5 J  f* a2 Vexport JAVA_HOME=/opt/jdk1.8.0_161
9 h0 B6 @8 ~, x) o
  q4 K  m4 G9 R# m5.2 core-site.xml5 s- \) s- P) e, \) C
<configuration>
5 v! @) C" p" P4 @    <!-- namenode用9000根datanode通信 -->1 i' o; c  c# B  t. p% W
    <property>
$ A! q8 G% X: l% E$ Q8 T        <name>fs.defaultFS</name>
! C2 R' ]! O- B) p; A        <value>hdfs://nn:9000</value>
6 ~/ n9 }: F( L/ B% P    </property>
4 t' }5 a( ]/ V. ~' |" y* i+ }- E2 V
    <!--hadoop临时文件路径 -->
/ F- q( e! ], L% I/ o+ ^! H    <property>3 x8 M* T- e  Z( D) b
        <name>hadoop.tmp.dir</name>
5 n( `+ K, [% }' w+ M7 x& @4 \        <value>/opt/hadoop-3.1.2/tmp</value>- W, ?5 e8 w. f2 e* C
    </property>
9 t: J( g7 }4 `- {</configuration>: w" R7 I1 R$ a: b

* r0 K2 {( P9 p8 x% _  p9 [, d13
2 E, {) L3 b* h5 Z. Z5.2 hdfs-site.xml; P! |  r, V" X. C( [
<configuration>  V% B/ t% v0 {7 A3 w2 ]
    <!-把dn2 设为secondary namenode,端口不能缺少 -->7 _, ~, Z+ O1 ^- i. \4 i. G6 _
          <property>+ f9 n% ~: x- F  f. M+ d/ L
                  <name>dfs.namenode.secondary.http-address</name>
4 F' X5 D+ G7 F  X% A# L/ O  K                 <value>dn2:50090</value>7 p4 b) E6 }4 L8 A
        </property>   
; t$ T" d. q6 m8 T# L    <!-- namenode 上存储 hdfs 名字空间元数据-->
. `. J" [2 ^. t. |1 G    <property>
1 }  M9 t% w3 r  R        <name>dfs.namenode.name.dir</name>4 }# U1 j: D! L
        <value>/opt/hadoop-3.1.2/namenode</value>
+ y! J% H" m" {% ^! _, D0 E. D& l# G    </property>0 ?6 h( n3 S3 y$ G! z% h7 v- u+ I
+ Y( ?- k2 k% W3 ^0 |9 R( u4 J' ^
    <!-- datanode 上数据块的物理存储位置-->  
; j9 ]4 Z% F; _: v    <property>
- x, x* Q+ d9 V* N: M) A) K" [        <name>dfs.datanode.data.dir</name>
7 g3 Z( ?3 Z/ G& L, S% P: H% y        <value>/opt/hadoop-3.1.2/datanode</value>1 f- R2 x" o+ g/ B$ b( p; u- ]2 ?
    </property>
* D: P) ?' D+ E4 J$ j0 t0 h6 S! U( z! v* v
    <!-- 设置 hdfs 副本数量 -->1 R- Z: u: O& z' P
    <property>$ }6 \4 |- I6 T4 h4 m; q* a1 F
        <name>dfs.replication</name>
! Z% q2 t) z1 Q7 [0 }+ g        <value>3</value>' }3 [& O( @! b" o; V: c
    </property>, D6 R! @4 N$ l4 y2 v- m
6 \/ G6 H0 ^" f/ K
</configuration>
0 m" v6 f; {. x" a$ [! U0 A% k3 z5 j* k: m' b% n
5.3 mapred-site.xml# B; F: `& @7 y3 k
! K; q0 E$ R  w
<configuration>
0 }8 Q6 l( F. O" `+ ?    <!-- 指定Yyarn运行-->" B- U( @2 ]! s2 ~) s8 {8 Q1 @
    <property>  o* O$ Z, j( g1 h
        <name>mapreduce.framework.name</name>% T! m  ]+ O  u0 r5 P, E( J0 g
        <value>Yyarn</value>& }4 ^4 \2 K: G
    </property>
6 R3 e4 L# s  b8 t3 f
4 Z! v7 \- `* |& M; r1 z   <!-- 打开Jobhistory -->- ~; ?3 u; D( _6 v
<property>
9 F! L# Z" [. S& R' V9 y9 ~        <name>mapreduce.jobhistory.address</name>
7 v" i$ C! d* }4 [) T        <value>dn1:10020</value>
1 |/ X, y- c3 `7 W- g& p0 c0 G</property>4 u% v+ R; \! K, N
5 S! j" e. f6 X  {! T- C
  <!-- 指定dn1作为jobhistory服务器 -->
# j# X: i+ A" s$ i0 `<property>" Y. A. w/ z: C" a
  <name>mapreduce.jobhistory.webapp.address</name>7 l4 u: X- e$ @0 ^% G- e
  <value>dn1:19888</value>' t& v- H( v3 E7 ?( S
</property>
3 }- _8 q* x7 P# v. Z: U
" c- v6 ?, d7 L) L/ F* O/ g! U( ~  <!-- 注意这里的路径不是Linux文件路径,而是hdfs文件系统上的路径 -->
% N- p9 j8 V# H9 H9 ]<property>6 W" Y8 [- O8 s* W, O! p
    <name>mapreduce.jobhistory.done-dir</name>% j$ p/ C3 R9 E* i+ k% ]! |) T
    <value>/history/done</value>
- \7 e) ?, n- Y- U! I7 v" l</property>: o) U4 k) A! Y6 V

5 j  p0 y/ w- x4 j( E- C9 G<property>
! e0 ^+ O6 l( Y2 L+ `    <name>mapreduce.jobhistory.intermediate-done-dir</name>2 B7 H+ W! }- u% q% I2 s6 f3 a
    <value>/history/done_intermediate</value>% F, m2 k% ?0 Z& q; R8 U! ~( V
</property>
: g) Z. ~" ?2 u3 l: d7 x! f
3 [' m3 J' g8 Z: L  <!-- mp所需要hadoop环境 -->
7 p, o5 q* p1 D/ Q0 p4 @% K# U! L) C7 i# K/ b# }7 J$ l
    <property>
5 W: g) b- t% o1 @6 ^        <name>Yyarn.app.mapreduce.am.env</name>+ z, n' u: [1 A4 |+ @, z
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>; h3 ~' y3 g; n
    </property>
6 L4 N( q4 f5 t! u( S: Y" s; L
" E7 R5 r* w5 S9 X    <property>; b/ M! A- }5 a% Y% `/ u0 J5 f! a
        <name>mapreduce.map.env</name>
" Y1 e; s& Q* I" [( n        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>
3 k; P4 F2 l1 }9 @    </property>% @* P/ r8 z  ]6 J& w6 N  U
3 H3 ~/ J5 Z  z0 Y) ?6 C5 H
    <property>8 @' I1 V3 K4 j
        <name>mapreduce.reduce.env</name>9 x+ B) T. c8 J) O- w2 u7 K6 Q) m1 E
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>3 F1 M8 G2 Y* x- u# x& ^9 I
    </property>  |1 h+ L" L9 u3 V- D/ v
* W5 }+ t, r0 h. q. r
</configuration>' k# U. V" ]( m6 f8 B+ H' _

5 i$ v7 Y, `6 \- w6 s; x5.4 yarn-site.xm;2 {9 U" H% q4 Q  f& v; d' G# g
<configuration>* `6 L2 H$ V" F& @* X
<!-- Site specific yarn configuration properties -->
$ S; G  ?8 K' X1 F5 ?    <!-- 指定ResourceManager的地址 -->; Y# X% `. J9 C. m3 ?
    <property>( X7 c6 f% D1 @' k
        <name>yarn.resourcemanager.hostname</name>2 |6 g! D  g$ Z3 f
        <value>dn1</value>
% \; W- }7 x7 B# F& O7 B    </property>- V1 [5 ~7 N5 _& n/ c! g% q

! c) d4 p% R8 A) j0 J    <!-- reducer取数据的方式是mapreduce_shuffle -->  # [3 q$ h( F9 X
    <property>1 g& q# M4 U+ s, E3 c5 ?
        <name>yarn.nodemanager.aux-services</name>1 J  K) E1 Q% @% }  N" f
        <value>mapreduce_shuffle</value>7 [( A" _6 b# e' W7 e
    </property>
% s# y. G' U8 E7 Y3 R7 p( |- i& Z6 W
2 }# D- n0 Y9 `; Z7 w$ e7 `, t
</configuration>
$ {/ o  \, v. v1 p: P8 S
' O, b/ K9 J7 X3 f5.5 workers- C* k+ F6 C& W, {/ ?
三个节点都设为datanode,当然也生产环境中,负责数据物理文件存储DD不要跟DN放在同一台服务器( g1 l" ~$ _- c' b8 W1 i, e/ e; u

3 V' Z% D+ Q+ x, a- F[root@nn hadoop-3.1.2]# vi etc/hadoop/workers
) P5 h0 q# d3 M  C9 B2 pnn7 M' j) o. }- \+ l! q, e4 r
dn1- q+ o' F0 K0 _- b5 e/ B7 W" U
dn2' |  O* N, W1 B+ n& @8 f" ^4 D

- b% L5 W2 V) k2 f% ^! C! E- t5.6 设置start-dfs.sh 和 stop-dfs.sh
9 s# P7 l; b1 g: `' M. Z( h% ?( }( {1 o在/opt/hadoop-3.1.2/sbin/start-dfs.sh 文件开头
- y0 R! g2 b6 o* G
% Z- N! E! o6 ~: s3 S; D: y" W$ O[root@nn hadoop-3.1.2]# vi sbin/start-dfs.sh8 l1 e' c& b+ i+ I+ m
HDFS_DATANODE_USER=root9 S5 r* y* E0 v+ k( Z1 ?" {
HADOOP_SECURE_DN_USER=hdfs
6 h+ @; a6 C( E* _  lHDFS_NAMENODE_USER=root
- w, U4 o& N% }1 e5 r8 nHDFS_SECONDARYNAMENODE_USER=root8 Z! ?) n, z6 L2 Y# w+ B/ n: z
. D' K# |4 Y/ g
5.7 设置start-yarn.sh 和 stop-yarn.sh0 ?+ ~. b* O7 P0 F, C; C8 j
都是在文件开头处添加
0 D- g8 i7 a8 ]& V7 v9 J7 U
$ {/ h( b- c/ H) L4 @[root@nn hadoop-3.1.2]# vi sbin/start-yarn.sh 8 ~" ?# m, Y2 q1 S
yarn_RESOURCEMANAGER_USER=root
1 O2 f) Y7 |" ]' i' |- vHADOOP_SECURE_DN_USER=yarn* t" [: S! A$ }5 r7 q" [. K1 k
yarn_NODEMANAGER_USER=root  A# s  y/ x2 \- V2 N; r, u) J' @
+ f3 t: p3 _- K
5.8 将hadoop包添加到linux环境变量,三个节点都需要加这个hadoop环境设置  Q* E7 d. H: _5 [' E% ^, k
vi /etc/profile
6 ~4 Q/ f5 |$ N0 |7 W4 B; \export HADOOP_HOME=/opt/hadoop-3.1.2
8 l: q4 z! H4 o1 J+ p  s( L+ ]9 ?export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
" E* b! N9 @% q1 @) x" m" d, ^0 N8 M$ k! G( \) b1 m
直接将以上的配置文件所在目录拷贝到另外两个节点上,避免繁琐配置# L' M7 g' z: w" x& d

+ {& |: T% S! L1 g7 ]( W$ M[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/etc/hadoop/ dn1:/opt/hadoop-3.1.2/etc/9 h6 J2 w. W9 q* G
1 F/ u% P- V1 d) z% E, b/ a
[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/sbin dn1:/opt/hadoop-3.1.2/  t4 G7 @/ |& U1 m
) S0 f/ T8 z3 v( V
5.9 初始化hadoop文件系统& f% H' }4 f% r% l9 g& S1 e1 V1 ~
因为nn是作为namenode管理节点,因此只需在nn节点进行相应的格式化+ i0 Y( s: F, W! V3 i1 T
. N8 F1 U9 m% p: j$ Y7 k6 A  e" Y
[root@nn bin]# pwd
/ c; v, F, E% s0 s: Y/opt/hadoop-3.1.2/bin
; R9 T* U+ P2 J5 [* F5 @) Z' D[root@nn bin]# hdfs namenode -format
: `3 y3 M5 |" L' R9 \0 M, y4 E****
1 V+ f5 a8 M) V3 e5 d4 C$ B, S*** INFO common.Storage: Storage directory /opt/hadoop-3.1.2/namenode has been successfully formatted.% A/ u7 V+ ~3 z9 s8 g+ \
/************************************************************  j. l3 O- `  f
SHUTDOWN_MSG: Shutting down NameNode at nn/192.188.0.4' S4 V& z" I7 ]1 F9 Z! K4 U

' T4 ~  R) V+ n# F8 Z: c5 Z* k以上说明namenode格式化成功
0 @: O1 _& w' l
6 Z# ^. T6 N" v% E6 启动hadoop服务! r. n! [& o7 {" `/ S9 X! x
6.1 在namenode上启动服务2 }$ K! M3 ~' W, E2 p; l* n( C- w
一键启动所有:如果使用start-all.sh,表示把集群的所有配置的服务都启动,它会调用start-dfs.sh和start-yarn.sh
% M! D4 y  k( D: F) J; k* q
; d1 K+ ~5 N! T单个节点启动:使用start-dfs.sh和start-yarn.sh,这里要注意,比如nn节点是作为namenode节点,那么在nn节点执行start-dfs.sh,无需执行start-yarn.sh) B0 X8 b. o+ I
" L4 c+ E  d; w
网上绝大部分教程会教你用start-all.sh启用集群服务,但这不是官方的推荐方式,个人推荐在每个节点启动相应服务
1 h% b4 f0 o8 G; ?2 S* t
# t% V. U: F" p$ d! B+ y( Snn节点:NameNode,Datanode,NodeManager,只需运行start-dfs.sh
+ ]. Q2 y1 e( A  g" b7 _9 {7 H; e* g9 ~0 [/ s
[root@nn ~]# start-dfs.sh
% V0 S1 f* ^' e$ P2 t, g! W- l& A$ Q( G8 J
dn1节点:DataNode,ResourceManager,NodeManager,因为需要使用yarn服务,且作为ResourceManager节点(本身也是NodeManager),需运行start-yarn.sh
, G5 Z7 s- k. l& M1 M% D1 f. y- z
# }9 X  B6 w2 A# H0 E6 E此外:dn1节点还是作为yarn主节点的JobHistoryServer服务,还需通过命令mapred --daemon start historyserver启动之,启动JobHistoryServer后,可以在yarn的web服务直观查看每个job的运行历史,后面会给截图9 C" K7 C# g3 l0 ^

, Y( M2 ^2 e  a" M& @[root@dn1 ~]# start-yarn.sh ' T7 x2 J! m6 Q' E
[root@dn1 sbin]# pwd9 Y3 L8 S7 T7 O, R# S0 P
/opt/hadoop-3.1.2/sbin- A* Z" a, I/ p+ `5 S* w; V, S2 z
[root@dn1 sbin]# mapred --daemon start historyserver
% L# [$ q2 i* _# r6 t: s, ^2 v& z3 z, ~$ p6 \9 N3 c
dn2节点:DataNode,Secondarynode,NodeManager,因为nn节点的hdfs-site.xml已经配置了dn2节点作为sn节点,那么nn节点启动服务时,就已经自动在dn2节点启动了Secondarynode进程。
- E& V" [9 t! C; T8 C% S( O1 X$ q; z
查看各个节点服务进程:5 f) _. R( ~) w" Z/ ~: B

3 \% Q8 a: Z: R3 S" C5 I7 y[root@nn ~]# jps) T: [0 I6 ~( e% }$ f/ J# [' [
9957 NameNode" H& ~5 {* A2 L4 Q: Z1 n
10553 Jps3 h6 K% b6 i6 z# B0 G- G
10092 DataNode' z; y# F8 N# K
10430 NodeManager
! O! S' T% M; d+ h" p/ R
$ d, v/ ^* @" K" k[root@dn1 ~]# jps
" C! Q! Y& ~5 e8 V31792 DataNode* B0 _" [0 F- L* \! }
32133 NodeManager2 c6 @' A" k( c" a
32492 Jps( u, g0 U2 Y. u1 f+ g$ R! |. h9 _
31998 ResourceManager: p: e4 M# [# y6 F- j
17428 JobHistoryServer, R$ B) l( ^5 z- i

. P! `+ r% E; [$ q* b[root@dn2 ~]# jps
2 G1 G& n  b  R/ B31105 NodeManager- D' s2 p: w! M; w5 _
30898 DataNode
9 S& i3 k* X9 x; M' C$ X31235 Jps
# [3 E' }9 r# v5 ~. x' \+ F31005 SecondaryNameNode8 K' C- {2 p* |  x$ X/ ]

# ^9 ]5 v' H- E; N+ \8 B  H6 A3 i
也可通过查看web服务来确认NameNode服务和yarn服务  R: S0 s9 x8 H+ H! Q" d
8 R4 E0 Z* m7 P% U# D* |

8 M5 W6 x  {- c2 a  Q# Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 04:07 , Processed in 0.020859 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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