Failed to find metadata store by url: kylin_metadata@hbase

CDH版本:5.10,Kylin版本:2.10

CDH集群重装后启动Kylin实例遇到如下问题:

Exception in thread "main" java.lang.IllegalArgumentException: Failed to find metadata store by url: kylin_metadata@hbase

at org.apache.kylin.common.persistence.ResourceStore.createResourceStore(ResourceStore.java:89)
at org.apache.kylin.common.persistence.ResourceStore.getStore(ResourceStore.java:101)
at org.apache.kylin.rest.service.AclTableMigrationTool.checkIfNeedMigrate(AclTableMigrationTool.java:94)
at org.apache.kylin.tool.AclTableMigrationCLI.main(AclTableMigrationCLI.java:41)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.kylin.common.persistence.ResourceStore.createResourceStore(ResourceStore.java:83)
... 3 more
Caused by: org.apache.hadoop.hbase.TableExistsException: kylin_metadata
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
at org.apache.hadoop.hbase.util.ForeignExceptionUtil.toIOException(ForeignExceptionUtil.java:45)
at org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.convertResult(HBaseAdmin.java:4450)
at org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.waitProcedureResult(HBaseAdmin.java:4408)
at org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.get(HBaseAdmin.java:4341)
at org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:675)
at org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:605)
at org.apache.kylin.storage.hbase.HBaseConnection.createHTableIfNeeded(HBaseConnection.java:324)
at org.apache.kylin.storage.hbase.HBaseResourceStore.createHTableIfNeeded(HBaseResourceStore.java:110)
at org.apache.kylin.storage.hbase.HBaseResourceStore.<init>(HBaseResourceStore.java:91)
... 8 more
Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hbase.TableExistsException): kylin_metadata
at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.prepareCreate(CreateTableProcedure.java:302)
at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:109)
at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:59)
at org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:119)
at org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:498)
at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1061)
at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:856)
at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:809)
at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$400(ProcedureExecutor.java:75)

at org.apache.hadoop.hbase.procedure2.ProcedureExecutor$2.run(ProcedureExecutor.java:495)


网上搜了下,2.0有多个Kylin实例启动报错的bug,2.1已经修复。

还有说zookeeper和hbase不匹配,也不是原因。

后来进入zookeeper,/hbase/table,发现kylin_metadata还在,删除掉后正常启动

### Kylin V10 中 Yum 下载 FTP 客户端时出现 'Error: Failed to download metadata for repo' 的解决方案 当在 Kylin V10 上尝试通过 `yum` 命令安装软件包时遇到 `'Error: Failed to download metadata for repo'` 错误,通常是因为无法访问指定仓库的元数据文件(如 `repomd.xml`)。以下是可能的原因以及对应的解决方法: #### 可能原因分析 1. **网络连接问题** 如果主机无法正常访问互联网或者目标镜像站点不可达,则可能导致此错误。这可能是由于防火墙设置、代理配置不当或 DNS 配置不正确引起的[^1]。 2. **仓库地址失效** 若使用的仓库 URL 已经过期或不再可用,也会引发该问题。例如,在某些情况下,特定版本的操作系统可能会停止支持其官方更新源[^2]。 3. **本地缓存损坏** 当前系统的 yum 缓存可能存在异常情况,导致读取失败并抛出上述错误消息[^3]。 --- #### 解决方案 ##### 方法一:检查网络环境与DNS设置 确认服务器能够成功解析域名,并且可以连通到外部资源。可以通过以下命令测试: ```bash ping www.google.com nslookup mirror.centos.org ``` 如果发现存在任何阻塞现象,请调整相关参数直至恢复正常通信状态为止。 ##### 方法二:清理YUM缓存 执行下面这些指令来清除旧有的索引记录从而重新构建新的数据库副本: ```bash sudo yum clean all sudo rm -rf /var/cache/yum/* sudo yum makecache ``` ##### 方法三:修改Repository配置文件中的BaseURL字段 打开对应存储库定义位置下的`.repo`结尾文档编辑器里查找是否有指向已废弃链接的部分;如果有则替换成最新有效的替代品之一即可完成修复工作。 对于CentOS/RHEL系列发行版来说,默认路径位于 `/etc/yum.repos.d/` 文件夹下。找到有问题的那个 `.repo` 文件后将其 Baseurl 替换为最新的 CentOS Vault 地址或者其他可靠的第三方镜像站地址^,^. 示例操作流程如下所示: ```bash cd /etc/yum.repos.d/ ls *.repo vi problematic-repo-file.repo # 将 baseurl=https://old.invalid.url 改成 baseurl=http://vault.centos.org/<version>/ :wq! #保存退出 ``` ##### 方法四:启用其他可选MirrorList机制(仅适用于部分场景) 有些时候我们并不知道确切的新baseurls是什么样子但是又想快速解决问题的话就可以考虑采用mirrorlists方式代替固定的bases urls 。 这种做法的好处在于它会自动帮我们挑选最佳候选节点来进行同步作业而无需手动干预太多细节方面的东西 。 同样还是定位至相应 .repo 文本内部寻找 enabled= 参数项并将之设为 true 同时确保下方一行也有所关联表述比如这样 : ```ini [mirrorlist-example] name=Mirrors Example Repository enabled=1 gpgcheck=0 metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch ``` 最后再次运行makecaches命令让更改生效即刻可见效果如何啦! --- ### 总结 以上四种途径均有可能帮助用户摆脱因metadata下载受挫而导致的一系列连锁反应困境之中脱颖而出成为最终赢家!当然实际应用过程中还需要结合具体情况灵活运用才行哦~
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值