Hadoop with ceph
hadoop 要使用 1.1.X 的版本
1.在编译 ceph 的 configure 过程中要加入 cephfs-java 选项
./configure--enable-cephfs-java--without-tcmalloc--without-libatomic-ops
2.下载 hadoop-ceph.jar,并将其和 libcephfs.jar 一同导入 HADOOP_HOME/lib
Libcephfs.jar 可以在编译好的 ceph 文件夹找到,也可以在安装目录找到
3.链接 JNI 库:
cd HADOOP_HOME/lib/native/Linux-amd64-64
将 so 文件链接到此目录 ln -s /usr/local/lib/libcephfs_jni.so .
4.编辑 core-site 文件
fs.default.name=ceph://192.168.3.189:6789/
fs.ceph.impl=org.apache.hadoop.fs.ceph.CephFileSystem
ceph.conf.file=/etc/ceph/ceph.conf
编辑 hadoop-env mapred-site 等
5.安装好了用 hadoop fs -ls /来看一下吧
第二步时出现过 gcj 编译器的问题
编译 java 接口时候出错
gcj -C -source 1.5 -target 1.5 -Xlint:-options java/com/ceph/fs/*.java
gcj: 1.5:没有那个文件或目录
gcj: 1.5:没有那个文件或目录
gcj: 无法识别的选项‘-source’
gcj: 无法识别的选项‘-target’
gcj: 无法识别的选项‘-Xlint:-options’
系统用的是 redhat6.4 已经安装了 gcj,在编译的过程中 ceph 自己选择了 gcj,不
知道为什么,我重新安装了 centos6.4 然后编译通过了