Hadoop入门(十三)——集群常用知识(面试题)与技巧总结
系列文章传送门
这个系列文章传送门:
Hadoop入门(一)——CentOS7下载+VM上安装(手动分区)图文步骤详解(2021)
Hadoop入门(二)——VMware虚拟网络设置+Windows10的IP地址配置+CentOS静态IP设置(图文详解步骤2021)
Hadoop入门(三)——XSHELL7远程访问工具+XFTP7文件传输(图文步骤详解2021)
Hadoop入门(四)——模板虚拟机环境准备(图文步骤详解2021)
Hadoop入门(五)——Hadoop集群搭建-克隆三台虚拟机(图文步骤详解2021)
Hadoop入门(六)——JDK安装(图文步骤详解2021)
Hadoop入门(七)——Hadoop安装(图文详解步骤2021)
Hadoop入门(八)——本地运行模式+完全分布模式案例详解,实现WordCount和集群分发脚本xsync快速配置环境变量 (图文详解步骤2021)
Hadoop入门(九)——SSH免密登录 配置
Hadoop入门(十)——集群配置(图文详解步骤2021)
Hadoop入门(十一)——集群崩溃的处理方法(图文详解步骤2021)
Hadoop入门(十二)——配置历史服务器及日志的聚集(图文详解步骤2021)
Hadoop入门(十三)——集群常用知识(面试题)与技巧总结
Hadoop入门(十四)——集群时间同步(图文详解步骤2021)
Hadoop入门(十五)——集群常见错误及解决方案
集群启动/停止方式总结
1 ) 各个模块分开启动/ 停止 (配置 ssh 是前提) 常用
(1)整体启动/停止 HDFS
start-dfs.sh/stop-dfs.sh
- 1
(2)整体启动/停止 YARN
start-yarn.sh/stop-yarn.sh
- 1
2 ) 各个服务组件逐一启动/ 停止
(1)分别启动/停止 HDFS 组件
hdfs --daemon start/stop namenode/datanode/secondarynamenode
- 1
(2)启动/停止 YARN
yarn --daemon start/stop resourcemanager/nodemanager
- 1
虽然上面的命令不是很复杂,但每次启动都要输入,比较麻烦,因此想到把他们封装成脚本
编写 Hadoop 集群常用脚本
1 )Hadoop 集群启停脚本(包含 HDFS ,Yarn ,Historyserver ):
myhadoop.sh
[leokadia@hadoop102 hadoop-3.1.3]$ cd /home/leokadia/bin
进入c盘bin目录,将脚本放在这里
[leokadia@hadoop102 bin]$ vim myhadoop.sh
➢ 输入如下内容
记住:写脚本的时候能写绝对路径,千万不要写相对路径!
#!/bin/bash
if [ $# -lt 1 ]
then
echo “No Args Input…”
exit ;
fi
case $1 in
“start”)
echo " =================== 启动 hadoop 集群 ==================="
<span class="token keyword">echo</span> <span class="token string">" --------------- 启动 hdfs ---------------"</span>
<span class="token function">ssh</span> hadoop102 <span class="token string">"/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"</span>
<span class="token keyword">echo</span> <span class="token string">" --------------- 启动 yarn ---------------"</span>
<span class="token function">ssh</span> hadoop103 <span class="token string">"/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"</span>
<span class="token keyword">echo</span> <span class="token string">" --------------- 启动 historyserver ---------------"</span>
<span class="token function">ssh</span> hadoop102 <span class="token string">"/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"</span>
;;
“stop”)
echo " =================== 关闭 hadoop 集群 ==================="
<span class="token keyword">echo</span> <span class="token string">" --------------- 关闭 historyserver ---------------"</span>
<span class="token function">ssh</span> hadoop102 <span class="token string">"/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"</span>
<span class="token keyword">echo</span> <span class="token string">" --------------- 关闭 yarn ---------------"</span>
<span class="token function">ssh</span> hadoop103 <span class="token string">"/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"</span>
<span class="token keyword">echo</span> <span class="token string">" --------------- 关闭 hdfs ---------------"</span>
<span class="token function">ssh</span> hadoop102 <span class="token string">"/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"</span>
;;
*)
echo “Input Args Error…”
;;
esac
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
➢ 保存后退出,然后赋予脚本执行权限
[leokadia@hadoop102 bin]$ chmod +x myhadoop.sh
➢ 测试一下好不好使
2 )查看三台服务器 Java 进程脚本:jpsall
由于每次查看进程都得到每台服务器上输入jps查看,比较麻烦,且如果服务器较多,十分耗时,于是想到编写一个脚本,查看所有服务器的进程情况。
[leokadia@hadoop102 ~]$ cd /home/atguigu/bin
[leokadia@hadoop102 bin]$ vim jpsall
➢ 输入如下内容
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo ===
h
o
s
t
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
o
p
e
r
a
t
o
r
"
>
=
=
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
o
p
e
r
a
t
o
r
"
>
=
=
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
o
p
e
r
a
t
o
r
"
>
=
=
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
o
p
e
r
a
t
o
r
"
>
=
=
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
o
p
e
r
a
t
o
r
"
>
=
=
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
o
p
e
r
a
t
o
r
"
>
=
=
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
o
p
e
r
a
t
o
r
"
>
=
=
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
o
p
e
r
a
t
o
r
"
>
=
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
f
u
n
c
t
i
o
n
"
>
s
s
h
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
v
a
r
i
a
b
l
e
"
>
host</span> <span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">==</span><span class="token operator">=</span> <span class="token function">ssh</span> <span class="token variable">
host</span><spanclass="tokenoperator">==</span><spanclass="tokenoperator">==</span><spanclass="tokenoperator">==</span><spanclass="tokenoperator">==</span><spanclass="tokenoperator">==</span><spanclass="tokenoperator">==</span><spanclass="tokenoperator">==</span><spanclass="tokenoperator">=</span><spanclass="tokenfunction">ssh</span><spanclass="tokenvariable">host jps
done
- 1
- 2
- 3
- 4
- 5
- 6
- 7
➢ 保存后退出,然后赋予脚本执行权限
[leokadia@hadoop102 bin]$ chmod +x jpsall
3 )分发/home/leokadia/bin 目录,保证自定义脚本在三台机器上都可以使用
[leokadia@hadoop102 ~]$ xsync /home/leokadia/bin/
在hadoop103、104上测试下能否正常使用
集群必了解知识(面试题)
一、常用端口号
hadoop3.x
- HDFS NameNode 内部通信端口:8020/9000/9820
- HDFS NameNode 对用户的查询端口:9870
- Yarn查看任务运行情况的:8088
- 历史服务器:19888
hadoop2.x
- HDFS NameNode 内部通信端口:8020/9000
- HDFS NameNode 对用户的查询端口:50070
- Yarn查看任务运行情况的:8088
- 历史服务器:19888
二、常用的配置
hadoop3.x
- core-site.xml
- hdfs-site.xml
- yarn-site.xml
- mapred-site.xml
- workers
hadoop2.x
- core-site.xml
- hdfs-site.xml
- yarn-site.xml
- mapred-site.xml
- slaves
</article>