hdfs被格式化的后果与补救

作者: DJ_2017 | 来源:发表于2017-02-15 16:25 被阅读0次

       由于集群故障,连接不上hdfs,datanode节点部分挂,重新启动单个节点和namenode也不好使,给出方法格式化namenode,之后启动namenode和datanode,但是由于hdfs中有数据,格式化前没有备份数据,导致了数据块全部丢失,至此,整个集群中表数据都没有了,悲剧的开始。

       为了处理这个问题,评估了事件,由于元数据存储在mysql中,所以表还在,只是hdfs表数据存储在hdfs中的路径和文件没有了。

1.业务数据补充

       hive库的访问通过etl工具,所以业务数据的补充,直接通过etl工具。

       由于hdfs文件目录被删除,所以第一步,建立目录:

       hadoop fs -mkdir /user/hive/warehouse/hive_test_table

删分区,建立分区:

       hive -e "alter table hive_test_table drop partition (op_month=201702,op_time= 20170215,op_hour=2017021514);"

       hive -e "alter table hive_test_table add partition (op_month=201702,op_time= 20170215,op_hour=2017021514);"

把etl生成的文件put到hdfs文件目录:

       hdfs dfs -put /test/hive_test_table.txt /user/hive/warehouse/hive_test_table/op_month=201702/op_time=20170215/op_hour=2017021514

把表数据添加到其他表:

        INSERT INTO hive_test PARTITION (op_month=201702,op_time=20170215,op_hour=2017021514)

        SELECT CUST_ID,USER_ID,ACCT_ID  from  hive_test_table where  op_month='201702' AND op_time= '20170215' AND op_hour='2017021514';


2.维度表数据导入

查询维度表的表结构:

        hive -e "desc formatted bts_type;"

显示:

分割符

所以在生成导入文件的时候需要按照;分割,生成文件bts_type.txt

对bts_type.txt转码:

       iconv -f GBK -t UTF-8 bts_type.txt  -o    bts_type.txt

建立文件目录:

       hadoop fs -mkdir  /user/hive/warehouse/bts_type

put文件到hdfs指定路径下:

       hdfs dfs -put /test/bts_type.txt  /user/hive/warehouse/bts_type/bts_type.txt

       由于集群中hdfs数据块都被删除了,维度表数据手动导入,业务数据表数据可以通过etl工具导入,为了避免类似问题发生,对集群数据的备份,和集群监控还需要完善现有的维护方案。

       1. 采用svn管理备份元数据与维度表数据文件

       2. 集群中获取zookeeper中namenode的状态,并监控namenode,datanode,zookeeper存活节点,出问题立刻发短信告警

       3. 在生产选取一台主机备份维表数据和元数据, 并写批量脚步,如果以后发生类似事情,直接跑脚步,来修复

相关文章

  • hdfs被格式化的后果与补救

    由于集群故障,连接不上hdfs,datanode节点部分挂,重新启动单个节点和namenode也不好使,给出方法...

  • Hadoop2.x 基本操作命令

    1 集群的启动和停止 格式化文件系统 格式化hdfs文件系统: hdfs namenode -format(主节点...

  • Hadoop教程:HDFS操作

    启动HDFS 首先,您必须格式化配置的HDFS文件系统,打开namenode (HDFS服务器),并执行以下命令。...

  • 二. hadoop环境搭建

    配置hadoop TODO 格式化HDFS 这一步操作,只是在第一次时执行,每次如果都格式化的话,那么HDFS上的...

  • HDFS格式化异常问题

    在格式化hdfs时,出现如下问题 解决方案:进入 /etc/hosts,配置好 主机ip和对应的主机名 退出保存后...

  • 51cto赵强HADOOP学习(五)

    HDFS的联盟和配置 修改配置文件 在hadoop31和hadoop34上面格式化 HDFS联盟的视图文件系统 什...

  • 2018-10-14

    暴饮暴食的危害,暴饮暴食后怎么补救,暴饮暴食后怎么减肥? 暴饮暴食的危害,暴饮暴食后怎么补救,暴饮暴食后怎么减肥?...

  • hadoop部署出现java.lang.illegalargum

    今天在部署hadoop2.6.0完全分布,在用hdfs namnode -format命令格式化namenode时...

  • 启动hadoop 2018-09-30

    启动hadoop1、 格式化HDFS分布式文件系统 hadoop namenode –format 启动Hadoo...

  • hdfs格式化异常

    在对Hadoop的hdfs进行格式化的时候,出现了下列错误 解决方案 修改/etc/hosts,将 主机IP 和 ...

网友评论

    本文标题:hdfs被格式化的后果与补救

    本文链接:https://www.haomeiwen.com/subject/uvmqwttx.html