Trafodion 使用Hadoop命令修改Trafodion表的副本数

本文介绍了一种通过减少Hadoop集群数据副本数量来释放磁盘空间的方法,并提供了具体的命令示例。从三副本减少到两副本后,显著降低了存储占用。

前一篇文章, 我们提到如何查询Trafodion表占用的存储空间,参考 http://blog.youkuaiyun.com/post_yuan/article/details/72530683

最近遇到一个Case,客户环境由于磁盘空间有限加上大批量加载数据的任务,导致集群整体磁盘可用空间不足15%,希望能在现有的集群上释放一些空间出来。

Hadoop集群释放磁盘空间的其中一个方法就是减少数据的副本数,Hadoop默认是3个副本,可以通过Hadoop命令将副本数减少为2或1,使用的Hadoop命令如下,

这里写图片描述

现在让们尝试一下修改副本前后的变化,首先查看默认三副本的状态,

[trafodion@openstack-1 ~]$ hadoop fs -du /hbase/data/default | sort -n -r
4195610  12586830  /hbase/data/default/TRAFODION._MD_.COLUMNS
858558   2575674   /hbase/data/default/TRAFODION._MD_.OBJECTS
36317    108951    /hbase/data/default/TRAFODION._MD_.KEYS
27963    83889     /hbase/data/default/TRAFODION._MD_.TEXT
21929    65787     /hbase/data/default/TRAFODION._MD_.OBJECTS_UNIQ_IDX
16646    49938     /hbase/data/default/TRAFODION._MD_.TABLES
7708     23124     /hbase/data/default/TRAFODION._REPOS_.METRIC_SESSION_TABLE
7708     23124     /hbase/data/default/TRAFODION._REPOS_.METRIC_QUERY_AGGR_TABLE
4631     13893     /hbase/data/default/TRAFODION._DTM_.TDDL
3684     11052     /hbase/data/default/TRAFODION._REPOS_.METRIC_QUERY_TABLE
3207     9621      /hbase/data/default/TRAFODION._DTM_.TLOG1_CONTROL_POINT
1796     5388      /hbase/data/default/TRAFODION._DTM_.TLOG0_CONTROL_POINT
1178     3534      /hbase/data/default/TRAFODION._DTM_.TLOG0
634      1902      /hbase/data/default/TRAFODION.PERSNL.SB_HISTOGRAM_INTERVALS
632      1896      /hbase/data/default/TRAFODION.PERSNL.SB_PERSISTENT_SAMPLES
632      1896      /hbase/data/default/TRAFODION._MD_.UNIQUE_REF_CONSTR_USAGE
628      1884      /hbase/data/default/TRAFODION._MD_.TABLE_CONSTRAINTS_IDX
626      1878      /hbase/data/default/TRAFODION._REPOS_.METRIC_TEXT_TABLE
624      1872      /hbase/data/default/TRAFODION._TENANT_MD_.TENANT_USAGE
620      1860      /hbase/data/default/TRAFODION._MD_.TABLE_CONSTRAINTS
616      1848      /hbase/data/default/TRAFODION.PERSNL.SB_HISTOGRAMS
616      1848      /hbase/data/default/TRAFODION._MD_.REF_CONSTRAINTS
616      1848      /hbase/data/default/TRAFODION._MD_.LIBRARIES_USAGE
614      1842      /hbase/data/default/TRAFODION._TENANT_MD_.TENANTS
608      1824      /hbase/data/default/TRAFODION._MD_.VIEWS_USAGE
606      1818      /hbase/data/default/TRAFODION.PERSNL.XEMPNAME
606      1818      /hbase/data/default/TRAFODION.PERSNL.XEMPDEPT
606      1818      /hbase/data/default/TRAFODION.PERSNL.XDEPTRPT
606      1818      /hbase/data/default/TRAFODION.PERSNL.XDEPTMGR
606      1818      /hbase/data/default/TRAFODION.PERSNL.EMPLOYEE
604      1812      /hbase/data/default/TRAFODION.PERSNL.PROJECT
604      1812      /hbase/data/default/TRAFODION._MD_.LIBRARIES
602      1806      /hbase/data/default/TRAFODION._MD_.VERSIONS
602      1806      /hbase/data/default/TRAFODION._MD_.ROUTINES
602      1806      /hbase/data/default/TRAFODION._MD_.DEFAULTS
600      1800      /hbase/data/default/TRAFODION._MD_.SEQ_GEN
600      1800      /hbase/data/default/TRAFODION._MD_.INDEXES
598      1794      /hbase/data/default/TRAFODION.PERSNL.DEPT
596      1788      /hbase/data/default/TRAFODION.PERSNL.JOB
596      1788      /hbase/data/default/TRAFODION._MD_.VIEWS
596      1788      /hbase/data/default/TRAFODION._MD_.AUTHS
535      1605      /hbase/data/default/TRAFODION._DTM_.TLOG1
...

上述结果中第一列为数据的原始大小,第二列是第一列的3倍关系,也就是默认的3副本,现在我们利用-setrep命令将副本设置为2,

su - hdfs
hadoop fs -setrep -w 2 -R /hbase/data/default

完成之后,再查看修改后的文件大小,

[hdfs@openstack-1 ~]$ hadoop fs -du /hbase/data/default | sort -n -r
4195610  8391220  /hbase/data/default/TRAFODION._MD_.COLUMNS
858558   1717116  /hbase/data/default/TRAFODION._MD_.OBJECTS
36317    72634    /hbase/data/default/TRAFODION._MD_.KEYS
27963    55926    /hbase/data/default/TRAFODION._MD_.TEXT
21929    43858    /hbase/data/default/TRAFODION._MD_.OBJECTS_UNIQ_IDX
16646    33292    /hbase/data/default/TRAFODION._MD_.TABLES
7708     15416    /hbase/data/default/TRAFODION._REPOS_.METRIC_SESSION_TABLE
7708     15416    /hbase/data/default/TRAFODION._REPOS_.METRIC_QUERY_AGGR_TABLE
4631     9262     /hbase/data/default/TRAFODION._DTM_.TDDL
3684     7368     /hbase/data/default/TRAFODION._REPOS_.METRIC_QUERY_TABLE
3207     6414     /hbase/data/default/TRAFODION._DTM_.TLOG1_CONTROL_POINT
1796     3592     /hbase/data/default/TRAFODION._DTM_.TLOG0_CONTROL_POINT
1178     2356     /hbase/data/default/TRAFODION._DTM_.TLOG0
634      1268     /hbase/data/default/TRAFODION.PERSNL.SB_HISTOGRAM_INTERVALS
632      1264     /hbase/data/default/TRAFODION.PERSNL.SB_PERSISTENT_SAMPLES
632      1264     /hbase/data/default/TRAFODION._MD_.UNIQUE_REF_CONSTR_USAGE
628      1256     /hbase/data/default/TRAFODION._MD_.TABLE_CONSTRAINTS_IDX
626      1252     /hbase/data/default/TRAFODION._REPOS_.METRIC_TEXT_TABLE
624      1248     /hbase/data/default/TRAFODION._TENANT_MD_.TENANT_USAGE
620      1240     /hbase/data/default/TRAFODION._MD_.TABLE_CONSTRAINTS
616      1232     /hbase/data/default/TRAFODION.PERSNL.SB_HISTOGRAMS
616      1232     /hbase/data/default/TRAFODION._MD_.REF_CONSTRAINTS
616      1232     /hbase/data/default/TRAFODION._MD_.LIBRARIES_USAGE
614      1228     /hbase/data/default/TRAFODION._TENANT_MD_.TENANTS
608      1216     /hbase/data/default/TRAFODION._MD_.VIEWS_USAGE
606      1212     /hbase/data/default/TRAFODION.PERSNL.XEMPNAME
606      1212     /hbase/data/default/TRAFODION.PERSNL.XEMPDEPT
606      1212     /hbase/data/default/TRAFODION.PERSNL.XDEPTRPT
606      1212     /hbase/data/default/TRAFODION.PERSNL.XDEPTMGR
606      1212     /hbase/data/default/TRAFODION.PERSNL.EMPLOYEE
604      1208     /hbase/data/default/TRAFODION.PERSNL.PROJECT
604      1208     /hbase/data/default/TRAFODION._MD_.LIBRARIES
602      1204     /hbase/data/default/TRAFODION._MD_.VERSIONS
602      1204     /hbase/data/default/TRAFODION._MD_.ROUTINES
602      1204     /hbase/data/default/TRAFODION._MD_.DEFAULTS
600      1200     /hbase/data/default/TRAFODION._MD_.SEQ_GEN
600      1200     /hbase/data/default/TRAFODION._MD_.INDEXES
598      1196     /hbase/data/default/TRAFODION.PERSNL.DEPT
596      1192     /hbase/data/default/TRAFODION.PERSNL.JOB
596      1192     /hbase/data/default/TRAFODION._MD_.VIEWS
596      1192     /hbase/data/default/TRAFODION._MD_.AUTHS
535      1070     /hbase/data/default/TRAFODION._DTM_.TLOG1

从上述结果可以看出,第二列的size修改为第一列的2倍,即现在只有2个副本了。

### Hadoop 命令使用教程或文档 Hadoop 提供了丰富的命令行工具,用于管理和操作分布式文件系统(HDFS)以及运行 MapReduce 作业。以下是一些常用的 Hadoop 命令及其功能[^1]: #### Hadoop Shell 命令 Hadoop 的 Shell 命令主要用于与 HDFS 进行交互。这些命令通常以 `hadoop fs` 开头,例如: ```bash hadoop fs -ls /path/to/directory ``` - **查看文件列**:`hadoop fs -ls /path/to/directory` 可以列出指定目录下的文件和子目录[^1]。 - **上传文件到 HDFS**:`hadoop fs -put local_file_path hdfs_path` 将本地文件上传到 HDFS。 - **从 HDFS 下载文件**:`hadoop fs -get hdfs_path local_file_path` 将 HDFS 上的文件下载到本地系统[^1]。 - **删除 HDFS 文件**:`hadoop fs -rm hdfs_path` 删除指定路径的文件。 - **创建目录**:`hadoop fs -mkdir -p /path/to/new_directory` 创建一个新目录。 #### 配置环境变量 在使用 Hadoop 命令之前,确保正确配置了 Hadoop 的环境变量。例如,在 Linux 系统中,可以通过编辑 `~/.bashrc` 文件添加以下内容[^2]: ```bash export HADOOP_HOME=/usr/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 然后执行 `source ~/.bashrc` 使更改生效。 #### 其他常用命令 除了 HDFS 相关命令外,Hadoop 还提供了其他管理工具: - **格式化 NameNode**:`hadoop namenode -format` 用于初始化 HDFS 文件系统[^1]。 - **启动 Hadoop 集群**:`start-dfs.sh` 和 `start-yarn.sh` 分别启动 HDFS 和 YARN 服务。 - **停止 Hadoop 集群**:`stop-dfs.sh` 和 `stop-yarn.sh` 分别停止 HDFS 和 YARN 服务[^2]。 #### 示例代码 以下是一个完整的示例,展示如何上传文件并查看其内容: ```bash # 上传本地文件到 HDFS hadoop fs -put /local/path/to/file.txt /hdfs/path/to/file.txt # 查看 HDFS 文件内容 hadoop fs -cat /hdfs/path/to/file.txt ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值