-
HDFS的DataNode在低频率重启过程中,HBase集群的RegionServer WAL写流程,会偶现以下WAL超时卡住错误,如何解决呢:2024-08-26 15:35:13,294 ERROR [RS_CLOSE_REGION-regionserver/cqbs028:60020-1] executor.EventHandler: Caught throwable while processing event M_RS_CLOSE_REGIONjava.lang.RuntimeException: org.apache.hadoop.hbase.exceptions.TimeoutIOException: Failed to get sync result after 300000 ms for txid=818811, WAL system stuck?at org.apache.hadoop.hbase.regionserver.handler.CloseRegionHandler.process(CloseRegionHandler.java:116)at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104)Caused by: org.apache.hadoop.hbase.exceptions.TimeoutIOException: Failed to get sync result after 300000 ms for txid=818811, WAL system stuck?at org.apache.hadoop.hbase.regionserver.wal.SyncFuture.get(SyncFuture.java:148)at org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.blockOnSync(AbstractFSWAL.java:711)at org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.sync(AsyncFSWAL.java:631)at org.apache.hadoop.hbase.regionserver.wal.WALUtil.doFullAppendTransaction(WALUtil.java:158)at org.apache.hadoop.hbase.regionserver.wal.WALUtil.writeMarker(WALUtil.java:136)at org.apache.hadoop.hbase.regionserver.wal.WALUtil.writeRegionEventMarker(WALUtil.java:101)at org.apache.hadoop.hbase.regionserver.HRegion.writeRegionCloseMarker(HRegion.java:1145)at org.apache.hadoop.hbase.regionserver.HRegion.doClose(HRegion.java:1684)at org.apache.hadoop.hbase.regionserver.HRegion.close(HRegion.java:1501)at org.apache.hadoop.hbase.regionserver.handler.CloseRegionHandler.process(CloseRegionHandler.java:104)在停止RegionServer的过程中,也有可能会因为WAL卡住,停止RegionServer慢:java.lang.RuntimeException: org.apache.hadoop.hbase.exceptions.TimeoutIOException: Failed to get sync result after 300000 ms for txid=818767, WAL system stuck?at org.apache.hadoop.hbase.regionserver.handler.CloseRegionHandler.process(CloseRegionHandler.java:116)at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)at java.base/java.lang.Thread.run(Thread.java:829)Caused by: org.apache.hadoop.hbase.exceptions.TimeoutIOException: Failed to get sync result after 300000 ms for txid=818767, WAL system stuck?at org.apache.hadoop.hbase.regionserver.wal.SyncFuture.get(SyncFuture.java:148)at org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.blockOnSync(AbstractFSWAL.java:711)at org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.sync(AsyncFSWAL.java:631)at org.apache.hadoop.hbase.regionserver.wal.WALUtil.doFullAppendTransaction(WALUtil.java:158)at org.apache.hadoop.hbase.regionserver.wal.WALUtil.writeMarker(WALUtil.java:136)at org.apache.hadoop.hbase.regionserver.wal.WALUtil.writeRegionEventMarker(WALUtil.java:101)at org.apache.hadoop.hbase.regionserver.HRegion.writeRegionCloseMarker(HRegion.java:1145)at org.apache.hadoop.hbase.regionserver.HRegion.doClose(HRegion.java:1684)at org.apache.hadoop.hbase.regionserver.HRegion.close(HRegion.java:1501)at org.apache.hadoop.hbase.regionserver.handler.CloseRegionHandler.process(CloseRegionHandler.java:104)
-
1 接口调用获取Hbase Master metrics Dump信息获取Hbase Master metrics dump信息的调用接口为https://OMS浮动IP/Hbase/Hmaster/实例编号/jmx调用hbase接口之前需要进行认证,按下面步骤进行认证后再调用hbase接口1.1 调用登录接口1获取lt变量GET https://OMS浮动IP:20009/cas/loginQuery params: 参数类型说明servicestring实际调用的接口例:https://OMS浮动IP:20009/cas/login?service=https://OMS浮动IP:20026/HBase/HMaster/40/jmx返回结果:返回的是一个html文件,需要获取input标签name="lt"的value值<div class="row btn-row"> <input name="lt" value="58d6188......WhhSUo0Q0dLNHloMzU4UQ==" /> <input name="_eventId" value="submit" /> <input name="geolocation" /> ......</div>1.2 调用登录接口进行认证POST https://OMS浮动IP:20009/cas/loginquery params:参数类型说明servicestring实际调用的接口usernamestring用户名passwordstring密码ltstring从1.1中获取的lt的value_eventIdstring值:submit例:https://OMS浮动IP:20009/cas/login?service=https://OMS浮动IP:20026/HBase/HMaster/40/jmx&username=xxx&password=xxx&_eventId=submit<=958fb91b......返回结果:无1.3 调用/HBase/HMaster/实例编号/jmxGET /HBase/HMaster/实例编号/jmxQuery params: 无例:https://OMS浮动IP:20026/HBase/HMaster/40/jmx返回结果:{ "beans": [ { "name": "Hadoop:service=HBase,name=Master,sub=Coprocessor.Master.CP_org.apache.hadoop.hbase.hindex.global.master.GlobalIndexMasterCoprocessor", "modelerType": "Master,sub=Coprocessor.Master.CP_org.apache.hadoop.hbase.hindex.global.master.GlobalIndexMasterCoprocessor", "tag.Context": "master", "tag.Hostname": "" }, { "name": "Hadoop:service=HBase,name=Master,sub=Coprocessor.Master.CP_org.apache.hadoop.hbase.security.access.ReadOnlyClusterEnabler", "modelerType": "Master,sub=Coprocessor.Master.CP_org.apache.hadoop.hbase.security.access.ReadOnlyClusterEnabler", "tag.Context": "master", "tag.Hostname": "" },......2 代码调用/HBase/HMaster/实例编号/jmx接口代码调用可以参考manager-example样例代码在代码中获取httpclient后,按顺序调用1.1、1.2和1.3中的接口(HttpManager是manager-example样例代码中的类)HttpManager httpManager = new HttpManager();String operationName = "";String operationUrl = ""; operationName = "CasLogGetLt";operationUrl = "https://OMS浮动IP:20009/cas/login?service=https://OMS浮动IP:20026/HBase/HMaster/40/jmx";String content = httpManager.sendHttpGetRequest(httpClient, operationUrl, operationName);String lt = HtmlUtil.getLt(content); operationName = "CasLogAuth";operationUrl = "https://OMS浮动IP:20009/cas/login?service=https://OMS浮动IP:20026/HBase/HMaster/40/jmx&username=xxx&password=xxx&_eventId=submit=" + lt ;httpManager.sendHttpPostRequestWithString(httpClient, operationUrl, null, operationName); operationName = "HBaseMasterJmx";operationUrl = "https://OMS浮动IP:20026/HBase/HMaster/40/jmx";String responseLineContent = httpManager.sendHttpGetRequest(httpClient, operationUrl, operationName);System.out.println(responseLineContent);
-
如何获取 华为FusionInsight MRS二次开发Redis样例代码 redis-examples项目呢?
-
我在使用loader通过sftp协议导入数据到hive时,执行作业提示 Sftp文件不存在。 原因: upload/我的页面配置如下我的sftp服务器登陆进去后如下我的报错提示如下,我曾尝试过修改目录,但是似乎没有作用
-
环境:FusionInsight HD 6513背景: 1. 原集群datanode 机器基本为ARM,且配置较高,设备较新; 2. 现有一批低性能、低配置X86主机,需扩容到集群中;计划:启动HDFS NodeLabel 功能,对HDFS 目录进行打标签,将后扩容主机设置成指定标签目录的主机,以此来规避机器异构可能出现的负载不均等问题。需求: 1. 帮忙确认一下该方案是否可行,是否有更好的方案。 2. 如果此方案可行,是否有需要注意的方向,是否有踩坑案例(越详细越好)可以提供一下。烦请社区的大佬,帮帮忙!
-
我最近开发了一个maven项目,想使用spark读取/写入greenplum的数据,但是由于jdbc的传输速度限制。所以想采用greenplum-spark connect这个连接器。当我使用--jars将项目和这个依赖包一起提交上去的时候出现了jar包冲突 报错:classnotfound。所以我又尝试使用jarjar.jar修改相应的包名 但是现在又出现了新的问题,代码中的postgresql依赖找不到对应的class类名报错。 既然外部没办法搞定就从内部项目入手 …… 由于这个依赖属于第三方并不是maven仓库官方提供所以没法加载进入项目中。我尝试加入私有仓库然后再放入我的本地项目中使用maven-shade-plugin将类名包名重定向。不知道是不是第三方依赖的原因,只要提交到cluster上后就会显示找不到类,相当于没有加上这个greenplum-spark依赖。请各位大佬看看是什么原因。 我这边在本地用idea或者Local模式提交都是可以成功的
-
问题现象:/var/log/Bigdata/controller/scriptlog/install.log然后定位到日志/var/log/Bigdata/controller/controller.log日志中执行krb5的命令失败,manager内放了一个krb5组件。kadmin.local命令由FusionInsight_Manager/software/om/package/ometa/kerberos/scripts/genkeytab.sh中执行,ometa目录是解压了FusionInsight-ometa-2.7.0.tar.gz。尝试替换krb5的版本无法使用在genkeytab.sh脚本里面加sleep不生效请问有哪位大佬了解这块吗,咨询一下krb5执行失败的原因
-
需求: 想后台方式批量查找FusionInsight HD的管理平台Manager 上的role 角色,都授权了哪些服务,哪些权限。例, 查询A 角色授权了哪些服务和权限,A权限拥有哪些组件权限,Hive组件,有哪些库权限,哪些表/视图权限;HDFS组件,哪些目录有读写权限等。
-
FusionInsight HD 6513 在线升级 FusionInsight HD 6517版本 需要多长时间?怎么评估的?
-
FusionInsight HD 6513升级 FusionInsight HD 6517版本,是否支持部分组件在线升级,其他组件离线升级?
-
说明:使用开源的接口saveJsonToES写ES记录一下使用代码方式读A集群(161)的hdfs数据写入B集群(71)的es。使用样例代码自带的接口, 实际上用样例代码自带saveJsonToEs 接口写数据, 核心是让写es的代码不要放在远端,否则报错。所以是用71集群的客户端来提交命令的,这个任务起在71集群的yarn上面的需要做的操作如下1. 首先集群161和集群71双边配置互信提交的spark任务要提交到71集群上面,意味着需要用71对端集群的客户端来提交jar包2. 需要修改71对端客户端spark的配置文件/opt/client/Spark2x/spark/conf/spark-defaults.conf修改地方加写成161集群的主namenode+25000形式,写两次3. 代码里面读hdfs的地方写成主namenode+25000方式读数据4. 然后打jar包,在后台提交的时候创建路径全部提交过程中都使用对端71集群的user.keytab和krb5.conf文件。 jars路径下面放对应jar包elasticsearch-spark-30_2.12-7.12.0jar包就是接口saveJsonToEs 需要的Jar包5. 然后提交的后台路径准备的文件esParams.properties是用来连ES的然后用命令 zip conf.zip krb5.conf user.keytab esParams.properties打包提交命令:cd /opt/sparkMultiEStestspark-submit --master yarn --deploy-mode client --class com.huawei.bigdata.spark.examples.SparkOnEs --keytab /opt/sparkMultiEStest/user.keytab --principal sandbox@HUAWEI.COM --files ./user.keytab --archives /opt/sparkMultiEStest/conf.zip#conf --jars ./jars/elasticsearch-spark-30_2.12-7.12.0.jar,./jars/fastjson-1.2.4.jar /opt/sparkMultiEStest/SparkOnEs-1.0.jar去71集群检查es结果FAQSpark读hdfs的时候没问题Spark写ES的时候报错报错原因是标的参数要注释掉,不注释会报上面错误
-
跨集群读HDFS写入ES说明集群A:xx.xx.xx.161-163 (域为:HADOOP.COM)集群B:xx.xx.xx.71-73 (域为:HUAWEI.COM)MRS版本:8.2.0.1任务说明:A、B集群已配置互信,使用B集群的keytab进行认证,在A集群的client客户端提交代码,从集群A读取HDFS数据,写入到集群B的ES中注意:如未特别注明,均在A集群上主节点操作准备工作1、将集群B的/etc/hosts路径下节点配置,追加到集群A的/etc/hosts2、下载集群B的user.keytab,krb5.conf传到A集群的/opt/sandbox目录下3、cd到A集群的/opt/sandbox目录下,执行如下命令,通过A集群的客户端,使用B集群的keytab文件连接B集群的ES,确保执行成功,证明集群A和集群B已互信source /opt/client/bigdata_env kinit -kt user.keytab sandbox@HUAWEI.COM curl -XGET --tlsv1.2 --negotiate -k -u : 'https://xx.xx.xx.71:24100/_cat/indices?v'只要不报错,就代表互信已经验证通过4、下载样例配置文件esParams.properties传到/opt/sandbox目录下,修改esServerHost属性为集群B的对应ip端口,以及其他的用户密码,esindex配置项5、使用如下命令,生成conf.zip压缩包zip conf.zip user.keytab krb5.conf esParams.properties6、将样例代码打成jar包,放到/opt/sandbox目录下7、将样例数据people.json上传到集群A的HDFS文件系统的/user/spark-on-es/路径下people.json数据{"id":"1","name":"jack","age":12,"createdTime":"2008-06-10T10:28:55Z"} {"id":"2","name":"pony","age":22,"createdTime":"2009-07-13T20:18:52Z"} {"id":"3","name":"susan","age":11,"createdTime":"2012-12-08T12:29:37Z"} {"id":"4","name":"micheal","age":13,"createdTime":"2015-10-09T16:53:26Z"} {"id":"5","name":"vordas","age":14,"createdTime":"2018-03-21T17:28:15Z"}8、在/opt/sandbox/jar路径下放入依赖jar包fastjson-1.2.4.jarspark-submit --master yarn --deploy-mode client --class com.huawei.bigdata.spark.examples.SparkOnEs --keytab /opt/sandbox/user.keytab --principal sandbox@HUAWEI.COM --files ./user.keytab --archives /opt/sandbox/conf.zip#conf --jars ./jars/fastjson-1.2.4.jar /opt/sandbox/spark2es.jar说明: --class com.huawei.bigdata.spark.examples.SparkOnEs,为样例代码中主类的全类名--keytab /opt/sandbox/user.keytab, 为集群B的认证文件user.keytab--principal sandbox@HUAWEI.COM,为集群B的用户名@域名--files ./user.keytab, 为集群B的认证文件--archives /opt/sandbox/conf.zip#conf,为集群B的认证文件user.keytab,krb5.conf,esParams.properties./jars/fastjson-1.2.4.jar,为样例代码的依赖jar包/opt/sandbox/spark2es.jar, 为样例代码打成jar包后的路径位置查看结果9、在A集群的客户端执行curl -XGET --tlsv1.2 --negotiate -k -u : 'https://xxx.xx.x.71:24100/_cat/indices?v' curl -XGET --tlsv1.2 --negotiate -k -u : 'https://xxx.xx.x.71:24100/people/_search?pretty'命令查看结果 注意:xxx.xx.x.71为集群B节点ip,people为数据的索引
-
HD 线下6.5.1.7版本集群,hdfs 将副本临时调整1后再调回3会发生什么现象?
-
线下HD 6517版本 ,扩容hbase是否可以只扩容一台?
-
habse 每次写入提交的条数多少条合适?为什么?
推荐直播
-
华为AI技术发展与挑战:集成需求分析的实战指南
2024/11/26 周二 18:20-20:20
Alex 华为云学堂技术讲师
本期直播将综合讨论华为AI技术的发展现状,技术挑战,并深入探讨华为AI应用开发过程中的需求分析过程,从理论到实践帮助开发者快速掌握华为AI应用集成需求的框架和方法。
去报名 -
华为云DataArts+DWS助力企业数据治理一站式解决方案及应用实践
2024/11/27 周三 16:30-18:00
Walter.chi 华为云数据治理DTSE技术布道师
想知道数据治理项目中,数据主题域如何合理划分?数据标准及主数据标准如何制定?数仓分层模型如何合理规划?华为云DataArts+DWS助力企业数据治理项目一站式解决方案和应用实践告诉您答案!本期将从数据趋势、数据治理方案、数据治理规划及落地,案例分享四个方面来助力企业数据治理项目合理咨询规划及顺利实施。
去报名
热门标签