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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-11-7 11:16:59 | 显示全部楼层 |阅读模式
目录
: }# l. V) z. J) Y/ T2 u& g3 e1 R
: o7 r7 Y$ S3 ^' l- |8 z概念了解
5 P6 P0 a# a9 w5 Y: d) d! T$ s- c集群服务器规划
: e* V% K" a) U* g! g4 C/ Y软件安装步骤概述
1 g: ^  _9 g5 s1 p+ t! M* Q* F  ~8 wHadoop安装8 d; C) O+ _, B0 E
1、规划
9 r) k  _9 q0 q3 P! u% F3 Z2、上传解压缩7 u: T4 j0 w3 ]2 q7 {5 [! F4 W, `
3、修改配置文件
% l7 i6 c' X: I+ Q' b: D. H' l3 j4、把安装包分别分发给其他的节点; d5 z$ ]! D. r2 P
5、配置Hadoop环境变量
2 F% ^. p& B) Z6、查看hadoop版本. }- E# a% f/ t( N; h8 c/ k
7、Hadoop初始化
3 t3 H# ~/ ?6 k! O5 p8 p8、启动
+ G0 k* g. n" Q- m; f( c9、查看4台服务器的进程
3 d/ Q* |: ^5 k- U10、启动HDFS和YARN的web管理界面
8 u0 L$ h( q# q2 ~: s* wHadoop的简单使用
/ H, Q, p% L  M3 |" Y/ M0 @创建文件夹5 [. E$ ~8 P. [. k( B2 q) z
查看创建的文件夹; T8 e" i5 v( D
上传文件/ H* [& ~+ B. H0 Y0 |' G1 E
下载文件
7 ~, E2 l8 T: d7 t; s5 y' ?运行一个mapreduce的例子程序: wordcount
0 a& ~" g& A9 A
/ ]3 n+ b% a/ _5 @' }$ ^; l: X( f4 G3 S
正文0 b# _! T! s& U: d. Y' r( c

7 w$ z( l: n  j2 Z8 p! B7 s回到顶部
/ p. T2 _* i1 g$ k: k, A概念了解
# e9 r5 |) i& `- B" L& z主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构。# L7 h" d/ D( S+ O4 C

: H( a: N% c- h' C3 A+ K* E: U" h/ y' e主从结构分类:
) m5 X# f$ W1 B1 |- c8 f! X  C0 }
+ G% G( Y4 @2 M+ _) l/ g4 p: s8 ]1、一主多从/ L& j3 H% |8 i& |+ N
. |5 I: b4 _! k6 ~( X% J  i- L
2、多主多从4 k% a; h, }" f+ o" e+ j5 e

- {3 c+ w4 ]' s) z/ eHadoop中的HDFS和YARN都是主从结构,主从结构中的主节点和从节点有多重概念方式:- z! ]# M4 `+ D

* b) t$ V9 ~, x5 g; m* w4 W1、主节点  从节点
9 _, l8 V0 Q3 e# `4 U' t, M0 a
2、master  slave
; J/ q  n' P5 w% {% L
5 t) b$ k- J, h" u3、管理者  工作者$ V( r( c( \- K# v; x; f8 C8 _

! U" v$ m1 U$ w) Y) S, m. F4、leader  follower
  J5 J4 r  E) a: A4 X. j! W9 ?
/ o8 l0 ]3 b; w3 m4 V; s3 xHadoop集群中各个角色的名称:
1 U8 c+ D! C/ q) X) i* \$ S' V' D' _: z* a* h/ X
服务        主节点        从节点* t% K6 W2 ~: {' F. w6 f$ {
HDFS        NameNode        DataNode
* V2 l' g5 `) G/ G0 dYARN        ResourceManager        NodeManager' C4 M3 `4 D  h0 C) F
回到顶部+ u, E) U) g9 J: e% _' E
集群服务器规划+ |1 h1 j9 J' Q0 m# x& D* L
使用4台CentOS-6.7虚拟机进行集群搭建1 \. M$ ]" v/ t8 Q, K* w0 u0 ]

& n$ f# S8 M8 z9 l7 C8 @2 j
( B) R( I2 J9 W% W3 O+ C9 F/ M& ~# ^( X" A0 ~7 R9 A$ D
回到顶部& d( e" a2 I" j8 d+ Y! C; F2 m
软件安装步骤概述
" R4 V, I# R2 F; @1、获取安装包
! |" A7 I& w. \4 a  z9 A
" |9 g6 `9 V$ d0 @1 a2、解压缩和安装/ t2 }1 V6 H- B+ k
9 H  i8 J' O1 M9 }" E
3、修改配置文件- Q6 E& r1 B/ p2 v; k

5 @7 u! G( W) \. S! f; ^. r0 \' Y/ D4、初始化,配置环境变量,启动,验证  f) D5 }* |4 i; y8 ?
' U: R3 D' G2 s1 M) K/ w
回到顶部3 Q6 {* o& \) ^; ~
Hadoop安装
+ t* J9 B7 p, C* E& @1、规划( p5 a" ^# D' o7 N  C1 |! N
规划安装用户:hadoop
) u4 j! o! Q/ h1 C# V, m
& ^# m! C2 k# ?规划安装目录:/home/hadoop/apps/ t; C; v% z& }8 b
) u( l3 w7 x  m, Q# X2 N+ P
规划数据目录:/home/hadoop/data
1 @: N0 h6 {4 ~2 Q) Q+ Z% Z: E/ W+ l" B, s
注:apps和data文件夹需要自己单独创建
7 f* I$ o! m! \$ X! B3 S& j2 N+ e( I. N8 f+ _; c7 T
2、上传解压缩" A5 p0 n, {2 C8 r7 ]8 P, f
注:使用hadoop用户
+ s7 G/ E: h2 Z* k) W2 u  r
* `9 v$ l8 ]$ b5 Y[hadoop@hadoop1 apps]$ ls4 J  f; _0 R( l3 b/ Z3 G, r
hadoop-2.7.5-centos-6.7.tar.gz
8 K8 c9 x& H# b+ {[hadoop@hadoop1 apps]$ tar -zxvf hadoop-2.7.5-centos-6.7.tar.gz
, h; N$ j5 I* A; K3、修改配置文件
; P2 U6 E3 J. T; z配置文件目录:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop- `- O1 z+ E& X3 E- B1 p! H, A
4 T! w- X) I4 w7 X
# B6 R! l0 E! G! C: @* R

* H  D& n! r2 e* S, ?8 i# MA. hadoop-env.sh
  w8 H# O8 U* s7 A& W- z[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh
# _, r4 t: S6 G$ ^; s* \7 Y修改JAVA_HOME
7 w1 ?; \+ b# l6 I7 B2 g: L. O& I/ D
export JAVA_HOME=/usr/local/jdk1.8.0_73
% J: i5 T; s$ A. ]6 t  g0 Y" [3 S) L5 g, E( {6 I1 q

7 e6 p) b7 M: @7 c3 W2 v/ j+ ^B. core-site.xml' |/ f5 R! _' x$ f
* y6 ?) n& y: S4 j/ Q4 `4 m
[hadoop@hadoop1 hadoop]$ vi core-site.xml , Z# }  n4 u6 Q) P$ ^7 U2 b" d, g
fs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务
4 r" k* u) i/ [- k/ Z, A9 A2 ~) K" M+ ]3 G& e; h% A* l/ w6 E' o
hadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录
' x- K* p3 X) \- B$ T" i3 E1 v0 G/ A( p3 W7 l# D& O. h
复制代码
! ]- q5 t, M9 D! c5 x" T; H! X<configuration>/ j1 J: T: \# B/ _6 {8 ]8 [
        <property>
4 Q/ d4 n* f% ^1 J! r: [                <name>fs.defaultFS</name>2 M  c4 H% q1 t0 M9 r9 _% B3 c% b
                <value>hdfs://hadoop1:9000</value>7 M) c7 w) e: o! ?* d
        </property>4 k" v8 I5 ^# \
        <property>
# C, z  Y7 a* {: m; l, @' j                <name>hadoop.tmp.dir</name>1 `. H3 s5 V4 J5 R' p1 {
                <value>/home/hadoop/data/hadoopdata</value>- J9 G" u8 q6 z. ~+ ^
        </property>" k: O! ~' Q8 b9 o* B6 J
</configuration>4 N* T6 P1 t6 ?, ?1 f
复制代码
( i8 n, ?, _$ Y* K" K* o; ^' b1 Z% ^$ U5 @+ N. a" W9 k) p/ [4 q5 E% R: X

4 \: A& y* f) l) sC. hdfs-site.xml
: b! S. o9 ^+ q" M& d. {: |$ J
0 _: i' n. f' x) L+ I9 X0 r[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml
# |, J  W5 F& x: _, v: Q dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。
- l- G% E( o7 M9 e1 P: e, \0 q& g1 q( P. {2 q& n0 j1 `
dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。# E( v# f  {* {1 S; R- x4 \1 w* r
0 p8 h+ M' j' F$ q3 q# b
dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。
; y* [+ w& h; W, X! o7 H, L& r5 r2 z3 n& }* J
dfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点
8 V; Q- U* z. Y6 n% P7 O/ a
2 J3 n  t' E; C0 \9 v- Q2 @复制代码' D! n$ S& u) \, L4 \& h3 ?
<configuration>& q6 ^4 _/ i% O4 q, b2 J* [
        <property>
6 |- N2 k4 u) }) b                <name>dfs.namenode.name.dir</name>
! c- s3 ?) S4 ~                <value>/home/hadoop/data/hadoopdata/name</value>& u1 V& P! }$ m8 {% Z- L, W
                <description>为了保证元数据的安全一般配置多个不同目录</description>* c, x2 h6 u6 j( V) ]2 {# a
        </property>
4 o3 R9 ^& [& R( F  U6 l8 b" s' x# ^0 U$ I) O/ E
        <property>
  R, q" Q' i& M7 ~; n: |4 }  r+ [" g                <name>dfs.datanode.data.dir</name>+ ~1 Q: w7 t; N3 u; `# M! m  e
                <value>/home/hadoop/data/hadoopdata/data</value>
4 `4 o, h9 Q+ ]" V                <description>datanode 的数据存储目录</description>
0 |- X6 d' G3 g  ?+ f! g$ v3 s        </property>
7 |& q4 P0 N2 @6 d9 ?- v
8 p: @& ?+ _% M& g/ v        <property>
8 w/ s: |4 |. e7 o                <name>dfs.replication</name>5 k8 G  _5 t" v* E* ~2 r5 j# i! p
                <value>2</value>
/ x% L$ N. O7 d+ F                <description>HDFS 的数据块的副本存储个数, 默认是3</description>
7 Q3 ~! ?! c, l4 ~% }4 \2 M# R        </property>, ~1 n' D" s2 K' U* g9 Q9 e

# ?! U7 Z7 d4 X! O  F" Y4 R        <property>5 p$ g4 D# U! s) ^8 D6 E* x* C2 v
                <name>dfs.secondary.http.address</name>2 Q% I- k) @" M+ @, e; i
                <value>hadoop3:50090</value>9 u) H& Y+ \/ ^( b! W$ m# {/ {
                <description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description>1 P" j. o- r: y6 O) G
        </property>
1 {6 w5 B; B8 d+ {# y</configuration>
- R5 f2 O" {1 y. ]' C: _* ~; z6 f复制代码5 R+ r/ z; }0 h3 T" ?  L" O
! x2 y3 Y3 y& p1 c: q9 h$ c2 B, D

- D! O+ L+ U. Q3 f" X; e9 Q5 o  R# S9 GD. mapred-site.xml
7 d, [4 Z2 r4 Y! ]: |: r0 o  X" s- J) l4 \; A
[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml
8 u. _+ @; l/ I' H2 n[hadoop@hadoop1 hadoop]$ vi mapred-site.xml
+ T% d- c( l/ C- [ mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。: W; m: f1 _6 G  y; ~- B

( O" y4 D1 Y4 U3 g. _1 f复制代码2 d6 }- `" b  n8 P" f* L
<configuration>- q# s/ y' F6 ?
        <property>
( q1 s& w9 ^- V6 {2 y: u0 `; J                <name>mapreduce.framework.name</name>
2 E% Q, ^8 R: D* x                <value>yarn</value>0 J2 p& Z4 I2 S$ V# n& V; _2 M
        </property>
) }$ ?# u( Y5 J! h! T1 ?4 s</configuration>
/ X+ |/ K3 X1 r3 r复制代码
4 }: P. V! M8 j2 C9 V5 E7 M+ z, v8 X; {: X2 {7 d& G: F! M" L! M! Q) E
' O6 B( F, u* f
E. yarn-site.xml
5 [) t& F, b5 E+ O6 i
# A4 |: X7 C$ {+ g! Q* O' h$ W[hadoop@hadoop1 hadoop]$ vi yarn-site.xml 6 H9 O8 C7 b( J4 w. G9 h
yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址& F9 |' {, N# I  I3 ~- ^
5 }8 ~" ~  }3 B- S* l1 `- O$ ^
yarn.nodemanager.aux-services:
1 j* u$ ^+ Y0 p9 T( |8 `- q
9 `3 w% i8 G+ K复制代码) G! f0 D9 |- @
<configuration># O8 l6 }0 G3 X4 g3 O$ o# `5 g

9 f% r. }7 f- @<!-- Site specific YARN configuration properties -->; ?" o+ [0 l) w: w

. |% }+ v9 p; n) a8 @        <property>
6 l) ~. U/ W+ K                <name>yarn.resourcemanager.hostname</name>
& ?7 x  o2 C, ^* y5 t                <value>hadoop4</value>
+ }) g# f$ ]# A4 i# w$ O% Q        </property>
' Z7 r+ w2 A. X4 n; }. y' k* k  e! W' ?0 E: Y( M! B
        <property>+ }$ U) {6 f  v5 k
                <name>yarn.nodemanager.aux-services</name>/ J; c" l- c8 r5 X5 k* ]. O& b
                <value>mapreduce_shuffle</value>
1 o& b) T6 b' P$ Q; v, j                <description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
; T4 F7 `( \+ O  o5 h        </property>0 d$ W. J3 e) i- S/ ?9 q- a

; }3 {" D. {8 M- e. z3 }: [</configuration>
$ P- p+ t0 d& ?. z* A# |; x复制代码4 \/ R4 M6 @9 _' a& D: d2 a6 _
# H6 _! s( f5 O1 x" V
! Z, {' P" |: Z5 ^$ V
F. slaves
/ ^9 p( G# t' K- |
# N% S4 s- m! {( O0 k[hadoop@hadoop1 hadoop]$ vi slaves " j# i- X" \9 J& P1 H# T
hadoop1
, i$ f/ T! f9 Phadoop20 v/ V5 Z9 J1 j+ o6 Q
hadoop3
8 P  B0 q1 N  C/ @+ K9 hhadoop4
* W+ b2 i- C/ V2 n4 R) T' y" |7 ^( M
8 U( B( P/ J: g: f
, }% I0 i6 B" [4、把安装包分别分发给其他的节点) F9 Y; f6 Y3 z' N2 d
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
1 {# I# y: f) a% \* K重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致8 _+ z4 N/ D# ]  e' k4 \( o
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致' d" ?: B8 _. f

7 o: I: ~7 O( {5 u[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop2:~/apps/! L5 a) w2 k! Z9 z2 C9 g3 x
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop3:~/apps/
. `7 @$ N2 E; [  e$ s$ Y[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop4:~/apps/
: U4 v1 J# B8 {0 i注意:上面的命令等同于下面的命令
) Z3 W( }% [5 p1 d* T: b: O0 i+ Q& t
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop@hadoop2:~/apps/# i; m! D$ }% J# h) ^( n
5、配置Hadoop环境变量
. l! L3 v& X, Q5 m# D! u! t  Y千万注意:# w% q: |; t/ L* E' W. a! X4 M

1 _: T  c! t; ?1、如果你使用root用户进行安装。 vi /etc/profile 即可 系统变量5 p- V: K) E& U8 R9 f
+ f# u. I  v/ _+ K. X# M
2、如果你使用普通用户进行安装。 vi ~/.bashrc 用户变量
& J% a+ H) \" S8 S3 t9 u/ V- O# e& d" E  F' A
[hadoop@hadoop1 ~]$ vi .bashrc
1 B  g) O0 Z. u" r  }export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5
& \& k" u5 F+ t/ H4 }export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:9 ?3 e2 n- Z2 F3 Z# v) v0 T: ]

$ O% M' K) ]0 c3 k" r
2 P2 P* w! i; E/ g" w! B使环境变量生效& c" ]/ P- P9 U# Z$ F. `! l' w
, _6 {* r; X' d! L, p% i2 ~! B% r
[hadoop@hadoop1 bin]$ source ~/.bashrc
9 c* g; |% a9 |) C2 v6、查看hadoop版本0 J- H  p$ H. L
复制代码
4 g* A8 ?$ M; K[hadoop@hadoop1 bin]$ hadoop version0 ~* D+ F/ }' e" I9 _) Y1 _, M
Hadoop 2.7.5
  N, D% G" f2 B* D/ n7 {9 Q  bSubversion Unknown -r Unknown; b4 ?6 p% _% x  X  _5 ^# v
Compiled by root on 2017-12-24T05:30Z* k1 F$ x, t& o& v4 i5 _9 ^" N% U
Compiled with protoc 2.5.0
# `% O; @8 q9 v9 E. _2 BFrom source with checksum 9f118f95f47043332d51891e37f736e9
; I, B3 c: K  J" }This command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar# c3 |; X( `* M
[hadoop@hadoop1 bin]$ 9 m2 b5 z$ [! k& d+ ~0 P
复制代码
% s9 E. Q" m0 I! w! i9 t1 H; y0 q0 e0 \7 t( h* Z% {" b
- U5 |- {& H; W1 b) H. T
7、Hadoop初始化
8 r/ x4 L  _8 n! d注意:HDFS初始化只能在主节点上进行8 E- _; y+ b: |  O0 Q

4 b* u2 L, {1 o3 R/ C[hadoop@hadoop1 ~]$ hadoop namenode -format0 e( y9 ?2 D9 q4 r
View Code
( n8 p! y7 X4 b# N1 f1 p8 ?( ~; Q, V- Q: W
% o2 f  H7 V$ D
8、启动
; o- j! _5 j1 x0 G1 q  k. j; nA. 启动HDFS. J: o6 X  g! j2 q! p. Y6 J" p: @

; l6 L. x$ n8 W" N! v% Z2 |3 J* H注意:不管在集群中的那个节点都可以8 @) n: A9 J5 [

  l- m  L1 E+ E% V* F* |. t复制代码& y1 z- y7 M& v0 p. {7 _" \
[hadoop@hadoop1 ~]$ start-dfs.sh# g* ^9 D4 z9 e8 Q- p7 V9 C
Starting namenodes on [hadoop1]3 w9 T  Q# d7 |* t% i% s
hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out
0 r5 O6 }1 G& h, U$ r7 k( Shadoop3: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop3.out" e8 q  a' s+ l) ?* R- x
hadoop2: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop2.out9 H7 T5 q8 K$ c  x3 f5 b6 W
hadoop4: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop4.out
) C' Y/ Q* Z$ H7 J: e: Vhadoop1: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop1.out( f* A9 |* W5 I/ d# }
Starting secondary namenodes [hadoop3]2 v7 \0 p+ `$ s: ~. w, A
hadoop3: starting secondarynamenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-secondarynamenode-hadoop3.out6 _3 \) ?* I& d, N3 ?  N" h
[hadoop@hadoop1 ~]$
* R/ c" w" g' `" W( s6 e复制代码& P: \3 l& s9 q- O# @9 l1 X# I  a
0 C/ S( M# W8 m" a- v

& c0 j; K  x0 ]# |' R6 TB. 启动YARN( d6 [0 V$ ~) K  Z7 W; t" Z7 B

( Y# |$ u4 V7 ?6 a5 z' ^注意:只能在主节点中进行启动
0 i4 L% {3 i3 y( `0 x, T( o. l: j' ^3 q& e
复制代码
8 ~8 `! H3 M/ B# e$ H9 o9 g[hadoop@hadoop4 ~]$ start-yarn.sh' U' ~9 L0 D, r1 q/ M# [6 L, l
starting yarn daemons
2 E( U7 u- g. ?9 H+ M$ wstarting resourcemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-resourcemanager-hadoop4.out  O) o3 _4 E  I
hadoop2: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop2.out
! O4 }( p; G- {4 B* U# ehadoop3: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop3.out: s" k6 z' P( W5 x  N
hadoop4: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop4.out5 V. m! n# b+ ]9 c
hadoop1: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop1.out1 H1 [! ?. B+ u5 K) M: E
[hadoop@hadoop4 ~]$
" A: K/ `! h3 S复制代码
  r6 @# J% e3 _/ P0 S6 D' s# b9 S6 C; B8 X
- ]# P( U- A; o# b
9、查看4台服务器的进程
, i: K* U) e4 b' `hadoop1
) l! k+ w, I1 m0 y" j' A& L7 i. z$ W
" [( s+ B+ ?* _( f0 a, E3 ^3 b

* d0 `/ W  b2 P& K& ^& X+ a8 q, }hadoop2# P- z. h: V. {" ~
& @5 K) T8 p: ^+ j# A

2 p. c$ s+ i2 a& n8 f4 V1 ~$ c  ]% m5 T" l
hadoop3
8 Z5 Q5 Q4 e5 F, E  ?2 z8 V) R( O$ C+ B0 H2 Y: m( Q5 `3 g8 t

  Q9 K, p, {8 b- q3 W; |1 D: b7 h3 F
hadoop4
' v# Y; M! ]: E! E- E9 {' B7 g2 ^, E9 M/ @( B, \
. |; T/ O; }0 c2 U5 m2 P: w

, K$ x5 Y1 E* E9 |" ^10、启动HDFS和YARN的web管理界面
& i( N) |2 i: M' j' B2 kHDFS : http://192.168.123.102:50070/ Z' o1 y4 N, S4 q; r' t3 F: h
YARN : http://hadoop05:8088& A, ?  h1 ]& R9 \
  E1 Z/ ]7 Z9 r! I2 t, F
疑惑: fs.defaultFS = hdfs://hadoop02:90008 w3 ?4 v6 H5 }! a! U9 G% i: M% Q
& Y# \& g/ w) M  v0 U2 x
解答:客户单访问HDFS集群所使用的URL地址8 X' J% P4 N4 }! K7 ]
$ u; x! j/ u9 m; M/ h0 [
同时,HDFS提供了一个web管理界面 端口:50070
( l  @, p" T9 ~7 u; u  Q5 d! E; _  {  L  A5 K8 z6 L4 _
HDFS界面$ z: ~7 K) ]( W* g

: F4 _" o, e  v; q4 d$ c$ ?- U* N4 b3 W/ D6 X/ ~" c- T, E" ~
点击Datanodes可以查看四个节点! H0 N4 s" @2 x

5 p. @5 f* x$ x! ]
  z/ ^1 c& S, F: z; x- h- N$ r8 L5 j9 O5 ~
YARN界面
9 J$ Y4 `+ b2 v3 J1 D' r/ M$ h2 G& }% v6 ]+ I( m

# K; g  S# A6 S5 S7 s! \0 r  K点击Nodes可以查看节点" f$ G( V5 Y* A
. R+ q7 W$ M6 y9 z% i/ N, I" ?
7 f4 N6 C$ }3 c' s( g* @
' H: L) X- U; R% @8 p# O( p
回到顶部0 T0 B; U! K3 @  |' M3 ]
Hadoop的简单使用
) k3 ^! A6 V  [  T创建文件夹3 \- D  I# k+ a! R
在HDFS上创建一个文件夹/test/input0 y) ^' ]0 h4 `8 `) J8 @
) w1 |) C7 h. e
[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input
/ c; O" l5 q5 T( `( a2 ~* Z% K查看创建的文件夹. O6 u) S5 d% ~9 K* u4 X
复制代码
* i/ ~' B4 [) V' K! c) ~; p' m1 e1 E[hadoop@hadoop1 ~]$ hadoop fs -ls /
( t- x/ _1 `5 ?  P5 a! vFound 1 items
8 W' [+ k: Q) f4 o' Hdrwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test; B  L' Q  b  x& p, N5 j; ?
[hadoop@hadoop1 ~]$ hadoop fs -ls /test4 w& C3 j& h- l
Found 1 items8 E/ [" i& ^' i) X  ^  U/ l
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test/input
, `" w3 D8 Z6 l( ?; S4 B# [0 R[hadoop@hadoop1 ~]$ $ S8 S" B/ f) [/ M8 ~8 P# ^
复制代码
4 ^, x/ ]6 N& C" _1 J) g( Q: O0 w
( j% H, H% t' X$ P9 P9 l& l) H$ B0 R, r  a% w, g6 K) O9 \; z
上传文件8 |4 r1 m3 Z; V2 z: j
创建一个文件words.txt
) i$ Z  I  O. X. v; T; `1 e6 T1 R" J2 I
[hadoop@hadoop1 ~]$ vi words.txt  Z7 W  J( Z" o
hello zhangsan
& [8 I4 Q; b, Y% y4 F8 z/ ~) \- Uhello lisi
! o0 `# l4 I- S+ i* A) S) R6 jhello wangwu
( b& c4 Y8 g2 A) l( l1 Z% [上传到HDFS的/test/input文件夹中
# G, z5 Q+ O5 k3 V; N
3 E1 o( A+ {6 ^+ v2 s2 K0 U[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input
: V! t# Z) l9 k 查看是否上传成功
  c' L$ O1 f$ C. F& u/ V6 }1 N
2 j8 Z7 e+ u( T1 E9 O[hadoop@hadoop1 ~]$ hadoop fs -ls /test/input/ b" q8 q; f* K
Found 1 items
5 I3 Y# }$ T6 n-rw-r--r--   2 hadoop supergroup         39 2018-03-03 11:37 /test/input/words.txt
8 B- U  \  |1 w. {8 `8 l/ i[hadoop@hadoop1 ~]$ , u9 A) q( d: a# d' c! M

4 g. g- }2 [' h
! T4 q2 N% @( U" s# M# }6 {/ P* ~下载文件
9 Q* _, q0 g( S$ g& c将刚刚上传的文件下载到~/data文件夹中
$ u7 u  k1 R7 T& s* Y* y4 H& m  |' x- O% m6 }  Q
[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data
1 ?; s0 O3 `' m" @* N查看是否下载成功& P. t1 ~; k! r8 S

4 m  B1 E# T; p4 _[hadoop@hadoop1 ~]$ ls data/ c0 D0 O) u. ~
hadoopdata  words.txt+ W7 L  w, Y* A/ Q( R9 Q. `2 d  y
[hadoop@hadoop1 ~]$ ; t, {5 ^5 |, z' _2 `1 S) _6 s8 c
8 n6 Q, p' F- w+ v  I  l8 `" L; }
9 L. D% u/ J( S1 p; T- a
运行一个mapreduce的例子程序: wordcount
8 Y" F! z' [: M8 V) [' Z6 g[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output
9 V* @6 l8 z9 G2 W
% p4 L# @. _7 _- }3 D5 [5 G
# e8 ?( Q3 k8 h) f, `+ D0 H  V在YARN Web界面查看* t9 \5 t5 e: y9 z- }; g
: W( K6 V) G; y- v: T4 ?+ k) k
5 |7 n/ W" P. P7 @

9 Q3 u: V1 k# g, G
0 S4 _* F$ _  h$ n, E4 P/ W* F! \: e& M
查看结果
. O1 p3 D. \$ f
. J1 V: g  X+ t: G复制代码% c+ h/ G! N0 g/ I$ I
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output5 T) |  f2 |. _. @4 m6 u
Found 2 items
5 R; V( _2 p! \' r+ A-rw-r--r--   2 hadoop supergroup          0 2018-03-03 11:42 /test/output/_SUCCESS0 P: H) q! R& z+ k5 t
-rw-r--r--   2 hadoop supergroup         35 2018-03-03 11:42 /test/output/part-r-00000+ R& Y+ n* i4 Y2 j
[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-00000
, X  k, ]" ]' r1 p( |- [& j% Yhello    3( X6 }" H0 T4 M% ^. i
lisi    1
8 }, H9 ?3 l% U% ?% Rwangwu    1
7 ?4 Y5 m8 l2 @# l# b3 g3 [zhangsan    1: `: d" c0 a# ]4 r0 [: |
[hadoop@hadoop1 ~]$
% K; o& [9 \8 D6 Y+ d7 l: g* J复制代码9 ^9 ]$ T6 y" h/ p

5 M, l5 |$ S1 G7 r" Q. U* E# i: [0 }

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-11-11 16:30:05 | 显示全部楼层
5.1 配置hadoop-env.sh
& T: X+ Q5 P; P/ [/ u# H给hadoop配置Java路径,三个节点都需要配置,但无需每台去设置,因为后面会把整个/opt/hadoop-3.1.2/etc/hadoop拷贝到另外两个dn节点  g2 L% I! }" i9 [5 ~

" m' \( e7 h" P; \9 E' l: @/ f4 C[root@nn hadoop]# pwd
1 ?/ i( |: B1 {, U( n; k/opt/hadoop-3.1.2/etc/hadoop2 p( S. j0 P: H6 i
vi hadoop-env.sh
. c  g) R4 y5 h" gexport JAVA_HOME=/opt/jdk1.8.0_161/ j3 S( V$ D6 f' h  S

4 s  w! M9 Q$ N# i5.2 core-site.xml/ u6 I, c% y: O9 p0 d9 L& e% \
<configuration>+ @) L/ n/ E/ Q0 a0 r+ g- G0 Y
    <!-- namenode用9000根datanode通信 -->
+ C7 U( |' q2 {; y' W4 G3 @    <property>
( m2 |9 b! T$ f$ O- u        <name>fs.defaultFS</name>8 U  P) X6 ^9 H8 q
        <value>hdfs://nn:9000</value>
- _& t3 T3 K; }, g    </property>
% x6 o% `+ W9 F4 _: O. W0 @7 ~0 G
. Y0 n, C4 v: n# q    <!--hadoop临时文件路径 -->  q. r* x7 q" M
    <property>
0 i/ ?; c( ^7 r" B3 p        <name>hadoop.tmp.dir</name>
3 p9 t8 a/ N' }& T3 H. b- r. |        <value>/opt/hadoop-3.1.2/tmp</value>
: n8 _8 h( k& S8 c. A9 Y9 r4 Y* s) c    </property>. L: _  C" Q' u' T% F$ n0 C) S
</configuration>- P* G: g! X/ i

7 E1 ?5 a& t% Q+ d6 l3 Y1 X! ?+ P) D135 m. I% Z, Y$ o; g& U$ A  ?
5.2 hdfs-site.xml
& c5 |  |* n4 i& v' y<configuration>
; Q  l7 i. M9 ]3 ]$ t- T8 E    <!-把dn2 设为secondary namenode,端口不能缺少 -->
: _! N6 l3 l0 y  k* F          <property>  m: O2 U- t% t+ m( y9 F
                  <name>dfs.namenode.secondary.http-address</name>
' `. U8 X! a" G  v* O, F8 @                 <value>dn2:50090</value>
! o. F5 `. U$ x% ^9 p& V% z        </property>    4 i; y7 F3 [  _8 J
    <!-- namenode 上存储 hdfs 名字空间元数据-->: h0 ?2 _9 y. a6 b! u  n
    <property>
8 j* P2 K5 g6 F" `+ Z, ~6 C        <name>dfs.namenode.name.dir</name>
" P3 s8 @- k  F$ v5 k9 T        <value>/opt/hadoop-3.1.2/namenode</value>
6 |. w$ g$ \  S9 ^    </property>  ]7 x4 H6 r4 ~: P% |
5 p. h2 G$ U$ q4 y! ~) c
    <!-- datanode 上数据块的物理存储位置-->  
1 M" i  x2 H3 B# S6 v5 e/ }# u! ?1 @% b    <property>
: A' l! x8 B' X/ f7 |        <name>dfs.datanode.data.dir</name>2 ~6 @) M# C9 A5 R1 Y% }
        <value>/opt/hadoop-3.1.2/datanode</value>
2 f( E4 o  o" F4 p6 s% f    </property>
9 |5 g& [4 b: C2 }$ m' {" k5 `8 n+ N8 q& m8 B
    <!-- 设置 hdfs 副本数量 -->
; K: T8 Y# t9 ~5 I    <property>
! J0 x2 ?$ [" Y  ?        <name>dfs.replication</name>( C- H5 W" o8 O4 q" P# i3 V; Q
        <value>3</value>
6 R- [% T! @( H/ m! _    </property>, e1 Q( Z$ F# z: c8 v

7 u# E" D' Z" m- `/ _. p4 u  s4 M' k% ^</configuration>
6 f! o/ I+ P) o2 y, o- K1 {0 @
! R6 P* U& |1 J+ L* _5.3 mapred-site.xml
1 N8 u  t" p/ D0 I- o0 V" m
5 O# ^: l% A* C. Q3 ~<configuration>& v* `! e# B/ x5 x( \$ v* _
    <!-- 指定Yyarn运行-->
, L1 T7 I, r/ [! E+ e0 d    <property>2 {! Z0 j1 \- p+ G* X
        <name>mapreduce.framework.name</name>
" ?+ u8 y4 p$ _( j/ h& E# E  T        <value>Yyarn</value>
  P9 f7 c; C" m! e8 |    </property>
- h! L# F6 g* {9 P! n! V9 U5 ^* ]5 |
   <!-- 打开Jobhistory -->
  K$ c2 X  p$ N1 h+ Z1 r<property>
: B* R# W: U5 G        <name>mapreduce.jobhistory.address</name>7 Y2 T2 x* V$ M" n, ]4 ?
        <value>dn1:10020</value>
& ?* F6 B; A; C; t% x7 S; e</property>$ r3 q, D7 e; b9 `: K! f

: c7 t. }0 ^& z! B2 T  <!-- 指定dn1作为jobhistory服务器 -->
$ R9 o9 x& S2 O+ \5 |& L" x<property>
# w6 r$ g% v+ O7 |7 Z  <name>mapreduce.jobhistory.webapp.address</name>8 t, a% |9 S7 y. Y: |( G
  <value>dn1:19888</value>' O8 [( b# h" t- d
</property>
. s5 S; t+ J3 p- C4 b! v# ~' E
! o0 g' U1 A( ~, \, T5 B7 N( @. c  <!-- 注意这里的路径不是Linux文件路径,而是hdfs文件系统上的路径 -->9 A7 h0 W* K6 L# J
<property>/ q8 Q$ |$ ~, F% e8 L) i
    <name>mapreduce.jobhistory.done-dir</name>
; E, D" |4 Y  G: u. r    <value>/history/done</value>, E" i* s& e( {. f
</property>3 w/ n9 l( q9 h3 |9 `  P1 P

4 P) E6 T) }0 G/ i, v/ q' g! g0 E<property>
* R7 p2 F% c) E0 i    <name>mapreduce.jobhistory.intermediate-done-dir</name>3 l" l# t+ ]+ c0 N& ~- Y6 L8 @& i1 Q* Y
    <value>/history/done_intermediate</value>
5 G3 Y4 T# ~7 D</property>  y5 ~2 y  B  W

  }  o- v+ U4 h& k+ ]& D  <!-- mp所需要hadoop环境 -->7 Y1 x+ Z/ k# M1 |9 w) C
" A4 v' f0 w9 P( I9 f$ w2 T2 Q
    <property>( a' `+ Z1 L' _
        <name>Yyarn.app.mapreduce.am.env</name>
# C: l2 z  X% y1 g/ R/ I; e8 o        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>
5 Z  X9 O- v+ R$ M0 x5 z    </property>
3 V: r' V' `- C" l7 d. k) y/ Q" k) G- V! S) v$ m  o8 U6 |! |
    <property>
2 q9 j: t% W8 R" |: {( k        <name>mapreduce.map.env</name>1 ]3 Z# w& {. B
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>
  d! N* b0 ^; n5 O* `    </property>
5 Q6 i- Q# \1 `( u; @3 N
8 g8 E: v/ |- U    <property>7 \' D& b4 z- c: z* Q( S8 V# E
        <name>mapreduce.reduce.env</name>& @) ~* X: V* U  U" n9 Q
        <value>HADOOP_MAPRED_HOME=/opt/hadoop-3.1.2</value>) [4 x3 [' s+ ]6 h! y
    </property>9 H2 ^  e5 Q0 f4 {- v2 g3 c

1 p% D: U0 F8 M! V: ?  y: i</configuration>6 k* _+ o3 i' p! N
) U3 N" }; X0 d% ^. y) u
5.4 yarn-site.xm;2 N* r7 e+ a( G; O7 D9 w
<configuration>
) {- C. z) G9 I4 w. u2 w! g- d<!-- Site specific yarn configuration properties -->
8 g8 E4 g9 f2 j% @+ }, i  w    <!-- 指定ResourceManager的地址 -->
* U4 l4 o6 R# L) v! T    <property>
" Q: K5 e, _8 H9 m2 l. n" n        <name>yarn.resourcemanager.hostname</name>
/ C, }# R& \  w2 }. i2 j2 o# S        <value>dn1</value>8 r1 s! v% p1 Y. j. v* u
    </property># C/ h/ q% r) t' `# }- ]
5 T% l0 E2 f( u4 V( ?5 D2 X# m
    <!-- reducer取数据的方式是mapreduce_shuffle -->  8 W( c8 F& P7 w; h' y, c/ l% c
    <property>
# |( E% p0 L$ n, q7 t( T        <name>yarn.nodemanager.aux-services</name>
3 q7 e9 A+ c$ A* b' `' t        <value>mapreduce_shuffle</value>; i& e6 t. Z& M1 Z
    </property>
% }) M/ {- ^0 h* ^, u/ \; b$ I7 O  e5 Z8 w' e

/ |1 T) a% Y! G! z; N: e; F2 Z7 i</configuration>0 Z# {! @5 \1 `0 `0 p2 }

" B, l9 n" @- `6 L# k8 S/ Q5.5 workers
6 U& x2 ^2 |4 C/ X( H+ x三个节点都设为datanode,当然也生产环境中,负责数据物理文件存储DD不要跟DN放在同一台服务器' s( I7 r; |5 k* p9 Y8 J; u* j
$ R. m2 L, p& n( B; n* ~( d
[root@nn hadoop-3.1.2]# vi etc/hadoop/workers 0 z4 j* Z1 L8 I5 s) R
nn
, m" f/ g- E" i8 Zdn1$ d0 }/ \/ S4 \8 Z/ S9 _
dn2! M) \  Q5 T2 u8 r+ _; H
  u* a5 @2 N0 g. u6 |) ^! R
5.6 设置start-dfs.sh 和 stop-dfs.sh6 D7 ~. U! U, h- Q/ `9 p
在/opt/hadoop-3.1.2/sbin/start-dfs.sh 文件开头
% Q$ W; Q3 ^# m% L' Q% v0 Q: W0 X4 d* e9 p
2 b% L9 I  ~$ |[root@nn hadoop-3.1.2]# vi sbin/start-dfs.sh& p' ^6 h# Y+ w+ t4 X$ }$ G
HDFS_DATANODE_USER=root
. \/ C3 Q; S0 P$ A* M. |/ T/ x' \HADOOP_SECURE_DN_USER=hdfs1 q; Q# {0 S  P! D6 V+ O" v  O! t
HDFS_NAMENODE_USER=root
2 g. P9 ]! A4 k  pHDFS_SECONDARYNAMENODE_USER=root6 L) t  U: y7 U4 y% x( u+ r: r

8 Y' f/ C+ u# h: O7 }5.7 设置start-yarn.sh 和 stop-yarn.sh
. @! {  H0 s0 K8 q1 R5 @1 F都是在文件开头处添加. h" o4 T! a# u

  W, I) w5 t4 `( N* i( l' L1 A[root@nn hadoop-3.1.2]# vi sbin/start-yarn.sh % W% N6 G7 [- D4 Y- g
yarn_RESOURCEMANAGER_USER=root6 u* s, J; F6 M; P/ ^4 l& N
HADOOP_SECURE_DN_USER=yarn
2 Q" M% J5 {$ T# V0 Kyarn_NODEMANAGER_USER=root5 d$ x2 U4 H" z8 z

/ u8 J' i3 _: {' o5.8 将hadoop包添加到linux环境变量,三个节点都需要加这个hadoop环境设置
# d' I# r* r/ Mvi /etc/profile
+ M7 h- r4 [0 p0 e) j; ?% sexport HADOOP_HOME=/opt/hadoop-3.1.2
5 v1 I) i* ]1 }7 Z6 F+ ^- O0 Hexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin$ L. Z9 H& o/ ?- `

* _$ U9 q" |4 \$ p5 S* q直接将以上的配置文件所在目录拷贝到另外两个节点上,避免繁琐配置7 t% P( c  s$ O
- R+ S- F$ z8 ?9 c5 |
[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/etc/hadoop/ dn1:/opt/hadoop-3.1.2/etc/7 ~( U: J0 d% l9 H
5 K5 ~$ G1 ?+ m" F/ z
[root@nn hadoop-3.1.2]# scp -r /opt/hadoop-3.1.2/sbin dn1:/opt/hadoop-3.1.2/
9 v+ \  Q" z: ^3 c* u
3 l+ k- m" R1 K$ c5.9 初始化hadoop文件系统( m% A: C* s) y/ ^
因为nn是作为namenode管理节点,因此只需在nn节点进行相应的格式化; H( [9 h" y0 p4 J! O. B/ J% W# b

5 V( A7 G" ]5 G/ Y0 s  r[root@nn bin]# pwd
  d/ @& w! ~; U& o5 S/ r/opt/hadoop-3.1.2/bin
' f! S; O9 E  V6 K7 k" a[root@nn bin]# hdfs namenode -format) s5 ]) U! G$ E7 n
****
, y4 g) w1 d3 r( E/ N6 A*** INFO common.Storage: Storage directory /opt/hadoop-3.1.2/namenode has been successfully formatted.
, r6 ~. @3 C; g% x/************************************************************3 P/ N: ?! F: p, g+ @, Y! B1 v
SHUTDOWN_MSG: Shutting down NameNode at nn/192.188.0.4
8 p4 A3 G; a8 X) D: ]  X1 `, g( r
7 W( q  P* t4 U( U' I/ U8 j  k以上说明namenode格式化成功* R" `$ \- R- H+ m
4 ~- x  h  F9 Y6 Q5 T
6 启动hadoop服务
3 A1 W$ c+ j/ @1 z6.1 在namenode上启动服务/ L& E8 Z) K9 t" \
一键启动所有:如果使用start-all.sh,表示把集群的所有配置的服务都启动,它会调用start-dfs.sh和start-yarn.sh& |' w, }, D4 o4 v9 D6 I4 x5 c. }+ }
" ~, }) f* L: G8 j/ h; x4 Q. t7 v: I
单个节点启动:使用start-dfs.sh和start-yarn.sh,这里要注意,比如nn节点是作为namenode节点,那么在nn节点执行start-dfs.sh,无需执行start-yarn.sh- n* x# p; m! j7 l

6 t$ i3 `; ]$ |9 m$ \网上绝大部分教程会教你用start-all.sh启用集群服务,但这不是官方的推荐方式,个人推荐在每个节点启动相应服务: E" ?; \: h0 h* P+ }  t' S# F

& P# X. M5 G8 cnn节点:NameNode,Datanode,NodeManager,只需运行start-dfs.sh
; v/ k6 Q4 H! [8 H
3 i0 z8 j6 _0 _$ J% r) b[root@nn ~]# start-dfs.sh$ i, c5 K  W7 M8 |

. ]$ c/ s1 j/ q! z8 t" z# bdn1节点:DataNode,ResourceManager,NodeManager,因为需要使用yarn服务,且作为ResourceManager节点(本身也是NodeManager),需运行start-yarn.sh
  u6 Z0 F/ P+ m' t+ h0 z; |( q. c; d6 y
此外:dn1节点还是作为yarn主节点的JobHistoryServer服务,还需通过命令mapred --daemon start historyserver启动之,启动JobHistoryServer后,可以在yarn的web服务直观查看每个job的运行历史,后面会给截图
9 ?2 j4 B2 `* g$ u7 @( B" n2 p+ W( U5 w6 l4 l( ]6 D, S
[root@dn1 ~]# start-yarn.sh
: u& w7 M4 J9 E4 w2 J1 T[root@dn1 sbin]# pwd
+ Z6 t2 b& j* ?+ H# i- r/opt/hadoop-3.1.2/sbin
2 w( X8 X3 l- v8 H; S, @0 J[root@dn1 sbin]# mapred --daemon start historyserver
' ^! j* Z3 C  a+ J7 L4 n- S# E
; u# g2 q# m; U. y4 W. |: Cdn2节点:DataNode,Secondarynode,NodeManager,因为nn节点的hdfs-site.xml已经配置了dn2节点作为sn节点,那么nn节点启动服务时,就已经自动在dn2节点启动了Secondarynode进程。; {$ U6 {- N& H; y! I8 r9 X- l5 z

+ O$ j9 B- ]- W查看各个节点服务进程:
; \) j4 B3 r  V, ^3 K' T& }7 J) U! s. g* D
[root@nn ~]# jps
/ \' s5 s2 r; w, n; Y5 x. \9957 NameNode' O$ i& |' I$ M
10553 Jps) A- _& f. e0 d
10092 DataNode
- \1 l8 c6 j8 R10430 NodeManager. g( f$ |- C1 I8 T" e3 q; a

" K/ x9 j  G; G" ]5 o- ^+ f1 _[root@dn1 ~]# jps# c' n9 i2 R/ s6 A: }0 d
31792 DataNode
3 e; E. {5 h/ a: e: F7 g32133 NodeManager2 K* w0 e( N$ u, S
32492 Jps
# X& n1 E/ ?$ r& S, A% O1 [; l31998 ResourceManager
+ V" q- @2 J# H* o2 Y; i+ n/ }( B17428 JobHistoryServer$ i1 W$ F9 [8 {. F9 N: o

" x$ G, z9 a8 O$ q% |0 r[root@dn2 ~]# jps+ y3 u7 q; C2 s5 k9 {6 V: J
31105 NodeManager
, z2 l- w0 G  H9 a; S$ I30898 DataNode
1 E# q$ F( l/ M1 B31235 Jps. I% |% L, ~2 A! y
31005 SecondaryNameNode% e* z. H2 N6 \% l

2 {0 c' F: p8 M' r" @) `# I; j* q( r/ f
也可通过查看web服务来确认NameNode服务和yarn服务% i. w: d- M# J0 S: H9 V
6 I1 M) T4 `1 t9 k) }
- m) M% P( z" B- p$ v. G+ X
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 01:57 , Processed in 0.026283 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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