易陆发现互联网技术论坛

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

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

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

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

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

x
目录
3 O. [' `" L' K( s
/ s8 N* q$ W; I概念了解+ K) M' ~: S) a5 y4 r
集群服务器规划
$ R* z6 X4 D2 Z5 U0 T; h  i" n软件安装步骤概述; X$ o; h3 }& O: Z% S% ?" s, ?
Hadoop安装' f3 x: d' _" y
1、规划& `) z& c% Z) y  g& B: u$ R
2、上传解压缩
1 c' y; t/ X' K: B2 r3、修改配置文件/ o3 Q0 H( g  t# i2 e+ F; f0 z$ N( L
4、把安装包分别分发给其他的节点. @* k% ^9 R1 C/ k
5、配置Hadoop环境变量; E- {  z: T# h5 T
6、查看hadoop版本1 q6 n& @2 }3 s3 r% g9 c( \& q
7、Hadoop初始化
9 w+ ~2 _* P8 i* Y: ^6 {) W8、启动
& d) e: ]8 T* y5 y9、查看4台服务器的进程
1 N1 n5 S7 B5 ~7 U) Q, M10、启动HDFS和YARN的web管理界面
8 V8 A3 v9 I4 d% s: P, `; r3 eHadoop的简单使用
" O$ W5 x% t2 X8 k: B3 i, A7 }创建文件夹6 g( A) A+ K; @$ {* f! T
查看创建的文件夹
4 u6 E' Y& _3 m; l上传文件- m% ]% P; H9 u/ Q. i, T. l
下载文件
: c' ?* e  A# y运行一个mapreduce的例子程序: wordcount
2 V: a3 {! u7 E- w: [! N) p( w+ u; T& R: }: i  D, P3 A

* R+ N  E  c! M5 y, o& [正文
4 M; X+ B* ~, P) i" v! R" D& J% A# d3 K* F; x
回到顶部% b# V7 r, y7 A& `' M+ C# [
概念了解# ^, J7 A5 u3 G3 r5 c. I# T
主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构。
5 B3 a) X$ Z# M/ L
3 [; P6 O% L3 u主从结构分类:
) h% J7 O1 w# r% v" r1 m- [4 K, m. S" ^" r% d
1、一主多从
# |1 M- l; n2 |' v3 Z' J* l  u4 ?3 H: P" Y7 s% x6 q9 Y: q) k- N, M
2、多主多从
/ `; n5 a4 u; F' `# r! W, x0 h4 B4 F+ ?! u* L# M
Hadoop中的HDFS和YARN都是主从结构,主从结构中的主节点和从节点有多重概念方式:
9 X1 p9 Z1 l4 Z7 |( x# p! n4 I! X' E4 Y* D' t* h' U
1、主节点  从节点
3 [2 g  f& I9 q) x; \: S2 R
  B! y4 L. }4 W. e8 O0 n2、master  slave. V. h) w! Q" S0 A0 G. @( f

. ?- Q) S2 ^3 l0 h3 B9 v) \- l$ w3、管理者  工作者" c) i# G) o/ e8 S0 f% J" z* W

1 C# C- O$ i" W) t: U' m4、leader  follower
0 T7 X/ }# d9 L0 k/ N- M: {, x. B* t9 ?7 V, K, Z
Hadoop集群中各个角色的名称:2 ]  q' r( X/ e. |5 d
0 {- o. o. t3 p- }
服务        主节点        从节点
% U, z  S/ i; Q; i1 m7 k- [- XHDFS        NameNode        DataNode
+ Z; V; ^+ u! \2 i+ a, L" ]5 VYARN        ResourceManager        NodeManager6 u, k! x( Q# v
回到顶部& Z$ d( T: y, M
集群服务器规划% O# |6 m9 _8 @* x; j, e
使用4台CentOS-6.7虚拟机进行集群搭建
' d/ f( E$ ?9 Z3 s/ }6 U
4 i% F% H- |/ O% ^% V; t2 ]' N
0 i: `7 f' I( k0 L; B: w) d
回到顶部
' A( e9 \. ]" H! s2 @软件安装步骤概述
9 ~7 S, k( |$ D: y0 i' j1、获取安装包  P  A8 z: ^( t, o( I

& \. U2 `' g6 b5 ]; G2、解压缩和安装! u0 l& ^: a# J" O  X1 I' ~

- j5 W5 M7 j# Z3、修改配置文件
' l5 G: i5 r' u# ~/ p( y3 h: t8 Y! X) J' i# U1 T/ E
4、初始化,配置环境变量,启动,验证( |1 {/ k# T3 u9 p" e

' l2 i* X$ N: ^4 x% k回到顶部
+ y6 \& L' V- mHadoop安装( u7 @, K" R- O- [8 `
1、规划, _  Y) h/ c: x- x. [8 `
规划安装用户:hadoop# D4 _0 ~$ x4 u6 n
. d6 G  m; w6 F9 c
规划安装目录:/home/hadoop/apps2 B* }' p. y! V$ f  n
- n# H' e- [4 s& N+ d" I5 C; Q
规划数据目录:/home/hadoop/data8 P5 {) I6 T! r2 f
0 l! Y9 h8 p: E; w& [! ?! H
注:apps和data文件夹需要自己单独创建5 Z. `3 [7 K( p, O: f; D& ]

, w* b6 _, q' V9 z- Q2、上传解压缩% n. A( f% X# W% h9 b* M
注:使用hadoop用户
! u. d7 x0 \- z+ U
, V. H6 p# c, p  d* ^; f! B[hadoop@hadoop1 apps]$ ls
8 x$ [8 h, u/ Y6 r/ h. @8 ]hadoop-2.7.5-centos-6.7.tar.gz6 {, w, y, ^$ a3 a& `4 Q' j
[hadoop@hadoop1 apps]$ tar -zxvf hadoop-2.7.5-centos-6.7.tar.gz - i+ }- M* q) N4 T" W( e  ]( O& p; h8 J
3、修改配置文件0 J" D. n9 B' F' [; G8 V
配置文件目录:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop, A4 \4 m6 u+ \+ o8 g

* h) s% o0 A+ y1 J5 [/ ^
8 t" b& H% W0 K) Z. y& c' u5 Z* Y  B! w
A. hadoop-env.sh
; X) o6 e+ g) C5 y[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh & N; Y( Z+ f6 y, J+ \2 N
修改JAVA_HOME8 u1 k; ?, p8 h8 ]3 r! ]9 n

% r( z2 V: E% n& ^1 l* V8 texport JAVA_HOME=/usr/local/jdk1.8.0_731 Y( ^3 k. `& v8 J

$ Y' l8 f! X% f+ s' h* n' H0 B# l/ G' H% D& d1 G& D
B. core-site.xml
7 K) N4 u3 S( ~1 F) ^6 x( ?, L. d: r, @# T- U1 P& |# a$ v
[hadoop@hadoop1 hadoop]$ vi core-site.xml 3 U" _" d# l; y- |( P
fs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务7 w: n/ ~# S: s% [6 M$ V; {  ?

2 k. M) \6 g( Z, W; ]hadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录+ g' M* x% T" r6 T8 O- X; z. o

2 C$ @; S) o$ h3 X复制代码9 m: C. U$ Z! Y6 K
<configuration>' `* e3 F# I% Q7 {6 i( \# R* M
        <property>) @+ H! D. L8 i2 n6 V+ d2 [
                <name>fs.defaultFS</name>  d1 l* F8 P  \/ U" @0 X% i
                <value>hdfs://hadoop1:9000</value>
# {, \, E; o- K  z: j' I' y; U        </property>
2 O  _7 l, q4 {  X- z. M6 K        <property>" I- V# R& L$ w
                <name>hadoop.tmp.dir</name>
; g4 P. ^0 z3 }- l) }% Q: w                <value>/home/hadoop/data/hadoopdata</value>% H8 |+ I; e5 O: g9 P
        </property>
  k7 H+ y8 f9 u. h* s3 ]: y3 A# V7 [</configuration>; N; l$ {+ b4 o8 E1 a& X% m6 A
复制代码
0 q0 R. t9 n% R/ u3 c: K' V* U7 J- Z' v" O+ `" {. n  H

- V) D! A  ?( ]4 w7 Z9 }C. hdfs-site.xml
, s% C$ F" V/ U: c& x
% {" Z0 }" Y' x0 p[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml
  }0 L1 }; B* g* D8 }2 c$ z dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。) Y* y' c1 v$ L+ C
) L5 T% C% W7 y2 ]8 P. W8 g
dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。
9 Y1 v9 @% `8 s4 l1 Z. q- N
! k( r' v5 X9 c) C# {& D  ^dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。4 c6 K; U1 U! g' X! ^

  v% n+ R- V+ i7 I* K  Mdfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点% ~, @* s0 y4 \! e  m, n8 ^
9 a# c6 q0 r5 r6 e
复制代码
& [5 d7 i; X2 e- r" v<configuration>! H# c! F/ `/ p/ ^$ t
        <property>
& N1 H; ]* K7 y9 |9 ]                <name>dfs.namenode.name.dir</name>' r- x/ R# E( O0 V( B. W
                <value>/home/hadoop/data/hadoopdata/name</value>
$ Z/ V6 I5 P* x+ a( N  z- U                <description>为了保证元数据的安全一般配置多个不同目录</description>
. _$ _0 i! G/ M2 c) G% V        </property>
+ U) H# [7 E* H. X0 U
+ K6 {% J9 q7 ^0 r3 O* Z5 f% _        <property>+ G) N) ~* Z. Z7 k, n
                <name>dfs.datanode.data.dir</name>8 p* o8 e5 Y8 b7 Q8 D; \1 @7 M
                <value>/home/hadoop/data/hadoopdata/data</value>
# ~; G- }3 B$ n' F* J8 i+ s2 Z                <description>datanode 的数据存储目录</description>
$ Y( i$ _0 R) B0 H        </property>
  S( L, R( j0 H1 v4 h( t( ^
0 z4 R# Q) x' c( o/ }        <property>
1 p& p& ]" g& L) V; P1 s0 [  b" j, f                <name>dfs.replication</name>3 g0 U/ ?  @: V1 r
                <value>2</value>7 y0 W6 H$ b0 T0 [
                <description>HDFS 的数据块的副本存储个数, 默认是3</description>( l0 {- O8 X: W/ t& k/ b  a
        </property>
6 K) V+ z1 E9 G( q* y
1 ]! {4 B) o' d4 h% g9 m) m        <property>
9 `* n) R& d0 M! ^8 X                <name>dfs.secondary.http.address</name>
9 N7 R( w( |! W0 ^* Y6 N3 f                <value>hadoop3:50090</value>4 M3 T$ Z( d5 @  T/ y8 O( ^
                <description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description>! w3 K  K' W8 S0 t
        </property>
) P+ u1 X% v- `7 E5 z</configuration>
0 W. n- ~- V+ ]2 v复制代码
# F0 D8 S, ]( Q' e5 C  n: W
) z2 q+ f8 M, i  H8 U, f2 \0 a2 P4 M4 I& u
D. mapred-site.xml6 c# A+ t# n9 v/ y" U- ?" ?- B
2 s1 d3 j% Z! N/ D
[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml( E3 c" V' f6 z7 z; P. {
[hadoop@hadoop1 hadoop]$ vi mapred-site.xml
0 Q. f9 ^1 V% S4 |4 g8 p. T mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。
0 }$ |6 J8 @3 P9 r% c" e+ N5 A" H/ n0 d4 i$ o3 B' Y
复制代码# T. }7 q" G2 z6 ~. F' `
<configuration>
: T; q$ x. x# s# K( L        <property>
. H! z9 ?; X; ~+ ]+ W                <name>mapreduce.framework.name</name>
* }' n& K# p2 Y                <value>yarn</value>! q4 N! R! H) b# M- L
        </property>( x  Q2 g' d8 d* t. ~
</configuration>
" d) f7 |+ t" v1 \% O" w复制代码
; o) G, l# i/ J+ o4 A, c( y2 D: k" t' a: o* D; w

. l9 h6 d5 z; \- \1 @  m9 }E. yarn-site.xml2 n8 u# {) s) A) F) [

% E! P, M+ i. n3 s. o3 B% |[hadoop@hadoop1 hadoop]$ vi yarn-site.xml 0 C* ^8 ^; M! N8 i2 `% j& @% _
yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址
, Y* x$ g% }+ i/ `9 U  X( }! S
: a! \) x5 H7 @$ j  N; m yarn.nodemanager.aux-services:
! Y* [% e5 f  L, g; M3 ~: Q* p" G% k' M) b( A; E! v
复制代码2 u+ S  _* O4 {( S- ]8 r
<configuration>
& D7 r3 o0 V7 T# ?3 }
3 G- ]5 x4 O0 s! Z* I% k8 e<!-- Site specific YARN configuration properties -->8 c& U+ {1 Q8 J" _$ E, t
) m: v$ l2 ?8 t, Y
        <property>' F$ f/ @+ t* h% h  L+ |
                <name>yarn.resourcemanager.hostname</name>
# h* a$ q. \2 a1 L1 b/ u- O                <value>hadoop4</value>8 L3 D  Q6 G- l# d4 Q% p
        </property>9 |0 v0 v: ~& w9 c  b' ^0 g. S
, \# X  Y) T* x: W8 R0 e
        <property>3 A7 [% \; y$ Q9 k" m' q
                <name>yarn.nodemanager.aux-services</name>
& l5 `1 M, _0 V' D  H                <value>mapreduce_shuffle</value>
$ p) u. O8 e: n7 `: j2 N" f% [                <description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>' I$ T- y" \, j. V  W
        </property>: P4 g3 T: b% [$ P' A* a" n
. _5 m) J  q5 F2 U1 I% L6 D9 V
</configuration>. J$ X" H& l* t4 @' X
复制代码' f  s- e4 ~+ p0 G+ b! e& Q( J
% E5 x4 |. n& @# D- N
. M, a- J& U2 U, w! w; F  b
F. slaves
2 y- y- h6 ?: O/ f+ U9 }
# L8 B0 v$ a& @+ u) `0 Q# k[hadoop@hadoop1 hadoop]$ vi slaves   p6 w2 J3 p/ D
hadoop1' R' M2 z# ?* ]! O, M
hadoop2( k' R& j4 G# R
hadoop3
+ d8 U8 @% q6 qhadoop4
; t" N% L4 V6 d7 O
+ \3 n  C$ T8 c! c9 `! a) ~! H0 v! N' z0 d0 |) U- G* H
4、把安装包分别分发给其他的节点
, x$ r6 J, b3 S0 ]2 C' a重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
" D- @+ R" p: p重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
, ^' P* D0 Y) q9 S) @重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
" N8 g+ b) g. c# \
* P  D! e& [/ O% s/ s[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop2:~/apps/
' J0 g# i' j$ D& l# g; _- x[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop3:~/apps/
8 D' X3 H1 p" _) a: K  a9 G[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop4:~/apps/
1 q% }9 I5 \0 {$ q9 m+ r& ?注意:上面的命令等同于下面的命令
( @8 a+ k* E- ^" Y& l; c  j2 z5 e$ k% P5 X* f2 D, s
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop@hadoop2:~/apps/
' b! J8 O+ F% k8 b6 a+ Q2 s5、配置Hadoop环境变量8 O1 C  g* G! v% Z/ X8 J
千万注意:5 A! C" m: e( W- ^9 c& K
. C, F7 E6 j) `
1、如果你使用root用户进行安装。 vi /etc/profile 即可 系统变量3 d5 u1 ~- s/ i7 ~, p

; r+ y4 l1 A3 f  k" c+ f2、如果你使用普通用户进行安装。 vi ~/.bashrc 用户变量
2 R. v* m8 o  }( p1 i+ V; L9 `* n# k& p3 G
[hadoop@hadoop1 ~]$ vi .bashrc. L1 c4 n& T" ?5 W& g+ ?7 t4 p$ o
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5% G( e5 z) f  x% s3 S+ c
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:& ~) Y3 e+ i% z6 _4 a" R

2 ^; R# D4 G1 b& y/ V
  x- d: V5 R/ q- n/ {( ]使环境变量生效
  w1 B$ C. m* x/ g1 s
0 r# R' {' _. Z2 ~[hadoop@hadoop1 bin]$ source ~/.bashrc 0 l1 b% c2 j$ y- E0 M
6、查看hadoop版本3 W# u' |$ |) c+ m
复制代码
* k4 S. ~) p: b$ r0 G8 N! u[hadoop@hadoop1 bin]$ hadoop version* T& g$ X1 y' s9 w
Hadoop 2.7.5( X( ?1 L# q4 a( y" D1 X
Subversion Unknown -r Unknown; u' b( @/ n  S* R: w
Compiled by root on 2017-12-24T05:30Z
5 {% ]) K0 H. u) J* e. gCompiled with protoc 2.5.0
4 C2 w/ u% r6 n1 AFrom source with checksum 9f118f95f47043332d51891e37f736e9' e. J' O+ B. x, Q3 j8 r$ y3 U
This command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar0 m5 Q3 W0 e  l# g/ w- p. b- f
[hadoop@hadoop1 bin]$ , N% }9 q7 X6 _) T( ~
复制代码4 I9 l9 O+ T9 V$ `
3 F6 f) q! w! [- _' I4 h! ^, p

/ u" e6 f1 o( ~' `4 N) ^' j7、Hadoop初始化
1 ~8 n4 j  z# R$ \( R注意:HDFS初始化只能在主节点上进行  F  ~9 m% l7 f# m, _3 D) [
9 q4 h1 s! ~6 J( R+ m
[hadoop@hadoop1 ~]$ hadoop namenode -format
% A1 X2 _8 P$ p- F0 K: x View Code! u, N0 d! m8 {5 l
( Q. X4 q, {: T: D5 V8 ^
4 x+ r% M$ d/ t2 l$ n4 F+ t
8、启动
0 R0 ^; |3 C. Q- E& D* }# ?, gA. 启动HDFS
9 L. n* r- }& ]) E
' U$ T$ U2 o7 k& I0 k( Z注意:不管在集群中的那个节点都可以
; {8 w- e$ d6 M" F) l0 K
4 e3 @$ n, I$ K( \/ A复制代码* v8 K% {5 I9 ^: i- V
[hadoop@hadoop1 ~]$ start-dfs.sh8 P  s- X% H3 M5 P/ S6 R! ^, |3 C
Starting namenodes on [hadoop1]( ^3 u  M( Y- s5 ]
hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out
. p% Y% Z5 Z5 O/ {+ s) Shadoop3: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop3.out
- }# C1 S. y# Z; S+ x- i, Shadoop2: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop2.out
! A, ~6 b" u0 U  m# N# O$ Khadoop4: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop4.out
8 m6 t- V" E5 ]3 M; r  Ghadoop1: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop1.out6 f5 I* [, @: t8 X8 R
Starting secondary namenodes [hadoop3]' b1 _3 S3 Z/ T1 H9 m) k1 N- i
hadoop3: starting secondarynamenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-secondarynamenode-hadoop3.out
9 m% h4 b4 b/ H) ~1 J( D0 Y[hadoop@hadoop1 ~]$ # A# r3 d: j# C
复制代码
0 m0 M; J. B1 E/ z- h. I; e% {* S8 G
1 S+ L5 L! @  v) ~
B. 启动YARN
9 K+ O5 c6 S$ ^3 }' k$ |
5 ^5 ~( I- m! N& p, b3 \注意:只能在主节点中进行启动: N- J) g" H) t6 Z$ }

4 m  t4 V8 P6 p复制代码) |7 D. V8 J6 x  p! X
[hadoop@hadoop4 ~]$ start-yarn.sh8 Q+ e2 n, N$ @
starting yarn daemons
6 Z. `/ b9 H7 k5 C9 Ustarting resourcemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-resourcemanager-hadoop4.out: L1 r" ~! |9 b2 \, m
hadoop2: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop2.out3 q9 ~1 l5 J: u7 O/ v/ g/ [; b9 g
hadoop3: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop3.out
& `( t4 b6 ~* p6 T- \+ Y, G; ]9 d/ `0 ~hadoop4: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop4.out, x% w; u. ^( \7 f% X  C$ G; g
hadoop1: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop1.out
4 ^  c# [# S, \. A" L[hadoop@hadoop4 ~]$
$ \; J3 \. R# s) q复制代码
  y5 o8 w1 i3 q" j- \+ d: f/ a0 B7 \; i, u) c" m# n

' h$ g" ^( i7 w: D5 ^2 d1 F9、查看4台服务器的进程: A2 m" i: m& Z2 \9 n
hadoop17 `  m' s4 s6 O5 d  l
2 C  ~! ]: n& b5 P
0 E& Z) m' K4 o+ Y% P
3 n4 c$ d. k; P1 ~) E
hadoop27 r& ?" H/ ^, x, g* K  H
, F, q* w( a7 @( U$ r' @

5 a' [# a; m) p" O+ L
  ~- y; J  f1 |# N5 V$ l* Ghadoop3
1 p  C  H9 d5 v/ G8 I/ f2 _1 o8 L/ `0 J1 }; f5 v' A; z) v

# w7 @& D( P# l: Q+ k1 C
+ z. ]9 H/ ^9 g* m) h* k6 ehadoop4: ~2 o7 y( z7 l; w+ f" s. u9 W
4 z) g! U3 J1 |+ {7 ~

0 E  d9 H4 D: l# d! ]5 `$ b: H$ i- \) \: `
10、启动HDFS和YARN的web管理界面
7 k& R9 P# ?$ {+ [/ dHDFS : http://192.168.123.102:50070* P4 a! U5 F1 F- o- o
YARN : http://hadoop05:8088
: Z& b. H; y( b% R! Z4 `
) p8 R' v  S) [疑惑: fs.defaultFS = hdfs://hadoop02:9000  s8 l  s0 t; m2 C$ x1 w$ h

5 E( q/ M- `( I/ P# U解答:客户单访问HDFS集群所使用的URL地址
5 @7 q% H  H- x6 p9 @4 H
' ^, d7 L3 y( I8 q$ [8 v& T. V同时,HDFS提供了一个web管理界面 端口:500705 Z, C, g7 {, ~" k, t: Q8 I
, ^. D- q) Y- F2 o) v2 Y+ S8 O5 v- S
HDFS界面
2 r# `2 k2 x5 j* X/ ]& }; w
7 g! F2 V* r: b5 O/ ~" a# o8 @- |7 }
点击Datanodes可以查看四个节点5 u9 B, C! j  v6 b. @5 ]) ~4 {- N6 K

# x! ?+ l  X5 O* C% L( b5 N3 v4 a0 S; m9 y
* q  ]2 S0 I6 q+ ]* K2 ~
YARN界面
- @( r0 M6 M) B0 a  @; h# x1 H; Z" V6 f% q
+ G6 `- w7 s' d, ], m
点击Nodes可以查看节点
6 h  a. |' D2 C8 X/ L
2 c3 t: t( T6 ?$ W# Z3 q9 `2 O! p2 C- j" `. E

6 _3 |5 d) ?3 i, U; o1 s回到顶部$ F% c- J" v" p6 \( W$ }
Hadoop的简单使用
+ W6 ?; ^9 u$ U# V创建文件夹- A+ f" |) |7 {; ?) O% F
在HDFS上创建一个文件夹/test/input+ Q5 I) z% e0 h7 w: E
* t4 j! K/ g9 s! u$ y
[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input
0 j& @. `: n- N# q( u" T查看创建的文件夹
- R8 U* q! Q  g. }- ^复制代码& T4 @4 k, ?! X1 N
[hadoop@hadoop1 ~]$ hadoop fs -ls /
8 B* `: O; N, @8 eFound 1 items  ?: \+ e  V5 s& g) j8 g
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test
  i8 k. N! E& F[hadoop@hadoop1 ~]$ hadoop fs -ls /test
* m4 H+ P% Y* \' TFound 1 items
1 `2 Z8 z0 ]6 ], r; {3 I* ^* i; Z5 Rdrwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test/input- i* h, ?; R% r! t+ w6 M
[hadoop@hadoop1 ~]$
" m- r" ^2 V, a  s: s1 R3 v% l8 o复制代码# ?" f; L! T) Y+ Z8 r5 B/ W- u

/ H! _6 W; k4 j$ ^/ Q( ?! B* E2 k5 y
+ ]$ b+ b; d$ N9 D$ \4 B( l( `/ \: N上传文件. T2 ]$ y6 e: a& z( p
创建一个文件words.txt4 I1 h7 s3 Q; k: n
8 d, ^2 P+ F5 u" s
[hadoop@hadoop1 ~]$ vi words.txt
9 C0 f: ^$ l3 |: d- Ihello zhangsan( k# n* y1 d4 u$ k) r
hello lisi7 G, j' R6 p/ G* H
hello wangwu
2 g3 ]8 G0 Z, Y9 i0 w, D上传到HDFS的/test/input文件夹中1 Y) `: b. o$ J7 \% [) H5 v# M3 J0 ]

+ i8 h* Y+ J& P+ z% k8 [; y) Q2 [[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input
' d4 |1 ~  ?& N6 x 查看是否上传成功
  B& X9 J3 ~- s% c' f$ X' D; P, ^6 B1 T
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/input2 Z) i! g0 t7 B
Found 1 items9 T/ V, k2 H6 C
-rw-r--r--   2 hadoop supergroup         39 2018-03-03 11:37 /test/input/words.txt/ r) x1 r: T+ y: B; I" B( o
[hadoop@hadoop1 ~]$
* @) Z. ?5 Y' B! o' o; S' m
7 l6 d0 A$ P+ g! |; f* K; {3 n( g9 J! X3 B( ?+ x' A
下载文件, v- I% Y; J9 j4 Y! x
将刚刚上传的文件下载到~/data文件夹中1 F( T2 L% n/ Q: A0 C8 v

( a6 c( u1 o4 }& }7 m6 _[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data4 B* r4 S% Q( C0 S% p2 }
查看是否下载成功9 x9 y/ Q. D& R
9 C. ^4 z( o0 _- f4 ?
[hadoop@hadoop1 ~]$ ls data
4 `+ [0 [& o  Vhadoopdata  words.txt
9 o$ s# A6 e% m[hadoop@hadoop1 ~]$ 3 k. ]* j- W+ _- J

4 j; _# G. R% j: C
6 L* X# A* [3 i: t运行一个mapreduce的例子程序: wordcount! }3 ^0 r0 U5 r  h* m  w( ~
[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output
( l9 N+ F5 V6 p8 A, E4 h% V" s# j) W$ I8 g
# y1 ]) R8 ]4 O0 X
在YARN Web界面查看! J* h+ m2 |& ?( x4 j4 _4 ^& e$ a
8 |( `. s/ Q5 P2 L! Z

5 E1 f7 E9 k9 m" d# ?2 E0 g
$ H$ }% s$ a7 L: J/ P, U
/ Q+ o. z& E4 j) [( Q* ~4 R
+ r2 W* z5 f4 d7 F1 B0 @查看结果
% W2 S; X/ P6 l, A( `3 S9 c
$ F4 _; ^4 ]# S1 ~! K复制代码
: i: D) ?! p, Y% V[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output
0 A1 _* i2 Q% ]6 S  aFound 2 items( B( T0 V5 M. \) N0 \
-rw-r--r--   2 hadoop supergroup          0 2018-03-03 11:42 /test/output/_SUCCESS
; Q  j5 u3 ?2 S- n! S* f2 i-rw-r--r--   2 hadoop supergroup         35 2018-03-03 11:42 /test/output/part-r-00000% e: B: O' ^# k7 g; B, G4 l
[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-000009 B" a" h. d3 s' w8 r9 t) q
hello    3
' ]- r* v* r/ F  f: B- z6 L; C' xlisi    1  |) K5 F& g3 s9 C- @1 I
wangwu    1
6 {. j: p# L7 {/ d- u: q$ C& m* e6 Dzhangsan    10 n5 U' S9 @% r3 i2 L
[hadoop@hadoop1 ~]$
8 @( I& u* D9 s/ p  i复制代码
# g. ]  U- x: _$ K/ U. `4 ~
, Z! I" w" w; |% D' m3 y" c; n+ i6 Z' F% b9 z
 楼主| 发表于 2022-11-11 16:30:05 | 显示全部楼层
5.1 配置hadoop-env.sh
2 F. m# n/ Y1 C$ ^0 T- ^! W2 T5 y: v给hadoop配置Java路径,三个节点都需要配置,但无需每台去设置,因为后面会把整个/opt/hadoop-3.1.2/etc/hadoop拷贝到另外两个dn节点: n! r0 t8 Q* D8 @! S6 v; |; i
, _6 P0 x3 ]6 L7 s4 E' X7 \
[root@nn hadoop]# pwd- ]9 Y9 P  ?7 n3 a2 t% f
/opt/hadoop-3.1.2/etc/hadoop" Y6 ?3 Z3 c$ G" l6 m% U
vi hadoop-env.sh4 G6 L. W- I2 s! o% _3 V) m8 z
export JAVA_HOME=/opt/jdk1.8.0_1611 i+ B% A( u$ l$ ^2 N

' {, J% t" Z2 i3 H0 g; i; w5.2 core-site.xml
6 H$ p% P& M4 c7 B9 y) u4 l<configuration>
+ ?3 |# X  w( }. v6 C    <!-- namenode用9000根datanode通信 -->
" y9 z+ F- T+ `9 {, t9 |% h% a# `    <property>
7 O' E  `" R( G% w3 ?0 P        <name>fs.defaultFS</name>
- c) o5 a/ r0 a# G/ Y' L        <value>hdfs://nn:9000</value>* w" e# u% I& a) Y) m6 {( u
    </property>
8 H0 q; L: B+ ]: v5 K) b7 q
. F& R* x, X" c    <!--hadoop临时文件路径 -->
$ s! n! M' x( z6 d7 j    <property>1 T- ]7 W" }" q. f
        <name>hadoop.tmp.dir</name>
6 C$ R' M' f+ J/ c1 L9 `$ L! x- {        <value>/opt/hadoop-3.1.2/tmp</value>7 K0 ^+ r  |% w$ s& S# k
    </property>) R7 U& S. e. }  L  k
</configuration>
, |4 m1 r5 V2 {8 X0 v2 S3 n7 V2 B9 t9 X& y- F" ^0 B1 X* _. D1 A5 f
133 C! C) [! o: l4 ?
5.2 hdfs-site.xml
- @1 T. n8 i/ r* G" O<configuration>
, |. k  U6 W1 j$ w) O# s* Z3 P    <!-把dn2 设为secondary namenode,端口不能缺少 -->4 c. R2 z7 P2 W& j
          <property>9 j8 @5 u' H! y  Y
                  <name>dfs.namenode.secondary.http-address</name>
  M) G* F& ?1 I: Q* _* i6 X9 G* w! h4 J                 <value>dn2:50090</value>
1 [9 l; U6 M' e" R) w: g$ U        </property>   
$ e9 n8 W% [* W! D5 T. g  ]  j    <!-- namenode 上存储 hdfs 名字空间元数据-->
! h" r8 s8 ]  ^* F    <property>  ?1 s5 p& l. B; T( k$ o. q, s7 A
        <name>dfs.namenode.name.dir</name>
* D) T5 R% h$ A/ X; m# Q) m        <value>/opt/hadoop-3.1.2/namenode</value>: d. T4 g* B0 r
    </property>' C" {8 e4 X/ \& z
4 h) ^, H% F$ ~  Q2 s
    <!-- datanode 上数据块的物理存储位置-->  ' {; O) @/ c0 w7 y& O' \
    <property>& J+ o' _( |& K( a! i  h7 E" v
        <name>dfs.datanode.data.dir</name>% H0 p9 Z4 `+ K+ C6 G
        <value>/opt/hadoop-3.1.2/datanode</value>
0 f/ J" M4 j" k( [0 t' r8 d    </property>; Q! X! r" `0 R8 l
+ {9 ^$ _) E5 U- ~. e* [# n" P
    <!-- 设置 hdfs 副本数量 -->1 Z: u6 s! b& K
    <property># [, J( {/ s. @9 U: i
        <name>dfs.replication</name>1 ^, g" |! o! {# x) M) Q
        <value>3</value>  q$ t+ ]% |9 I2 k" E
    </property>
. z' ?: O) ]$ e! q1 L* M' U6 k/ Y8 `7 `1 D
</configuration>5 g9 h4 d* t3 S3 J  R% X
4 P0 M, S$ P" H$ i3 V6 j) J/ }
5.3 mapred-site.xml$ Y% G( X7 L  d: O0 j6 D  @

( }+ i; r- q7 o<configuration>7 \0 b& [9 T% h( `9 C) f( Q2 z* J
    <!-- 指定Yyarn运行-->
2 j1 m% R2 P: ~2 z' r    <property>0 Z' b5 A4 O7 h# W5 N
        <name>mapreduce.framework.name</name>
7 A8 y# q, D3 o4 q: d* \        <value>Yyarn</value>9 B' S9 L" C4 o1 r
    </property>7 U$ O3 j$ a; n1 B, ^
* J: O: H( L; N7 Q( a
   <!-- 打开Jobhistory -->! C+ ~! i: [; o6 g. x2 S, I
<property>+ h% i1 E. i) l8 s2 D/ N
        <name>mapreduce.jobhistory.address</name>+ O# d; e& c) Y5 V1 E/ B
        <value>dn1:10020</value>& `" L" m! u% Q* F- s
</property>
2 i- ?6 q0 H/ D
: D/ K  g$ r4 y5 u  <!-- 指定dn1作为jobhistory服务器 -->2 t2 V) Z% v5 p* X6 n  J' n) E* F" z
<property>3 P# J4 a- o1 \- u' k" X
  <name>mapreduce.jobhistory.webapp.address</name>
- \9 W# y# l& L! e0 G% C  <value>dn1:19888</value>2 J) j$ @# F4 P
</property>% ?; I5 V" w$ W$ Q( t2 ?9 a

! \; \0 `: c, }/ Q  <!-- 注意这里的路径不是Linux文件路径,而是hdfs文件系统上的路径 -->
  b6 b  ]! ^4 C: U" R% {) K<property>& K0 e% [2 ?8 _$ }; W' p4 g
    <name>mapreduce.jobhistory.done-dir</name>
  x8 p: O  ~  e7 q2 p$ X    <value>/history/done</value>
% z4 \7 o6 P0 t( ~</property>
+ A& c1 T' X6 \$ z
0 Z! r1 n2 }, d2 `<property>
8 M- t: q2 o& h* `: `9 U/ R! y8 N$ L    <name>mapreduce.jobhistory.intermediate-done-dir</name>: c; H: _3 p' l! E5 y) C- G9 m
    <value>/history/done_intermediate</value>
- l1 }" F6 e+ Q" ^9 b+ R' ~</property>3 p; ~. f& R8 ]( @
( g) A4 ]- U6 H! {$ J
  <!-- mp所需要hadoop环境 -->% a7 U+ M+ ]$ F0 r+ s! Y9 L
6 S- R- k0 E  Q; G' C" ~
    <property>
( n, i% B, n, c% X% n        <name>Yyarn.app.mapreduce.am.env</name>! v+ Z# v6 v7 I) n$ J( k
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>( U8 `* u" }+ N' w" V% V( w% i
    </property>
3 _" @& Z& h; S" i# D$ o; X, G- y" S; y$ K  k3 \
    <property>
  m: z$ R3 _" W. _# I- x        <name>mapreduce.map.env</name>. y0 K& s. D# g9 `& c7 N
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>, t+ q9 N0 {$ Q4 L' Y- B' n
    </property>; U$ n) x8 m& X) B

- ^& {- g! U( [2 V. L    <property>2 o$ ~4 E0 O% S
        <name>mapreduce.reduce.env</name>
9 j! {" n9 Z; b( N9 n, |8 C( N! \        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>
0 d! P7 i" F1 ^) Q3 l4 s    </property>" p; C) @2 Z  d" I7 H( d
: `# f( x& o, s  U5 H& s, n
</configuration>. V. M. m0 `' o7 a
# X1 T% J6 E' Y, R/ l/ k( F
5.4 yarn-site.xm;* w1 x5 |2 A9 j4 M# Q' D, S& X( [
<configuration>; J  l' L, y# |# d
<!-- Site specific yarn configuration properties -->
" J: d- @4 N" C5 w  Q2 [    <!-- 指定ResourceManager的地址 -->, e, n( W: F* Z/ T, m
    <property>& \* d* j& B8 i5 v
        <name>yarn.resourcemanager.hostname</name>
# j3 C7 h9 Z6 ?; j2 W8 ?        <value>dn1</value>
4 n% E) d4 Z% y' V- o% {8 E4 }& p' A    </property>2 m/ F8 ], X5 O. i; S& R

0 ]& U9 {3 [. G  L    <!-- reducer取数据的方式是mapreduce_shuffle -->  
1 _  f1 D( b# W, S; o    <property>
7 w: W$ g$ K) f9 _+ u4 o9 p, ^        <name>yarn.nodemanager.aux-services</name>
* ^: y& y6 H0 {9 |$ i! y        <value>mapreduce_shuffle</value>0 o3 v, J* t# |) R8 H6 J, A
    </property>
' G' D' ?3 j  U: m1 f) A
$ v+ C& v4 F! }' Y, {7 l; Q
4 K9 H  n6 C1 ?! l! e5 c2 _4 d</configuration>6 T$ \  o+ D% N8 C  R9 {
+ x$ p9 R  ?; D( I0 q" _' e
5.5 workers
0 T4 |$ @9 V9 t" |3 |5 {三个节点都设为datanode,当然也生产环境中,负责数据物理文件存储DD不要跟DN放在同一台服务器, a' b+ Z0 U5 a
$ I: ]1 T% |2 C# ~! M; |
[root@nn hadoop-3.1.2]# vi etc/hadoop/workers
  F& O( F  _! l' N; f3 f) E- Nnn: }+ w' u4 [. A7 S3 m
dn14 M+ O) M. e0 x" w9 ^4 c, S  ]
dn2) @' a( U8 ^. s6 ^" e

5 Q0 g! N* t7 C! L# T+ q7 g8 J5.6 设置start-dfs.sh 和 stop-dfs.sh4 s6 k1 L9 |" d0 {
在/opt/hadoop-3.1.2/sbin/start-dfs.sh 文件开头3 `' F1 |/ q, u4 A; ]; p1 V9 `
' R4 z/ _3 N, f. E$ Y5 a# ]# f  d
[root@nn hadoop-3.1.2]# vi sbin/start-dfs.sh
4 z# f; n5 F2 f+ c3 }: J" oHDFS_DATANODE_USER=root
% a8 ^) x; k# ^1 k' I* ?# f0 D5 iHADOOP_SECURE_DN_USER=hdfs. c8 J# y. w4 s/ {" V
HDFS_NAMENODE_USER=root6 Y0 k) T* }, e: U: h0 {# m7 `
HDFS_SECONDARYNAMENODE_USER=root* w( l9 S5 [1 k! A: f
3 K9 Q3 H! Y+ @2 Y! f$ [1 B
5.7 设置start-yarn.sh 和 stop-yarn.sh
4 ]4 G( c" {& r: E  o都是在文件开头处添加0 b& s; B' [& D6 M. n1 \
) _# N# T/ V% ~; [
[root@nn hadoop-3.1.2]# vi sbin/start-yarn.sh
/ G) o* b) v6 u" a$ w' R2 F: @: Wyarn_RESOURCEMANAGER_USER=root6 W3 `: U' x4 X6 I! d6 g0 C
HADOOP_SECURE_DN_USER=yarn
/ v' r/ ], x! Q" W5 `yarn_NODEMANAGER_USER=root5 S$ f0 t  E5 T% p7 q

8 S; _3 A8 y' l. B0 \3 H  d+ {5.8 将hadoop包添加到linux环境变量,三个节点都需要加这个hadoop环境设置
- J) `3 R0 A; A  ~vi /etc/profile' Q5 M; i% n) ?  z6 L
export HADOOP_HOME=/opt/hadoop-3.1.2
( i2 ^" y/ o# I9 eexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin, v: I8 ^; i4 j4 R2 w4 K

0 x/ L5 k9 Y2 R  a: B/ M直接将以上的配置文件所在目录拷贝到另外两个节点上,避免繁琐配置
6 Z) J& Q( J6 Z. R
$ F; d3 J$ N- h[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/etc/hadoop/ dn1:/opt/hadoop-3.1.2/etc/6 A" L' I- G+ e, u6 D) F

, y. C% a. k( @5 [7 g4 {[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/sbin dn1:/opt/hadoop-3.1.2/" P3 r7 j0 v$ e$ `
; d7 D5 B! A% J
5.9 初始化hadoop文件系统
# P; H" \/ P8 S( \# k. f% p因为nn是作为namenode管理节点,因此只需在nn节点进行相应的格式化
, C$ B9 I- F% Q9 t$ m  Y
+ o4 I" B" v( Q4 H[root@nn bin]# pwd7 ~. K. Q: b+ ?% ^1 c0 v
/opt/hadoop-3.1.2/bin
1 X1 j$ K. e4 w' ?6 z/ k5 B[root@nn bin]# hdfs namenode -format  E7 `! j: |* D* m( I( N
****
: r4 v; t1 q3 D  T*** INFO common.Storage: Storage directory /opt/hadoop-3.1.2/namenode has been successfully formatted.# h( `' P7 E" q) t
/************************************************************: N, u8 w5 Z2 B0 P8 g( Q
SHUTDOWN_MSG: Shutting down NameNode at nn/192.188.0.4
. {% `! G% ~4 E; v$ D2 Q- x' O0 C3 G8 W9 C& B. B/ r
以上说明namenode格式化成功- k- q( j$ F% m

9 E# M; C1 n$ X4 p" L6 启动hadoop服务' H9 Q% e7 |* E* [  V0 m
6.1 在namenode上启动服务6 j3 P- m0 x" [! ?2 R
一键启动所有:如果使用start-all.sh,表示把集群的所有配置的服务都启动,它会调用start-dfs.sh和start-yarn.sh
# A8 r: g$ P2 M7 {4 O( {
" s7 l) @3 \* |; D单个节点启动:使用start-dfs.sh和start-yarn.sh,这里要注意,比如nn节点是作为namenode节点,那么在nn节点执行start-dfs.sh,无需执行start-yarn.sh5 U  ^4 `* F( }4 C

: k1 |$ T! H( n0 _7 b$ b' P网上绝大部分教程会教你用start-all.sh启用集群服务,但这不是官方的推荐方式,个人推荐在每个节点启动相应服务
  e9 R, b5 t: Q4 H! Y7 u  |% _9 y* {3 H6 l: r! x) o
nn节点:NameNode,Datanode,NodeManager,只需运行start-dfs.sh
' r8 N& ]; U2 j* K8 }: ^% @% b/ X! c! ~1 h3 m4 i
[root@nn ~]# start-dfs.sh6 M+ [) [: e/ p. D
# q  i$ O4 y- \* a/ R; `+ c
dn1节点:DataNode,ResourceManager,NodeManager,因为需要使用yarn服务,且作为ResourceManager节点(本身也是NodeManager),需运行start-yarn.sh
, O$ P; j: n7 b* j  o' D6 w& c" z1 X, r5 i, \+ a0 A* m! h: B% o0 q
此外:dn1节点还是作为yarn主节点的JobHistoryServer服务,还需通过命令mapred --daemon start historyserver启动之,启动JobHistoryServer后,可以在yarn的web服务直观查看每个job的运行历史,后面会给截图  Y' }8 d0 Y* @8 d+ T2 G1 y

0 j; A: `0 f. c+ ?9 C4 q[root@dn1 ~]# start-yarn.sh
1 O/ W# N: S+ o; Z. _0 I1 ~9 w[root@dn1 sbin]# pwd; U2 s# b& j7 w' [) x) A) {
/opt/hadoop-3.1.2/sbin2 O( L3 q/ `7 @7 X
[root@dn1 sbin]# mapred --daemon start historyserver
2 X& B! d* O* O2 K7 g& W% t
, Z4 t" ?! Q: I7 }, _5 Cdn2节点:DataNode,Secondarynode,NodeManager,因为nn节点的hdfs-site.xml已经配置了dn2节点作为sn节点,那么nn节点启动服务时,就已经自动在dn2节点启动了Secondarynode进程。9 p  D6 \' T3 z4 q: U
5 t+ _* m. A0 k; Z4 V4 o
查看各个节点服务进程:
2 [$ l* P3 Z! [9 i) T
# M0 H- x" h* b8 y. ^[root@nn ~]# jps
3 p% o+ C1 M& w9957 NameNode  a. c" j+ t) [( ?
10553 Jps- j' y# O6 t2 U. E
10092 DataNode+ k0 Q2 I. B0 @( \$ M0 g
10430 NodeManager) h" b* y  j9 h

! T) ?3 @3 Q/ ?1 Y' [[root@dn1 ~]# jps# T, @7 ~4 [* i0 g8 t' G( g
31792 DataNode- o0 A4 n* {' `$ {: h
32133 NodeManager4 H3 k2 N9 g& n$ h% k2 z: d4 t9 a
32492 Jps
4 p0 }, ?8 |8 y( f31998 ResourceManager) i  C; V: f* C9 h% ]$ A/ c+ Y
17428 JobHistoryServer
: ]7 I1 y# Z' L  g& p
% ], G$ K/ Z% @% I[root@dn2 ~]# jps& Q6 Q, z2 J) @
31105 NodeManager
. z, l" C/ _6 w. _) o- d0 f30898 DataNode7 R1 d/ ]- k8 o' F$ i2 c
31235 Jps
/ m4 n$ X/ ?7 H6 t31005 SecondaryNameNode6 ^! J0 Y6 W# i) D. o- ]
# P' _5 @' V- L: K/ f: ^

4 U8 }# U4 Y9 Y/ q: ]" T7 b也可通过查看web服务来确认NameNode服务和yarn服务5 W& Z" V: u7 z

+ r, B; {% ?  d# r! h
! O. ^- J9 f6 @* `" ?
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 17:39 , Processed in 0.059815 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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