一、背景
为了解决Hadoop存算一体带来的问题,我对Hadoop的存算分离做了方案尝试,使用Cubefs替换现有的HDFS,相当于Hadoop的存储远程挂载,下面是踩坑记录。
官方参考链接
二、问题和解决
-
java.lang.UnsatisfiedLinkError: Unable to load library 'libcfs.so':
说明你编译的libcfs.so文件没有上传到位,以下是我传的所有位置:
官网信息不全,一定要按照我的截图路径都传,并且是每个节点 -
在运行hive on mapreduce任务时报错
org.apache.hadoop.fs.UnsupportedFileSystemException: fs.AbstractFileSystem.cfs.impl=null: No AbstractFileSystem configured for scheme: cfs
这个代表你的配置文件少了,要注意core-site.xml加了什么,hive-site.xml里也要加上 -
java.lang.NoSuchFieldError:HADOOP_CLASSPATH
明显是环境变量问题,环境变量要注意在 /etc/profile下有以下配置:
export HADOOP_CLASSPATH=`/opt/module/hadoop-3.1.3/bin/hadoop classpath`
export CFS=/opt/module/hadoop-3.1.3/lib/native
export HADOOP_CLASSPATH=$CFS:$HADOOP_CLASSPATH
另外一定要注意 yarn-site.xml中要加入HADOOP_CLASSPATH:
三、总结
总之目前Cubefs还处于CNCF孵化项目,文档不是很全,需要一定的运维功底。