• [基础组件] HDFS节点滚动重启时,HBase集群的RegionServer WAL写,偶现超时卡住
    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)
  • [基础组件] 调用API接口获取Hbase Master metrics Dump信息
    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样例代码
    如何获取 华为FusionInsight MRS二次开发Redis样例代码 redis-examples项目呢?
  • [其他问题] 求助,loader通过sftp导入到hive提示 Sftp文件不存在。 原因: upload/
    我在使用loader通过sftp协议导入数据到hive时,执行作业提示 Sftp文件不存在。 原因: upload/我的页面配置如下我的sftp服务器登陆进去后如下我的报错提示如下,我曾尝试过修改目录,但是似乎没有作用
  • 开启HDFS NodeLabel ,有哪些坑?需要重点注意那块影响?
    环境:FusionInsight HD 6513背景:     1. 原集群datanode 机器基本为ARM,且配置较高,设备较新;     2. 现有一批低性能、低配置X86主机,需扩容到集群中;计划:启动HDFS NodeLabel 功能,对HDFS 目录进行打标签,将后扩容主机设置成指定标签目录的主机,以此来规避机器异构可能出现的负载不均等问题。需求:      1. 帮忙确认一下该方案是否可行,是否有更好的方案。      2. 如果此方案可行,是否有需要注意的方向,是否有踩坑案例(越详细越好)可以提供一下。烦请社区的大佬,帮帮忙!
  • [生态对接] 使用greenplum-spark connect连接器遇到的坑
       我最近开发了一个maven项目,想使用spark读取/写入greenplum的数据,但是由于jdbc的传输速度限制。所以想采用greenplum-spark connect这个连接器。当我使用--jars将项目和这个依赖包一起提交上去的时候出现了jar包冲突 报错:classnotfound。所以我又尝试使用jarjar.jar修改相应的包名    但是现在又出现了新的问题,代码中的postgresql依赖找不到对应的class类名报错。   既然外部没办法搞定就从内部项目入手 ……  由于这个依赖属于第三方并不是maven仓库官方提供所以没法加载进入项目中。我尝试加入私有仓库然后再放入我的本地项目中使用maven-shade-plugin将类名包名重定向。不知道是不是第三方依赖的原因,只要提交到cluster上后就会显示找不到类,相当于没有加上这个greenplum-spark依赖。请各位大佬看看是什么原因。 我这边在本地用idea或者Local模式提交都是可以成功的
  • [问题求助] FusionInsight_Manager_6.5.1在openEuler-20.03-LTS-SP1上安装第七步生成密钥失败
    问题现象:/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的管理平台上的role 所拥有的权限如何在后台/接口查询?权限粒度到表/视图/topic/目录等。
    需求:       想后台方式批量查找FusionInsight HD的管理平台Manager 上的role 角色,都授权了哪些服务,哪些权限。例, 查询A 角色授权了哪些服务和权限,A权限拥有哪些组件权限,Hive组件,有哪些库权限,哪些表/视图权限;HDFS组件,哪些目录有读写权限等。
  • [运维管理] FusionInsight HD 6513 在线升级 FusionInsight HD 6517版本 需要多长时间?怎么评估的?
    FusionInsight HD 6513 在线升级 FusionInsight HD 6517版本  需要多长时间?怎么评估的?
  • [运维管理] FusionInsight HD 6513升级 FusionInsight HD 6517版本,是否支持部分组件(如kafka 、zookeeper)在线升级,其他组件离线升级?
    FusionInsight HD 6513升级 FusionInsight HD 6517版本,是否支持部分组件在线升级,其他组件离线升级?
  • Spark跨集群读HDFS写入ES样例代码(saveJsonToES接口)
    说明:使用开源的接口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的时候报错报错原因是标的参数要注释掉,不注释会报上面错误
  • [最佳实践] Spark跨集群读HDFS写入ES样例代码(highlevelclient接口)
    跨集群读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 线下6.5.1.7版本集群,hdfs 将副本临时调整1后再调回3会发生什么现象?
  • [环境搭建] 线下HD 6517版本 ,扩容hbase是否可以只扩容一台?
    线下HD 6517版本 ,扩容hbase是否可以只扩容一台?
  • [运维管理] habse 每次写入提交的条数多少条合适?为什么?
    habse 每次写入提交的条数多少条合适?为什么?
总条数:202 到第
上滑加载中