Hi All,
I've a tiny Ceph 12.2.2 cluster setup with three nodes, 17 OSDs, 3 MON,MDS,MGR (spanned across the three nodes).
Hadoop 2.7.3 is configured on only one of the three nodes as follows:
- Hadoop binaries was extracted to /opt/hadoop/bin/
- Hadoop config files where at /opt/hadoop/etc/hadoop/
- The following symbolic links have been done:
# ln -s /usr/lib64/libcephfs_jni.so.1.0.0 /usr/lib64/libcephfs_jni.so
# cp /usr/lib64/libcephfs_jni.so.1.0.0 /opt/hadoop/lib/native/
# ln -s /opt/hadoop/lib/native/libcephfs_jni.so.1.0.0 /opt/hadoop/lib/native/libcephfs_jni.so.1
# ln -s /opt/hadoop/lib/native/libcephfs_jni.so.1.0.0 /opt/hadoop/lib/native/libcephfs_jni.so
# ln -s /usr/share/java/libcephfs.jar /opt/hadoop/lib/
The following modification to Hadoop-config.sh has been done:
/opt/hadoop/libexec/hadoop-config.sh
# CLASSPATH initially contains $HADOOP_CONF_DIR
CLASSPATH="${HADOOP_CONF_DIR}:/opt/hadoop/lib/libcephfs.jar:/opt/hadoop/lib/hadoop-cephfs.jar"
So writes and reads to/from Ceph using HDFS CLI works fine, but when I use hadoop Java library I get the following error:
ERROR HdfsTraveller:58 - com.ceph.fs.CephNotMountedException: not mounted
fileSystem.globStatus(path)
FileSystem.globStatus in hdfs api
ceph returns null pointer
Any idea what's going on? is it a configuration problem? is it a Ceph problem? Did anybody see that error before?
Regards,
Bishoy