NFS
This guide describes the instructions to configure NFS as Alluxio’s under storage system.
You’ll need to have a configured and running installation of NFS for the rest of this guide. If you need to get your own NFS installation up and running, we recommend taking a look at the NFS-HOW TO
Requirements
The prerequisite for this part is that you have a version of Java 8 installed.
Turn on remote login service so that ssh localhost
can succeed. To avoid the need to
repeatedly input the password, you can add the public SSH key for the host into
~/.ssh/authorized_keys
. See this tutorial for more
details.
Initial Setup
The Alluxio binaries must be on your machine. You can either compile Alluxio, or download the binaries locally.
Creating NFS mount point
Before Alluxio master and workers can access the NFS server, mount points to the NFS server need to be created.
Typically, all the machines will have the NFS shares located at the same path, such as /mnt/nfs
.
NFS client cache can interfere with the correct operation of Alluxio, specifically if Alluxio master creates a file on the NFS but the NFS client on the Alluxio worker continue to use the cached file listing, it will not see the newly created file.
Thus we highly recommend setting the attribute cache timeout to 0.
Please mount your nfs share like this.
$ sudo mount -o actimeo=0 nfshost:/nfsdir /mnt/nfs
Configuring Alluxio
Configure Alluxio to use under storage systems by modifying
conf/alluxio-site.properties
. If it does not exist, create the configuration file from the
template.
$ cp conf/alluxio-site.properties.template conf/alluxio-site.properties
Assume we have mounted NFS share at /mnt/nfs
on all Alluxio masters and workers, the following lines should be exist within the conf/alluxio-site.properties
file.
alluxio.master.hostname=localhost
alluxio.master.mount.table.root.ufs=/mnt/nfs
Running Alluxio with NFS
Run the following command to start Alluxio filesystem.
$ ./bin/alluxio-mount.sh SudoMount
$ ./bin/alluxio format
$ ./bin/alluxio-start.sh local
To verify that Alluxio is running, you can visit
http://localhost:19999, or see the log in the logs
folder.
Run a simple example program:
$ ./bin/alluxio runTests
Visit your NFS volume at /mnt/nfs
to verify the files and directories created by Alluxio exist.
For this test, you should see files named:
/mnt/nfs/default_tests_files/BASIC_CACHE_THROUGH
Stop Alluxio by running:
$ ./bin/alluxio-stop.sh local