打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
利用cloudera hadoop 中的libhdfs和fuse-dfs将hdfs中的文件挂载到本地硬盘

利用cloudera hadoop 中的libhdfs和fuse-dfs将hdfs中的文件挂载到本地硬盘

1.  集群环境  操作系统版本为centos 5.8    hadoop版本为cloudera hadoop cdh3u3
将hadoop集群安装部署好后
手动安装fuse 2.8.5
 下载地址http://down.51cto.com/data/207767
安装方法
# tar zxvf fuse-2.8.5.tar.gz 
# cd  fuse-2.8.5
# ./configure  --libdir=/lib64 && make && make install
安装hadoop-fuse
获取cdh3 yum 源
wget -c http://archive.cloudera.com/redhat/cdh/cdh3-repository-1.0-1.noarch.rpm 
安装下载的rpm包
yum --nogpgcheck localinstall cdh3-repository-1.0-1.noarch.rpm
导入rpm key
rpm --import http://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera
安装 hadoop-0.20-fuse
yum -y install hadoop-0.20-fuse 
如果cloudera hadoop为手动安装的,即使用tar.gz压缩包进行部署的,需要将因为用yum安装hadoop-fuse过程中自动安装的hadoop执行文件重命名
mv /usr/bin/hadoop /usr/bin/hadoop_back
查看ldd /usr/lib/hadoop-0.20/bin/fuse_dfs文件的依赖库
linux-gate.so.1 =>  (0xffffe000)
libhdfs.so.0 => not found
libfuse.so.2 => /lib/libfuse.so.2 (0xf7f64000)
libjvm.so => not found
libc.so.6 => /lib/libc.so.6 (0x00417000)
libm.so.6 => /lib/libm.so.6 (0x00681000)
librt.so.1 => /lib/librt.so.1 (0x00595000)
libdl.so.2 => /lib/libdl.so.2 (0x0058e000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00572000)
/lib/ld-linux.so.2 (0x003f8000)
可以看出文件fuse_dfs的依赖库路径错误,因此不能使用这个文件
将$HADOOP_HOME/contrib/fuse-dfs/fuse_dfs拷贝到$HADOOP_HOME/bin

将文件fuse_dfs文件赋予可执行权限

# chmod +x fuse_dfs


查看fuse_dfs的共享依赖库路径  

# ldd $HADOOP_HOME/bin/fuse_dfs
linux-vdso.so.1 =>  (0x00007fffca6b8000)
libhdfs.so.0 => /lib64/libhdfs.so.0 (0x00002ba98d785000)
libfuse.so.2 => /lib64/libfuse.so.2 (0x00002ba98d98f000)
libjvm.so => /lib64/libjvm.so (0x00002ba98dbc2000)
libc.so.6 => /lib64/libc.so.6 (0x0000003093800000)
libm.so.6 => /lib64/libm.so.6 (0x0000003094400000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003093c00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003094000000)
librt.so.1 => /lib64/librt.so.1 (0x0000003095400000)
/lib64/ld-linux-x86-64.so.2 (0x0000003093400000)
如果遇到文件libhdfs.so.0 =>not found
则find / -name "libhdfs.so.0" 查找文件后拷贝到/lib64中

如果是 libjvm.so => not found  则执行命令  cp $JAVA_HOME/jre/lib/amd64/server/libjvm.so /lib64
修改vi /usr/bin/hadoop-fuse-dfs文件中的$HADOOP_HOME路径
保存文件后 即可将hdfs中的文件挂载到本地磁盘
创建挂载点并挂载hdfs
mkdir -p /data/hdfs/
chown -R hadoop:hadoop /data/hdfs/
hadoop-fuse-dfs dfs://namenode:9000 /data/hdfs
挂载后即可在/data/hdfs查看到hdfs中的文件
卸载hdfs文件
umount /data/hdfs

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Scribe+HDFS日志收集系统安装方法
Hadoop管理的十个最佳实践
Hadoop面试45个题目及答案
Hadoop集群(第7期)_Eclipse开发环境设置
运行hadoop 出现的一些问题 及其解决方法
CDH5安装lzo
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服