我有一个jar运行代码,利用hadoop库和localfilesystem。此代码正在docker中运行,并部署在远程kubernetes集群上。我可以在docker容器中本地运行这段代码,而且工作正常。
部署时出现以下错误:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.apache.hadoop.conf.Configuration.getLong(String, long)" because the return value of "org.apache.hadoop.fs.FileSystem.getConf()" is null
以前,我在写入tmp目录时(甚至在本地)遇到了这个错误,但当我将它写入我的桌面时,它被修复了。我假设这是hadoop无法定位这个目录位置。
我已经在的根位置下面添加了一个pv和pvc到我的部署中 /compact
同样的失败。
示例(jsonnet中的k8部署规范)
volumeMounts: [
{
mountPath: '/tmp',
name: 'tmp',
},
{
mountPath: '/compact',
name: 'compactorpvc',
},
],
env: podEnv(app.name),
},
],
volumes: [
{
name: 'tmp',
emptyDir: {},
},
{
name: 'compactorpvc',
persistentVolumeClaim: {
claimName: 'compactorpvc'
},
},
],
暂无答案!
目前还没有任何答案,快来回答吧!