1.1 配置
编辑$HADOOP_HOME/etc/hadoop/hdsf-site.xml文件,增加如下配置:
<property>
<name>dfs.access.time.precision</name>
<value>3600000</value>
<description>The access time for HDFS file is precise upto thisvalue.
The default value is 1 hour. Setting a value of 0 disables
access times for HDFS.
</description>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>1024</value>
</property>
<property>
<name>dfs.nfs3.dump.dir</name>
<value>/tmp/.hdfs-nfs</value>
</property>
ü 上述的属性名称dfs.access.time.precision已经被dfs.namenode.accesstime.precision替换,建议使用这个名称;
ü 上述的属性名称dfs.datanode.max.xcievers已经被dfs.datanode.max.transfer.threads替换,建议使用这个名称;
编辑log4j.property文件,增加如下配置:
log4j.logger.org.apache.hadoop.hdfs.nfs=DEBUG
log4j.logger.org.apache.hadoop.oncrpc=DEBUG
1.2 启动
然后可以启动portmap了,注意这里需要root权限才能启动:
sudo ./bin/hdfs portmap -start
若提示端口已经被占用,则说明系统已经启动了,需要先停止:
service portmap stop
然后再启动。
再启动nfs,一定要先启动portmap才能启动nfs:
./bin/hdfs nfs3 start
可以通过以下两个命令来观察是否启动OK:
rpcinfo -p 192.168.111.130 #后面的ip地址是namenode的启动服务器地址
showmount -e 192.168.111.130
在/mnt目录下建立挂载目录hdfs
mkdir –p /mnt/hdfs
挂载到目标目录,注意这里使用的是mount.nfs,若没有则需要手工先安装,以下命令是在ubuntu12.04server版本是进行的:
sudo mount.nfs -o nolock 192.168.111.130://mnt/hdfs
若上述命令提示mount.nfs不存在,则需要提前先安装好:
sudo apt-get install nfs-common
或者
sudo mount -o nolock 10.3.3.141:/ /mnt/hdfs #这是在suse机器上的命令
或者
sudo mount -t nfs -o vers=3,proto=tcp,nolock10.3.3.141:/ /mnt/hdfs #这是在suse机器上的命令
1.3 测试
实测如下:
一台namenode(10.3.3.141),两台datanode(10.3.3.142,10.3.3.143):
1、往hdfs上复制文件:
[aihadoop@suse-141 ~] $ time cp jdk.tar.gz/mnt/hdfs/
real0m6.733s
user0m0.000s
sys0m0.264s
[aihadoop@suse-141 ~] $ ll jdk.tar.gz
-rw-r--r-- 1 aihadoop aihadoop 156209379 2013-12-2015:57 jdk.tar.gz
[aihadoop@suse-141 soft_bak] $ llspark-0.8.1-incubating-bin-hadoop2.tgz
-rw------- 1 aihadoop aihadoop 225613885 2013-12-2314:49 spark-0.8.1-incubating-bin-hadoop2.tgz
[aihadoop@suse-141 soft_bak] $ time cp spark-0.8.1-incubating-bin-hadoop2.tgz/mnt/hdfs/
real0m7.671s
user0m0.000s
sys0m0.376s
从上面的测试来看,在目前这个环境中:上传速度约为:26m/s
2、从hdfs上复制文件到本地目录:
[aihadoop@suse-141 workdir] $ time cp/mnt/hdfs/test_put_250_06_20130604148159 .
real0m3.243s
user 0m0.000s
sys0m0.508s
[aihadoop@suse-141 soft_bak] $ lltest_put_250_06_20130604148159
-rw-r--r-- 1 aihadoop aihadoop 102324750 2014-01-0317:25 test_put_250_06_20130604148159
[aihadoop@suse-141 workdir] $ time cp/mnt/hdfs/jdk.tar.gz .
real0m4.750s
user0m0.004s
sys0m0.420s
[aihadoop@suse-141 workdir] $ ll jdk.tar.gz
-rw-r--r-- 1 aihadoop aihadoop 156209379 2014-01-0317:44 jdk.tar.gz
[aihadoop@suse-141 soft_bak] $ time cp/mnt/hdfs/input/100_01_20130726021112 .
cp: writing `./100_01_20130726021112': No spaceleft on device #这里空间不够,写部分成功了。
real3m35.862s
user0m0.164s
sys0m17.613s
[aihadoop@suse-141 soft_bak] $ ll 100_01_20130726021112
-rw-r--r-- 1 aihadoop aihadoop 40210227202014-01-03 17:31 100_01_20130726021112
从上面的测试来看,在目前这个环境中:下载速度约为:32m/s,当下载的文件在hdfs的缓存中时,下载速度非常快。
从客户端进行文件上传和下载的速度取决于HDFS部署的硬件环境和datanode的个数。
分享到:
相关推荐
本文详细介绍了 Centos7 安装配置 NFS 服务和挂载的步骤,包括安装 nfs-utils 软件包,编辑 exports 文件,启动 nfs 服务,安装 NFS 客户端,挂载 NFS 服务器上的目录等内容。通过这些步骤,可以实现文件实时同步,...
2. **目录委派**:NFSv4.1提供了更高效的目录委派机制,允许客户端在本地缓存目录状态,从而减少了与服务器的通信次数。 3. **并行访问**:NFSv4.1通过引入pNFS支持并行访问,显著提升了大规模数据处理的效率。而在...
MNT协议是挂载操作的协议,客户端使用MNT协议连接到NFS服务器,获取文件系统的挂载信息,然后将该文件系统挂载到本地的文件系统层次结构中。 6. **NFSv3程序处理过程**: NFSv3定义了一系列的RPC程序,每个程序...
UNFS3,一个用户空间NFSv3服务器(C)2003-2009,帕斯卡·施密特(Pascal Schmidt) UNFS3是NFSv3服务器规范的用户空间实现。 UNFS3支持所有NFSv3过程,但READDIRPLUS过程除外。 它尝试在用户空间限制的范围内向NFS...
官方离线安装包,亲测可用
NFS(Network File System)允许用户像访问本地文件系统一样访问远程文件系统,通过NFSv3,Hadoop用户可以通过熟悉的文件操作方式访问HDFS上的数据。NFS的引入简化了HDFS的使用,实现了NFS协议到HDFS协议的转换,使...
文中提到了如何挂载文件系统以及如何将其转换为混合访问策略(MIXED access policy),这样可以使得文件系统同时支持NFSv3和NFSv4。 访问控制和权限管理是文件系统安全性的核心,因此文中详细介绍了如何通过NFSv4来...
例如,描述中提到的`mount -t nfs-3g 设备名 挂载目录`,这个命令是用来挂载NFSv3(NFS版本3)的服务器共享目录到本地的特定目录。 1. `-t nfs-3g`:这里的`-t`选项指定文件系统类型,`nfs-3g`表示NFS版本3,支持高...
为了实现高可用性和容错性,ActiveMQ 支持主从(master-slave)架构,这种架构可以通过复制数据来确保即使主节点故障,服务也能无缝切换到备用节点。在 ActiveMQ 5.8 版本中,使用 NFSV4(Network File System ...
目录委托(Directory Delegations)是NFSv4.1的另一项核心特性,它允许服务器将目录的管理权限委派给客户端,使得客户端在特定条件下可以自主管理目录,而无需每次都与服务器通信确认。这种机制极大提高了文件系统...
通过上述步骤,我们不仅完成了NFS存储在vSphere 6.5集群中的挂载,还验证了其配置的有效性和稳定性。这对于构建高效、可靠的虚拟化环境至关重要。NFS存储因其灵活性和扩展性成为众多企业的首选方案之一,掌握其配置...
在NFSv2和NFSv3中,挂载点通常是在系统启动时通过fstab文件静态配置的,而在NFS4中,挂载操作可以在运行时动态执行,无需修改fstab。这为用户提供了更大的灵活性,可以根据需要即时挂载或卸载远程文件系统,而无需...
这使得已经使用NFSv2的系统可以平滑过渡到NFSv3。 5. **变化**:与NFSv2相比,NFSv3引入了若干改进,包括增强的文件锁机制、硬链接支持、文件所有权和权限的原子改变,以及更强大的错误处理能力。 在文档的后续...
Golang网络文件服务器NFSv3协议在纯Golang中的实现。当前状态:最少测试挂载,只读和读写支持用法目前最有趣的演示在example/osview 。启动服务器, go run ./example/osview . 。的本地文件夹.将是坐骑中的初始视图...
因此,委托机制在延迟较高的环境中能够提升NFSv4的性能,但其有效性也取决于本地和远程操作速度的比率。 在NFSv4中,存在两种类型的委托:写委托(Write Delegation)和读委托(Read Delegation)。写委托允许单个...
- **服务器挂载**:NFSv3 对服务器挂载机制进行了改进,支持更复杂的挂载操作。 - **I/O 写入合并**:NFSv3 支持将多个小的写操作合并成一次较大的写操作,减少了网络传输次数,提升了效率。 - **更强的锁机制**:...
pNFS通过将数据直接从客户端传输到存储节点上,而不是通过一个中央服务器进行中转,从而显著提高了数据传输的速度和效率。 - **分布式数据布局**:pNFS支持将文件分割成多个块,并将这些块分布存储在不同的物理存储...
首先,NFSV4报文是通过RPC(Remote Procedure Call)机制进行传输的,这意味着NFS操作被封装为RPC调用。这些调用包括但不限于打开、读取、写入、创建、删除文件等。NFSV4报文包含两个主要部分:请求和应答。请求报文...
NFSv4协议推荐的挂载命令是`sudo mount -t nfs4 挂载点域名或IP:/ 挂载目录`,而NFSv3协议的推荐挂载命令是`sudo mount -t nfs -o vers=3,nolock,proto=tcp 挂载点域名或IP:/ 挂载目录`。完成挂载后,可以使用`mount...
通过NFSv4 ACL Editor,用户可以在不完全支持NFSv4 ACL特性的客户端上查看和修改这些权限设置,从而确保数据安全性和访问控制的灵活性。 这款开源软件的意义在于,它降低了管理NFSv4 ACL的复杂性,使得系统管理员...