Hadoop---安装Fuse-DFS(难)

安装环境:
ubuntu 12.04
hadoop 1.2.1

有两个可以参考的资料:
一:
根据这个文件/usr/hadoop/src/contrib/fuse-dfs/README的指导,并且打开其中的网址,详细看网页上的内容,可能会遇到少一点错误。

https://github.com/rapyuta/roboearthDB/wiki/Install-hdfs-fuse

二 博文:
用hadoop中的libhdfs和fuse-dfs构建快速云存储

  • ant 使用自己安装的apache-ant-1.8.2版本的
  • 需要安装以下软件,最后的两个装不上,就不用装了。
sudo apt-get install automake,autoconf,m4,libtool,pkgconfig,fuse,fuse-devel,fuse-libs
  • README文件中的第一步用compile-c++-libhdfs 替换compile-libhdfs
  • 如果提示找不到ljvm 和 lhdfs,就是缺少libjvm.so和lhdfs,如果用locate ljvm可以找到这两个文件,就说明编译器找不到这两个文件,尽管已经把各种环境变量设置好了,此时靠谱的方法应该是更改/usr/hadoop/src/contrib/fuse-dfs/src/Makefile.am文件 。

在安装过程中我遇到了一部分问题为如下 :
1
遇到以下问题:
fuse_dfs.c undefined reference to fuse_get_context
请看:
http://svn.apache.org/viewvc?view=revision&revision=1336495
更改Makefile.am

2
错误:
/usr/bin/ld: cannot find -lhdfs
解决方法:
打开/usr/hadoop/src/contrib/fuse-dfs/src/Makefile.am

把AM_LDFLAGS = -L$(HADOOP_HOME)/build/**/ -lhdfs
改成AM_LDFLAGS = -L$(HADOOP_HOME)/build/c++/Linux-amd64-64/lib/ -lhdfs

3
错误
libhdfs.so undefined reference JNI_CreateJavaVm
方法:
这是因为没有加载libjvm.so库,虽然写在了Makefile文件里面,但是还是没有加载上,也不知道为什么,这个时候自己复制过去就行

>sudo cp /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/Server/libjvm.so /usr/hadoop/build/c++/Linux-amd64/lib/
//如果不知道libjvm.so在哪里的,可以用locate libjvm.so来定位

挂载

>mkdir /home/hadoop/hdfs
>sudo chown -R hadoop:hadoop /home/hadoop/hdfs
>//每次开机都得重新挂载
>cd /usr/hadoop/src/contrib/fuse-dfs/src
>sudo ./fuse_dfs_wrapper.sh dfs://127.0.0.1:9000 /home/hadoop/hdfs
会输出以下
port=9000,server=hadoopmaster
fuse-dfs didn't recognize /tmp/dfs,-2(这个问题目前不知如何解决,但不影响使用。) //启动hadoop hbase后,查看hdfs目录中的内容 >ls /home/hadoop/hbase hbase user usr //卸载 >sudo umount /home/hadoop/hdfs

你可能感兴趣的:(hadoop)