执行 etl 清洗数据并且将 hdfs 数据导入 hive仓库时,8088 端口报出如下错误:
Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error
at org.apache.hadoop.hdfs.server.namenode.ha.StandbyState.checkOperation(StandbyState.java:88)
随后,去 50070 端口查看了一下,发现HA 中 master 的 namenode 处于 standby 状态
这是在 bug 报出之前的日志信息:
这是因为导入的数据太多,电脑配置低,执行不过来
解决办法:
在清洗数据是把 mp 中 job 中设置把所有小文件合并为一个大文件一项即可`
// 设置待计算的数据位置
// 把所有小文件合并为一个大文件
job.setInputFormatClass(CombineTextInputFormat.class);
Path inputPath = new Path(args[0]);
FileInputFormat.addInputPath(job, inputPath);