Yury Stankevich b569dc11a0 hdfs: support kerberos authentication #42 3 years ago
..
Dockerfile b569dc11a0 hdfs: support kerberos authentication #42 3 years ago
README.md b569dc11a0 hdfs: support kerberos authentication #42 3 years ago
core-site.xml b569dc11a0 hdfs: support kerberos authentication #42 3 years ago
hdfs-site.xml b569dc11a0 hdfs: support kerberos authentication #42 3 years ago
httpfs-site.xml 71edc75ca6 HDFS (Hadoop Distributed File System) implementation - #42 3 years ago
kdc.conf b569dc11a0 hdfs: support kerberos authentication #42 3 years ago
kms-site.xml 71edc75ca6 HDFS (Hadoop Distributed File System) implementation - #42 3 years ago
krb5.conf b569dc11a0 hdfs: support kerberos authentication #42 3 years ago
mapred-site.xml 71edc75ca6 HDFS (Hadoop Distributed File System) implementation - #42 3 years ago
run.sh b569dc11a0 hdfs: support kerberos authentication #42 3 years ago
yarn-site.xml 71edc75ca6 HDFS (Hadoop Distributed File System) implementation - #42 3 years ago

README.md

Test HDFS

This is a docker image for rclone's integration tests which runs an hdfs filesystem in a docker image.

Build

docker build --rm -t rclone/test-hdfs .
docker push rclone/test-hdfs

Test

configure remote:

[TestHdfs]
type = hdfs
namenode = 127.0.0.1:8020
username = root

run tests

cd backend/hdfs
GO111MODULE=on go test -v

hdfs logs will be available in .stdout.log and .stderr.log

Kerberos

test can be run against kerberos-enabled hdfs

  1. configure local krb5.conf

    [libdefaults]
        default_realm = KERBEROS.RCLONE
    [realms]
        KERBEROS.RCLONE = {
            kdc = localhost
        }
    
  2. enable kerberos in remote configuration

    [TestHdfs]
    ...
    service_principal_name = hdfs/localhost
    data_transfer_protection = privacy
    
  3. run test

    cd backend/hdfs
    KERBEROS=true GO111MODULE=on go test -v