HDFS
At a glance
Section titled “At a glance”| Capability | Support |
|---|---|
| rclone support tier | Tier 2: Stable |
| Checksums | None |
| Modification times | Kept, to 1 s |
| Case-insensitive names | No |
| Duplicate names allowed | No |
| Server-side copy | No |
| Server-side move and rename | Yes |
| Folder move and rename | Yes, in one step |
| Free space reporting | Yes |
| Empty folders | Yes |
| Change notifications | No |
| Uploads of unknown size | Yes |
| Public links | No |
HDFS is a distributed file-system, part of the Apache Hadoop framework.
Setup notes
Section titled “Setup notes”In CloudMount you add this drive from the Add drive screen, and the wizard asks for the options listed under Options. The notes below come from rclone’s setup guide.
Setting up your own HDFS instance for testing
Section titled “Setting up your own HDFS instance for testing”You may start with a manual setup or use the docker image from the tests:
If you want to build the docker image
git clone https://github.com/rclone/rclone.gitcd rclone/fstest/testserver/images/test-hdfsdocker build --rm -t rclone/test-hdfs .Or you can just use the latest one pushed
docker run --rm --name "rclone-hdfs" -p 127.0.0.1:9866:9866 -p 127.0.0.1:8020:8020 --hostname "rclone-hdfs" rclone/test-hdfsNB it need few seconds to startup.
For this docker image the remote needs to be configured like this:
[remote]type = hdfsnamenode = 127.0.0.1:8020username = rootYou can stop this image with docker kill rclone-hdfs (NB it does not use
volumes, so all data uploaded will be lost.)
Modification times
Section titled “Modification times”Time accurate to 1 second is stored.
Checksum
Section titled “Checksum”No checksums are implemented.
Usage information
Section titled “Usage information”You can use the rclone about remote: command which will display filesystem
size and current usage.
Restricted filename characters
Section titled “Restricted filename characters”In addition to the default restricted characters set the following characters are also replaced:
| Character | Value | Replacement |
|---|---|---|
| : | 0x3A | : |
Invalid UTF-8 bytes will also be replaced.
Options
Section titled “Options”Standard options
Section titled “Standard options”The wizard asks for these when you add the drive.
namenode
Section titled “namenode”Hadoop name nodes and ports.
E.g. “namenode-1:8020,namenode-2:8020,…” to connect to host namenodes at port 8020.
Type: CommaSepList
username
Section titled “username”Hadoop user name.
Type: string
Choices:
root: Connect to hdfs as root.
Advanced options
Section titled “Advanced options”The wizard shows these under Advanced options. Most drives work without changing any of them.
service_principal_name
Section titled “service_principal_name”Kerberos service principal name for the namenode.
Enables KERBEROS authentication. Specifies the Service Principal Name (SERVICE/FQDN) for the namenode. E.g. "hdfs/namenode.hadoop.docker" for namenode running as service ‘hdfs’ with FQDN ‘namenode.hadoop.docker’.
Type: string
data_transfer_protection
Section titled “data_transfer_protection”Kerberos data transfer protection: authentication|integrity|privacy.
Specifies whether or not authentication, data signature integrity checks, and wire encryption are required when communicating with the datanodes. Possible values are ‘authentication’, ‘integrity’ and ‘privacy’. Used only with KERBEROS enabled.
Type: string
Choices:
privacy: Ensure authentication, integrity and encryption enabled.
encoding
Section titled “encoding”The encoding for the backend.
See the encoding section in the overview for more info.
Type: Encoding · Default: Slash,Colon,Del,Ctl,InvalidUtf8,Dot
description
Section titled “description”Description of the remote.
Type: string
Limitations
Section titled “Limitations”- Erasure coding not supported, see issue #8808
- No server-side
MoveorDirMove. - Checksums not implemented.