Oracle NoSQL Database Analytics Integrator 실행
통합기에 대한 구성 파일 생성
Oracle NoSQL Database Analytics Integrator를 실행하려면 먼저 구성 파일을 생성해야 합니다. 이 구성 파일은 유틸리티를 호출할 때 사용됩니다. 구성 파일에는 아래 예와 같이 JSON 형식의 항목이 있어야 합니다. 다음은 두 가지 샘플 구성 파일입니다. 아래 사용된 일부 매개변수가 필요하지 않습니다. 아래 표에서는 예에서 사용 중인 모든 매개변수에 대해 설명하고 선택적 또는 필수인 경우 강조 표시합니다.
{
"nosqlstore": {
"type" : "nosqldb_cloud",
"endpoint" : "us-ashburn-1",
"useInstancePrincipal" : true,
"compartment" : <ocid.of.compartment.containing.nosql.tables>,
"table" : <tableName1,tableName2,tableName3>,
"readUnitsPercent" : "90,90,90",
"requestTimeoutMs" : "5000"
},
"objectstore" : {
"type" : "object_storage_oci",
"endpoint" : "us-ashburn-1",
"useInstancePrincipal" : true,
"compartment" : <ocid.of.compartment.containing.bucket>,
"bucket" : <bucket-name-objectstorage>,
"compression" : "snappy"
},
"database": {
"type" : "database_cloud",
"endpoint" : "us-ashburn-1",
"credentials" : "/home/opc/.oci/config",
"credentialsProfile" : <profile-for-adw-auth>,
"databaseName" : <database-name>,
"databaseUser" : "ADMIN",
"databaseWallet"” : <path-where-wallet-unzipped>
}
}
{
"nosqlstore": {
"type" : "nosqldb_cloud",
"endpoint" : "us-ashburn-1",
"credentials" : "/home/opc/.oci/config",
"credentialsProfile" : <nosqldb-user-credentials>,
"table" : <tableName1,tableName2,tableName3>,
"readUnitsPercent" : "90,90,90",
"requestTimeoutMs" : "5000"
},
"objectstore" : {
"type" : "object_storage_oci",
"endpoint" : "us-ashburn-1",
"credentials" : "/home/opc/.oci/config",
"credentialsProfile" : <objectstorage-user-credentials>,
"bucket" : <bucket-name-objectstorage>,
"compression" : "snappy"
},
"database": {
"type" : "database_cloud",
"endpoint" : "us-ashburn-1",
"credentials" : "/home/opc/.oci/config",
"credentialsProfile" : <adw-user-credentials>,
"databaseName" : <database-name>,
"databaseUser" : "ADMIN",
"databaseWallet" : <path-where-wallet-unzipped>
}
"abortOnError" : false
}
구성은 nosqlstore, 객체 저장소 및 데이터베이스의 세 섹션으로 구분됩니다. 이 섹션은 유틸리티가 각 클라우드 서비스(NoSQL Cloud Service, Oracle ObjectStorage 및 Oracle Autonomous Data Warehouse)와 상호 작용하는 방식을 지정하는 데 사용되는 항목입니다.
테이블 - 모든 섹션에 대한 공통 매개변수
매개변수 이름 | 매개변수 세부정보 |
---|---|
type | 현재 이 매개변수는 nosqldb_cloud (nosqlstore 섹션), object_storage_oci (객체 저장소 섹션) 및 database_cloud (데이터베이스 섹션)의 세 가지 값 중 하나를 사용할 수 있습니다.
|
endpoint | 이 항목의 값은 연관된 리소스가 있는 영역으로 설정되어야 합니다. 이 항목에 대해 지정된 값은 리소스에 대한 영역의 API 끝점 또는 영역 식별자일 수 있습니다. 예를 들어, 각 리소스가 미국 동부(애슈번) 지역에 있는 경우 각 섹션의 끝점 항목은 해당 지역의 식별자("US-ashburn-1") 또는 해당 지역의 API 끝점을 사용하여 원하는 서비스에 지정할 수 있습니다. |
표 - 구성 파일의 매개변수
매개변수 이름입니다 | 지정된 섹션 | 섹션 세부정보 |
---|---|---|
useInstancePrincipal |
nosqlstore(선택사항) objectstore(선택사항) |
다음 조건이 충족되는 경우 useInstancePrincipal 항목을 부울 값 true로 지정할 수 있습니다.
useInstancePrincipal 항목에 대해 true가 지정되고 인증서 항목도 지정된 경우 인증서 항목이 우선하며 해당 항목의 값에 참조된 사용자 인증서가 연관된 리소스와 상호 작용하는 데 사용됩니다.
주: ADW에 호스트된 Autonomous Database에는 사용자 인증서가 필요하므로 데이터베이스 섹션에서 사용자 인증서를 지정해야 합니다. |
구획 |
nosqlstore(선택사항) objectstore(선택사항) |
|
인증서 |
nosqlstore(선택사항) objectstore(선택사항) 데이터베이스(필수) |
모든 상황에서 데이터베이스 섹션에 인증서 항목이 필요합니다. 다음 상황 중 하나 이상에서 nosqlstore 및 objectstore 섹션에 필요합니다.
이 항목에 대해 지정된 값은 연관된 리소스와 안전하게 상호 작용하는 데 사용할 수 있는 사용자 자격 증명을 지정하는 로컬 파일 시스템의 파일을 참조해야 합니다. |
credentialsProfile |
nosqlstore(선택사항) objectstore(선택사항) database(선택사항) |
credentialsProfile 항목은 각 섹션에서 선택 사항이며, 지정된 경우에도 해당하는 자격 증명 항목도 지정된 경우에만 적용됩니다. |
테이블 | nosqlstore(필수) |
테이블 항목이 필요하며 nosqlstore 섹션에서 지정해야 합니다. 이 항목의 값은 콤마로 구분된 이름 목록으로 구성된 문자열입니다. 여기서 각 이름은 콘텐츠를 검색하여 Autonomous Data Warehouse로 복사해야 하는 NoSQL Database Cloud Service의 테이블 이름을 참조합니다. |
readUnitsPercent | nosqlstore(선택사항) |
readUnitsPercent 항목은 선택 사항이며 nosqlstore 섹션에만 적용할 수 있습니다. 이 항목의 값은 쉼표로 구분된 정수 목록으로 구성된 문자열로, 1에서 100 사이로 해당 테이블에서 데이터를 검색할 때 사용할 수 있는 읽기 단위의 백분율을 나타냅니다. 이 항목을 사용하면 테이블 항목에서 참조되는 각 테이블에 대해 서로 다른 읽기 단위 백분율을 지정할 수 있습니다. 여기서 목록의 첫번째 백분율은 테이블 리스트의 첫번째 테이블에 해당하고, 두번째 백분율은 두번째 테이블에 해당합니다. 이 목록의 백분율 수가 테이블 리스트의 테이블 수와 같을 필요는 없습니다. 기본값 90%는 이 목록에 해당하는 백분율이 없는 테이블 목록의 테이블에 지정됩니다. 예를 들어, 테이블 항목에 네 개의 테이블 이름이 지정되었지만 readUnitsPercent 항목이 "50,80" 값으로 설정된 경우 이 경우 첫번째 테이블의 데이터는 사용 가능한 읽기 단위의 50%를 사용하여 검색되지만 읽기 단위의 80%는 두번째 테이블에서 데이터를 검색할 때 사용됩니다. 마지막으로 나머지 두 테이블의 경우 각 테이블에서 데이터를 검색할 때 읽기 단위의 90%(기본값)가 사용됩니다. |
requestTimeoutMs | nosqlstore(선택사항) |
requestTimeoutMs 항목은 선택 사항이며 nosqlstore 섹션에만 적용할 수 있습니다. 이 항목의 값은 쉼표로 구분된 양수 정수 목록으로 구성된 문자열입니다. 여기서 각 정수는 해당 테이블에 대해 각 데이터 검색 요청이 완료될 때까지 허용되는 밀리초 수를 나타냅니다. 이 항목을 사용하면 테이블 항목에서 참조되는 각 테이블에 대해 서로 다른 시간 초과 값을 지정할 수 있습니다. 이 항목을 지정하지 않거나 이 항목이 테이블의 하위 집합에 대해서만 시간 초과를 지정하는 경우 기본값 5000이 나머지 테이블에 지정됩니다. |
버킷 | objectstore(필수) | 버킷 항목이 필요하며 객체 저장소 섹션에서 지정해야 합니다. 이 항목의 값은 유틸리티가 NoSQL 테이블에서 검색된 데이터를 복사하는 OCI Object Storage 버킷의 이름을 나타내는 문자열입니다. |
압축 | objectstore(선택사항) |
압축 항목은 선택 사항이며 objectstore 섹션에만 적용할 수 있습니다. 이 항목에 대해 지정된 값은 nosqlstore에 지정된 테이블에서 데이터를 검색하는 방법을 나타내는 문자열입니다. 설정하면 객체 스토리지에 복사할 때 테이블 데이터가 압축됩니다. 이 항목에 대해 지정된 값은 다음 중 하나여야 합니다.
주: 압축 항목을 지정하지 않으면 snappy 압축이 수행됩니다. |
databaseName | 데이터베이스(필수) | dabaseName 항목은 필수이며 데이터베이스 섹션에서 지정해야 합니다. 이 항목은 값이 Oracle Autonomous Data Warehouse Cloud Service에서 생성된 데이터베이스의 이름인 문자열입니다. |
databaseUser | database(선택사항) |
databaseUser 항목은 선택 사항이며 데이터베이스 섹션에서 지정해야 합니다. 이 항목은 값이 dabaseName 항목에 지정된 Autonomous Database의 사용자 계정 이름인 문자열입니다. 이 항목을 지정하지 않으면 명령행에 값을 제공하라는 메시지가 나타납니다. |
databaseWallet | 데이터베이스(필수) | databaseWallet 항목은 필수이며 데이터베이스 섹션에서 지정해야 합니다. 이 항목은 값이 구성 파일의 databaseUser 항목에 지정된 Autonomous Database 사용자 계정에서 다운로드한 Oracle Wallet의 내용을 포함하는 디렉토리의 파일 시스템 경로인 문자열입니다.
|
abortOnError | 선택사항 | 오류 발생 시 수행할 작업을 지정합니다. 기본값은 true입니다. |
주:
시스템 등록 정보를 section.entry 형식(예: -Dnosqlstore.table=tableName1,tableName3
)으로 설정하여 구성 파일의 각 항목을 명령줄에서 대체할 수 있습니다. 항목이 섹션 내에 없는 경우 해당 속성에 사용할 이름은 단순히 항목 자체의 이름입니다(예: -DabortOnError=false.
). 이 기능은 정기적으로 유틸리티를 실행하는 스크립트를 테스트하거나 작성할 때 유용할 수 있습니다.
인증서 파일에 구성 정보 지정:
Oracle Cloud Infrastructure에는 구성 파일에 지정할 수 있는 사용자 인증서, 테넌시 OCID 등과 같은 기본 구성 정보가 필요합니다. 이 구성 파일의 기본 위치는 ~/.oci입니다. 이 구성 파일에 여러 사용자 자격 증명 세트를 지정할 수 있습니다.
[DEFAULT]
user=<ocid.of.default.user>
fingerprint=<fingerprint.of.default.user>
key_file=<path.to.default.user.oci.api.private.key.file.pem>
tenancy=<ocid.of.default.user.tenancy>
region=us-ashburn-1
compartment=<ocid.of.default.compartment>
[nosqldb-user-credentials]
user=<ocid.of.nosqldb.user>
fingerprint=<fingerprint.of.nosqldb.user>
key_file=<path.to.nosqldb.user.oci.api.private.key.file.pem>
tenancy=<ocid.of.nosqldb.user.tenancy>
region=us-ashburn-1
compartment=<ocid.of.nosqldb.compartment>
[objectstorage-user-credentials]
user=<ocid.of.objectstorage.user>
fingerprint=<fingerprint.of.objectstorage.user>
key_file=<path.to.objectstorage.user.oci.api.private.key.file.pem>
tenancy=<ocid.of.objectstorage.user.tenancy>
region=us-ashburn-1
compartment=<ocid.of.objectstorage.compartment>
[adw-user-credentials]
user=<ocid.of.adw.user>
fingerprint=<fingerprint.of.adw.user>
key_file=<path.to.adw.user.oci.api.private.key.file.pem>
tenancy=<ocid.of.adw.user.tenancy>
region=us-ashburn-1
compartment=<ocid.of.adw.compartment>
dbmsOcid=<ocid.of.autonomous.database.in.adw>
dbmsCredentialName=<OCI$RESOURCE_PRINCIPAL or NOSQLADWDB_OBJ_STORE_CREDENTIAL>
주:
위의 구성 파일에는 nosql-db-user, objectstorage-user 및 adw-user에 대한 세 가지 개별 항목이 있습니다. 필수는 아니며 DEFAULT 프로파일이 하나만 있는 구성 파일이 존재할 수 있습니다. 그러나 DEFAULT 프로파일에서 모든 파라미터를 결합하는 대신 별도의 프로파일을 갖는 것이 좋습니다.테이블 - 인증서 파일의 매개변수
매개변수 이름 | 매개변수 세부정보 |
---|---|
user | 사용자의 OCID |
지문 | 기본 사용자에 대해 더 긴 공개 키를 식별하는 데 사용되는 짧은 바이트 순서입니다. |
키 파일 | 기본 사용자의 개인 키를 포함하는 파일의 경로/파일 이름 |
테니스 | 테러리즘 |
영역 | 영역의 끝점 |
구획 | 기본 사용자의 구획 이름 또는 OCID |
dbmsOcid | Autonomous Database의 OCID |
dbmsCredentialName |
ADW 데이터베이스가 오브젝트 스토리지로 인증하는 데 사용할 인증서의 이름입니다. |
도구 실행
- 설치 디렉토리
(/home/opc/nosqlanalytics-<version>)
아래의 nosqlanalytics 디렉토리로 이동합니다.cd /home/opc/nosqlanalytics-1.0.1/nosqlanalytics
- 다음 명령을 사용하여 유틸리티를 호출합니다. 구성 파일
oci-nosqlanalytics-config.json
는 홈 디렉토리 내의.oci
디렉토리 아래에 있습니다.java -Djava.util.logging.config.file=./src/main/resources/logging/java-util-logging.properties -Dlog4j.configurationFile=file:./src/main/resources/logging/log4j2-analytics.properties -jar ./lib/nosqlanalytics-1.0.1.jar -config ~/.oci/oci-nosqlanalytics-config.json
주:
실행 중 사용되는 로거를 구성하는 시스템 등록 정보는 선택 사항입니다. 이러한 시스템 등록 정보를 지정하지 않으면 유틸리티가 로깅 출력을 생성하지 않습니다.로깅
java.util.logging
를 기반으로 로깅 방식을 구성하고 다른 하나는 Log4j2
를 기반으로 로거를 구성합니다.
주:
기본적으로 유틸리티와 함께 제공되는 로거 구성 파일은 유틸리티가 실행될 때 출력을 최소화하도록 설계되었습니다. 그러나 유틸리티가 사용하는 다양한 구성 요소의 상세 정보 출력을 보려면 분석할 동작이 있는 특정 로거의 로깅 레벨을 높여야 합니다.