1.集群所有进程查看脚本
1
)在
/home/atguigu/bin
目录下创建脚本
xcall.sh
[atguigu@hadoop102 bin]$ vim xcall.sh
2
)在脚本中编写如下内容
#! /bin/bash
for i in hadoop102 hadoop103 hadoop104
do
echo --------- $i ----------
ssh $i "$*"
done
3
)修改脚本执行权限
[atguigu@hadoop102 bin]$ chmod 777 xcall.sh
4
)启动脚本
[atguigu@hadoop102 bin]$ xcall.sh jps
2.Hadoop安装(略)
3.项目经验之
HDFS
存储多目录
1
)生产环境服务器磁盘情况
2)
在
hdfs-site.xml
文件中配置多目录,注意新挂载磁盘的访问权限问题。
HDFS
的
DataNode
节点保存数据的路径由
dfs.datanode.data.dir
参数决定,其默认值为
file://${hadoop.tmp.dir}/dfs/data
,若服务器有多个磁盘,必须对该参数进行修改。如服务器磁
盘如上图所示,则该参数应修改为如下的值。
注意:每台服务器挂载的磁盘不一样,所以每个节点的多目录配置可以不一致。单独配
置即可。
2.集群数据均衡
1
)节点间数据均衡
开启数据均衡命令:
start-balancer.sh -threshold 10
对于参数
10
,代表的是集群中各个节点的磁盘空间利用率相差不超过
10%
,可根据实
际情况进行调整。
停止数据均衡命令:
stop-balancer.sh
2)磁盘间数据均衡
(
1
)生成均衡计划
(
我们只有一块磁盘,不会生成计划
)
hdfs diskbalancer -plan hadoop103
(
2
)执行均衡计划
hdfs diskbalancer -execute hadoop103.plan.json
(
3
)查看当前均衡任务的执行情况
hdfs diskbalancer -query hadoop103
(
4
)取消均衡任务
hdfs diskbalancer -cancel hadoop103.plan.json
3
项目经验之支持
LZO
压缩配置
1
)
hadoop
本身并不支持
lzo
压缩,故需要使用
twitter
提供的
hadoop-lzo
开源组件。
hadoop
lzo
需依赖
hadoop
和
lzo
进行编译,编译步骤如下。
2
)将编译好后的
hadoop-lzo-0.4.20.jar
放入
hadoop-3.1.3/share/hadoop/common/
[atguigu@hadoop102 common]$ pwd
/opt/module/hadoop-3.1.3/share/hadoop/common
[atguigu@hadoop102 common]$ ls
hadoop-lzo-0.4.20.jar
3
)同步
hadoop-lzo-0.4.20.jar
到
hadoop103
、
hadoop104
[atguigu@hadoop102 common]$ xsync hadoop-lzo-0.4.20.jar
4)
core-site.xml
增加
配置支持
LZO
压缩
io.compression.codecs
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec
io.compression.codec.lzo.class
com.hadoop.compression.lzo.LzoCodec
5
)同步
core-site.xml
到
hadoop103
、
hadoop104
[atguigu@hadoop102 hadoop]$ xsync core-site.xml
6
)启动及查看集群
[atguigu@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh
[atguigu@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh