BlueData DataTap 설정¶
이 섹션에서는 BlueData DataTap과 함께 작동할 수 있도록 Driverless AI의 구성에 관한 지침을 제공합니다.
Note: Docker 설치 버전에 따라, Driverless AI Docker 이미지를 시작할 때는 docker run --runtime=nvidia
(Docker 19.03 이후) 또는 nvidia-docker
(Docker 19.03 이전) 명령을 사용하십시오. 사용 중인 Docker 버전을 확인하려면 docker version
을 사용하십시오.
구성 속성에 관한 설명¶
dtap_auth_type
: DTAP 인증을 선택하십시오. 이용 가능한 값은 다음과 같습니다.noauth
: 인증 불필요principal
: 주 사용자로 DataTap을 통해 인증하십시오keytab
: Key tab으로 인증하십시오(권장사항). Driverless AI를 서비스로 실행하는 경우 Kerberos Key tab을 Driverless AI 사용자가 소유해야 합니다.keytabimpersonation
: Key tab을 사용하여 가장으로 로그인하십시오
dtap_config_path
: DTAP(HDFS) 구성 폴더 경로의 위치입니다. 해당 폴더에는 다양한 구성 파일이 포함될 수 있습니다. Note: DTAP config 파일 core-site.xml은 DTap FS 구성을 포함해야 합니다. 예:<configuration> <property> <name>fs.dtap.impl</name> <value>com.bluedata.hadoop.bdfs.Bdfs</value> <description>The FileSystem for BlueData dtap: URIs.</description> </property> </configuration>
dtap_key_tab_path
: 주 Key tab 파일의 경로입니다.dtap_auth_type=principal
일 때 사용합니다.dtap_app_principal_user
: Kerberos 앱 주 사용자(권장).dtap_app_login_user
: 현재 사용자의 사용자 ID(예: user@realm).dtap_app_jvm_args
: DTap 배포용 JVM 인자. 각 인자는 공백으로 구분하십시오.dtap_app_classpath
: DTap 클래스패스dtap_init_path
: DTAP 브라우저의 UI에 표시되는 시작 DTAP 경로를 지정하십시오.enabled_file_systems
: 활성화할 파일 시스템. 데이터 커넥터를 제대로 작동시키려면 이 시스템을 구성해야 합니다.
예제 1: 인증 없이 DataTap 활성화¶
이 예시는 DataTap 데이터 커넥터를 활성화하고 인증을 비활성화합니다. 모든 구성 파일은 전달하지 않습니다. 그러나 DTap 이름 노드의 이름과 IP를 전달하여 Docker DNS를 구성합니다. 이를 통해 사용자는 이름 노드 주소를 사용하여 DTap에 저장된 데이터를 직접 참조할 수 있습니다. 예: dtap://name.node/datasets/iris.csv
또는 dtap://name.node/datasets/
. ( Note: 현재 디렉토리 뒤에 슬래시가 와야 합니다.)
nvidia-docker run \
--pid=host \
--init \
--rm \
--shm-size=256m \
--add-host name.node:172.16.2.186 \
-e DRIVERLESS_AI_ENABLED_FILE_SYSTEMS="file,dtap" \
-e DRIVERLESS_AI_DTAP_AUTH_TYPE='noauth' \
-p 12345:12345 \
-v /etc/passwd:/etc/passwd \
-v /tmp/dtmp/:/tmp \
-v /tmp/dlog/:/log \
-v /tmp/dlicense/:/license \
-v /tmp/ddata/:/data \
-u $(id -u):$(id -g) \
h2oai/dai-centos7-x86_64:1.10.1-cuda11.2.2.xx
본 예제에서는 config.toml 파일에서 DataTap 옵션을 구성하는 방법과 Docker에서 Driverless AI의 시작 시 해당 파일을 지정하는 방법을 보여줍니다. 본 예제에서는 인증 없이 DataTap을 활성화합니다.
Driverless AI config.toml file 파일을 구성하십시오. 다음 구성 옵션을 설정하십시오:
enabled_file_systems = "file, upload, dtap"
config.toml 파일을 Docker 컨테이너에 마운트하십시오.
nvidia-docker run \ --pid=host \ --init \ --rm \ --shm-size=256m \ --add-host name.node:172.16.2.186 \ -e DRIVERLESS_AI_CONFIG_FILE=/path/in/docker/config.toml \ -p 12345:12345 \ -v /local/path/to/config.toml:/path/in/docker/config.toml \ -v /etc/passwd:/etc/passwd:ro \ -v /etc/group:/etc/group:ro \ -v /tmp/dtmp/:/tmp \ -v /tmp/dlog/:/log \ -v /tmp/dlicense/:/license \ -v /tmp/ddata/:/data \ -u $(id -u):$(id -g) \ h2oai/dai-centos7-x86_64:1.10.1-cuda11.2.2.xx
본 예제는 DataTap 데이터 커넥터를 활성화하고 config.toml 파일에서 인증을 비활성화합니다. 모든 구성 파일은 패스하지 않습니다. 이를 통해 사용자는 dtap://name.node/datasets/iris.csv
또는 dtap://name.node/datasets/
와 같이 이름 노드 주소를 사용하여 DataTap에 저장된 데이터의 직접 참조가 가능합니다.( Note: 현재 디렉터리에는 trailing slash가 필요합니다.)
Driverless AI config.toml 파일을 내보내거나 ~/.bashrc에 추가합니다. 아래 예를 참조하십시오.
# DEB and RPM export DRIVERLESS_AI_CONFIG_FILE="/etc/dai/config.toml" # TAR SH export DRIVERLESS_AI_CONFIG_FILE="/path/to/your/unpacked/dai/directory/config.toml"
config.toml 파일에서 아래 구성 옵션을 지정하십시오.
# File System Support # upload : standard upload feature # dtap : Blue Data Tap file system, remember to configure the DTap section below enabled_file_systems = "file, dtap"
완료되면 변경 사항을 저장하고 Driverless AI를 중지/재시작하십시오.
예제 2: 키탭 기반 인증을 통해 DataTap 활성화¶
Notes:
Kerberos 인증 사용 시, Driverless AI 서버의 시간과 Kerberos 서버가 반드시 동기화되어야 합니다. 클라이언트와 DC 사이의 시간 차이가 5분 이상일 경우, Kerberos 오류가 발생합니다.
Driverless AI를 서비스로 실행 시, Kerberos 키탭은 Driverless AI 사용자에 의해 소유되어야 합니다. 아닐 경우, Driverless AI가 Keytab을 읽고 액세스할 수 없고, 단순 인증으로 대체되기 때문에 실패합니다.
해당 예제:
머신의
/tmp/dtmp
폴더에 키탭을 배치하고, 아래의 설명과 같이 파일 경로를 제공하십시오.keytab이 생성된 사용자를 참조할 수 있도록 환경 변수
DRIVERLESS_AI_DTAP_APP_PRINCIPAL_USER
를 구성하십시오(보통 user@realm 형식으로).
nvidia-docker run \
--pid=host \
--init \
--rm \
--shm-size=256m \
-e DRIVERLESS_AI_ENABLED_FILE_SYSTEMS="file,dtap" \
-e DRIVERLESS_AI_DTAP_AUTH_TYPE='keytab' \
-e DRIVERLESS_AI_DTAP_KEY_TAB_PATH='tmp/<<keytabname>>' \
-e DRIVERLESS_AI_DTAP_APP_PRINCIPAL_USER='<<user@kerberosrealm>>' \
-p 12345:12345 \
-v /etc/passwd:/etc/passwd \
-v /tmp/dtmp/:/tmp \
-v /tmp/dlog/:/log \
-v /tmp/dlicense/:/license \
-v /tmp/ddata/:/data \
-u $(id -u):$(id -g) \
h2oai/dai-centos7-x86_64:1.10.1-cuda11.2.2.xx
해당 예제:
머신의
/tmp/dtmp
폴더에 키탭을 배치하고, 아래의 설명과 같이 파일 경로를 제공하십시오.keytab이 생성된 사용자를 참조할 수 있도록 옵션
dtap_app_prinicpal_user
를 구성하십시오(보통 user@realm 형식으로)
Driverless AI config.toml file 파일을 구성하십시오. 다음 구성 옵션을 설정하십시오:
enabled_file_systems = "file, upload, dtap"
dtap_auth_type = "keytab"
dtap_key_tab_path = "/tmp/<keytabname>"
dtap_app_principal_user = "<user@kerberosrealm>"
config.toml 파일을 Docker 컨테이너에 마운트하십시오.
nvidia-docker run \ --pid=host \ --init \ --rm \ --shm-size=256m \ --add-host name.node:172.16.2.186 \ -e DRIVERLESS_AI_CONFIG_FILE=/path/in/docker/config.toml \ -p 12345:12345 \ -v /local/path/to/config.toml:/path/in/docker/config.toml \ -v /etc/passwd:/etc/passwd:ro \ -v /etc/group:/etc/group:ro \ -v /tmp/dtmp/:/tmp \ -v /tmp/dlog/:/log \ -v /tmp/dlicense/:/license \ -v /tmp/ddata/:/data \ -u $(id -u):$(id -g) \ h2oai/dai-centos7-x86_64:1.10.1-cuda11.2.2.xx
해당 예제:
머신의
/tmp/dtmp
폴더에 키탭을 배치하고, 아래의 설명과 같이 파일 경로를 제공하십시오.keytab이 생성된 사용자를 참조할 수 있도록 옵션
dtap_app_prinicpal_user
를 구성하십시오(보통 user@realm 형식으로)
Driverless AI config.toml 파일을 내보내거나 ~/.bashrc에 추가합니다. 아래 예를 참조하십시오.
# DEB and RPM export DRIVERLESS_AI_CONFIG_FILE="/etc/dai/config.toml" # TAR SH export DRIVERLESS_AI_CONFIG_FILE="/path/to/your/unpacked/dai/directory/config.toml"
config.toml 파일에서 아래 구성 옵션을 지정하십시오.
# File System Support # file : local file system/server file system # dtap : Blue Data Tap file system, remember to configure the DTap section below enabled_file_systems = "file, dtap" # Blue Data DTap connector settings are similar to HDFS connector settings. # # Specify DTap Auth Type, allowed options are: # noauth : No authentication needed # principal : Authenticate with DTab with a principal user # keytab : Authenticate with a Key tab (recommended). If running # DAI as a service, then the Kerberos keytab needs to # be owned by the DAI user. # keytabimpersonation : Login with impersonation using a keytab dtap_auth_type = "keytab" # Path of the principal key tab file dtap_key_tab_path = "/tmp/<keytabname>" # Kerberos app principal user (recommended) dtap_app_principal_user = "<user@kerberosrealm>"
완료되면 변경 사항을 저장하고 Driverless AI를 중지/재시작하십시오.
예제 3: Keytab-기반 가장을 통해 DataTap 활성화¶
Notes:
Kerberos 사용 시, Driverless AI 시간이 Kerberos 서버와 동기화되었는지 확인하십시오.
Driverless AI를 서비스로 실행 시, Kerberos 키탭은 Driverless AI 사용자에 의해 소유되어야 합니다.
해당 예제:
머신의
/tmp/dtmp
폴더에 키탭을 배치하고, 아래의 설명과 같이 파일 경로를 제공하십시오.keytab이 생성된 사용자를 참조할 수 있도록
DRIVERLESS_AI_DTAP_APP_PRINCIPAL_USER
변수를 구성하십시오(보통 user@realm 형식으로)가장되는 사용자를 참조하는
DRIVERLESS_AI_DTAP_APP_LOGIN_USER
변수를 구성하십시오(보통 user@realm 형식으로).
# Docker instructions
nvidia-docker run \
--pid=host \
--init \
--rm \
--shm-size=256m \
-e DRIVERLESS_AI_ENABLED_FILE_SYSTEMS="file,dtap" \
-e DRIVERLESS_AI_DTAP_AUTH_TYPE='keytabimpersonation' \
-e DRIVERLESS_AI_DTAP_KEY_TAB_PATH='tmp/<<keytabname>>' \
-e DRIVERLESS_AI_DTAP_APP_PRINCIPAL_USER='<<appuser@kerberosrealm>>' \
-e DRIVERLESS_AI_DTAP_APP_LOGIN_USER='<<thisuser@kerberosrealm>>' \
-p 12345:12345 \
-v /etc/passwd:/etc/passwd \
-v /tmp/dtmp/:/tmp \
-v /tmp/dlog/:/log \
-v /tmp/dlicense/:/license \
-v /tmp/ddata/:/data \
-u $(id -u):$(id -g) \
h2oai/dai-centos7-x86_64:1.10.1-cuda11.2.2.xx
해당 예제:
머신의
/tmp/dtmp
폴더에 키탭을 배치하고, 아래의 설명과 같이 파일 경로를 제공하십시오.keytab이 생성된 사용자를 참조할 수 있도록
dtap_app_principal_user
변수를 구성하십시오(보통 user@realm 형식으로).가장되는 사용자를 참조하는
dtap_app_login_user
변수를 구성하십시오(보통 user@realm 형식으로).
Driverless AI config.toml file 파일을 구성하십시오. 다음 구성 옵션을 설정하십시오:
enabled_file_systems = "file, upload, dtap"
dtap_auth_type = "keytabimpersonation"
dtap_key_tab_path = "/tmp/<keytabname>"
dtap_app_principal_user = "<user@kerberosrealm>"
dtap_app_login_user = "<user@realm>"
config.toml 파일을 Docker 컨테이너에 마운트하십시오.
nvidia-docker run \ --pid=host \ --init \ --rm \ --shm-size=256m \ --add-host name.node:172.16.2.186 \ -e DRIVERLESS_AI_CONFIG_FILE=/path/in/docker/config.toml \ -p 12345:12345 \ -v /local/path/to/config.toml:/path/in/docker/config.toml \ -v /etc/passwd:/etc/passwd:ro \ -v /etc/group:/etc/group:ro \ -v /tmp/dtmp/:/tmp \ -v /tmp/dlog/:/log \ -v /tmp/dlicense/:/license \ -v /tmp/ddata/:/data \ -u $(id -u):$(id -g) \ h2oai/dai-centos7-x86_64:1.10.1-cuda11.2.2.xx
해당 예제:
머신의
/tmp/dtmp
폴더에 키탭을 배치하고, 아래의 설명과 같이 파일 경로를 제공하십시오.keytab이 생성된 사용자를 참조할 수 있도록
dtap_app_principal_user
변수를 구성하십시오(보통 user@realm 형식으로).가장되는 사용자를 참조하는
dtap_app_login_user
변수를 구성하십시오(보통 user@realm 형식으로).
Driverless AI config.toml 파일을 내보내거나 ~/.bashrc에 추가합니다. 아래 예를 참조하십시오.
# DEB and RPM export DRIVERLESS_AI_CONFIG_FILE="/etc/dai/config.toml" # TAR SH export DRIVERLESS_AI_CONFIG_FILE="/path/to/your/unpacked/dai/directory/config.toml"
config.toml 파일에서 아래 구성 옵션을 지정하십시오.
# File System Support # upload : standard upload feature # file : local file system/server file system # hdfs : Hadoop file system, remember to configure the HDFS config folder path and keytab below # dtap : Blue Data Tap file system, remember to configure the DTap section below # s3 : Amazon S3, optionally configure secret and access key below # gcs : Google Cloud Storage, remember to configure gcs_path_to_service_account_json below # gbq : Google Big Query, remember to configure gcs_path_to_service_account_json below # minio : Minio Cloud Storage, remember to configure secret and access key below # snow : Snowflake Data Warehouse, remember to configure Snowflake credentials below (account name, username, password) # kdb : KDB+ Time Series Database, remember to configure KDB credentials below (hostname and port, optionally: username, password, classpath, and jvm_args) # azrbs : Azure Blob Storage, remember to configure Azure credentials below (account name, account key) # jdbc: JDBC Connector, remember to configure JDBC below. (jdbc_app_configs) # hive: Hive Connector, remember to configure Hive below. (hive_app_configs) # recipe_url: load custom recipe from URL # recipe_file: load custom recipe from local file system enabled_file_systems = "file, dtap" # Blue Data DTap connector settings are similar to HDFS connector settings. # # Specify DTap Auth Type, allowed options are: # noauth : No authentication needed # principal : Authenticate with DTab with a principal user # keytab : Authenticate with a Key tab (recommended). If running # DAI as a service, then the Kerberos keytab needs to # be owned by the DAI user. # keytabimpersonation : Login with impersonation using a keytab dtap_auth_type = "keytabimpersonation" # Path of the principal key tab file dtap_key_tab_path = "/tmp/<keytabname>" # Kerberos app principal user (recommended) dtap_app_principal_user = "<user@kerberosrealm>" # Specify the user id of the current user here as user@realm dtap_app_login_user = "<user@realm>"
완료되면 변경 사항을 저장하고 Driverless AI를 중지/재시작하십시오.