Install¶
설치는 기본 가이드 대로 하면 쉽습니다. 하지만, 싱글은 yaml을 쓰지 않고, 분산일때 yaml 쓰기때문에 설정을 자신의 환경에 맞게 고쳐야 합니다.
Config¶
Config에 대한 가이드는 아래 경로에 있습니다. https://github.com/metatron-app/metatron-discovery/blob/0dca7449f19826d13a3b2b823ac4b0dd46d5305f/discovery-server/src/main/asciidoc/application-config-guide.adoc
metatron 응용 프로그램 구성은 yaml 형식으로 구성되어 있습니다. 배포 바이너리에서 제공하는 “application-config.templete.yaml”파일이 예제로 제공되며 아래 정보를 기반으로 세부 설정을 지정할 수 있습니다.
common-properties¶
Metatron Discovery의 일반적인 속성은 Spring Boot 구성에 따라 다릅니다. 따라서 추가 설정이 필요한 경우 https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/html/common-application-properties.html[link]를 참조하시기 바랍니다.
source, yaml¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 spring: http: multipart: # Used to adjust the maximum size when uploading files max-file-size: 300Mb max-request-size: 300Mb # The default value is set according to the setting of the METATRON_DB_TYPE value(h2 or mysql) in metatron-env.sh. # If you want additional configuration, it is recommended to manage only connection pool or jpa related properties. # If you want to set up a new data source type, you can change it from the 'platform' property. datasource: platform: mysql driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/polaris_v2?useUnicode=true&characterEncoding=utf8 username: polaris password: polaris # Below is the connection pool related configuration. max-active: 50 max-idle: 10 min-idle: 10 initial-size: 10 test-on-borrow: false test-on-return: false test-while-idle: true max-wait: 1000 validation-query: SELECT 1 jpa: show-sql: false properties: hibernate: jdbc: batch_size: 25 order_inserts: true order_updates: true dialect: org.hibernate.dialect.MySQL5InnoDBDialect server: port: 8180 # If you want to change the port tomcat: ajp: # You can allow ajp connection with the following settings. enabled: false protocol: AJP/1.3 port: 8280 logging: # If you want to set up a separate log, create a separate file to specify the path to the file. # Please refer to https://logback.qos.ch/manual/configuration.html config: classpath:logback-console.xml mail: # Mail(SMTP) server properties host: localhost port: 25 username: password:
app-properties¶
어플리케이션 관련 속성 앞에는 “polaris”가 붙고 도메인별로 분류됩니다.
source, yaml¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 polaris: format: # Specify a datetime format that is recommended when performing validation on a column of type timestamp. datetimes: - 'yy-MM-dd' - 'dd/MM/yyyy' storage: # The stagedb concept is internally used as an intermediary processing medium when processing large amounts of data # when ingesting or transforming data in an application. We are using hive and specify the information related to it. stagedb: hostname: localhost # for hiveserver port: 10000 # for hiveserver username: hive # for hiveserver password: hive # for hiveserver metastore: # specify additional information when you want to get more information such as partitions. uri: thrift://localhost:9083 jdbc: url: jdbc:mysql://metatron-web-01:3306/hive username: hive password: hive engine: # Specify representative access url by engine node, application requires only 3 nodes hostname: broker: http://localhost:8082 overlord: http://localhost:8090 coordinator: http://localhost:8081 ingestion: # Used when forwarding files from an application to an engine cluster when loading local files loader: remoteType: SSH # "LOCAL" is the default value, but if the engine is configured as a separate cluster, use "SSH" mode for remote communication. localBaseDir: ${java.io.tmpdir:-/tmp} remoteDir: ${java.io.tmpdir:-/tmp} # Specifies the host information where the middle manager node is located. hosts: middlemanager01: # It must be the hostname recognized by the engine. Refer to the worker hostname on the engine console. port: 22 username: metatron password: pem:${METATRON_HOME}/pem/user-metatron.pem # Specify "pem" prefix and pem file location if you use pem file when connecting to remote host "[middlemanager.01]": # If the host name contains "." If included, display like this port: 22 username: metatron password: metatron_password query: loader: # Unlike in "ingestion", when downloading query results, it is used to transfer download file generated by engine to application remoteType: LOCAL localBaseDir: ${java.io.tmpdir:-/tmp} datasource: ingestion: retries: # Retry properties used when checking the status of engine when ingestion delay: 3 maxDelay: 90 maxDuration : 3600 mail: # Additional information for mail notifications admin: admin@metatron.com # Specify representative manager email baseUrl: http://localhost:8180 # Specify connection url for linking metatron contents in mail workbench: defaultResultSize: 1000 # Row number of results to display by default on the screen maxResultSize: 1000000 # The maximum row number of results that a user can specify maxFetchSize: 1000 # Fetch size when loading sql results, only applies to supported db library tempCSVPath: /tmp # Specify a directory to temporarily store query results dataprep: localBaseDir: ${user.home}/dataprep # Where uploaded files, local file snapshots, serialized previews are stored hadoopConfDir: /etc/hadoop # Set $HADOOP_CONF_DIR stagingBaseDir: hdfs://localhost:9000/user/hive/dataprep # Where uploaded files, HDFS file snapshots, files for Hive external tables are stored sampling: timeout: 20 # Timeout for rule edit sessions etl: timeout: 36000 # Timeout for generating snapshots extensions: lnb: # Specify the menu to add to the LNB. - name: one depth menu # Specify 1st depth menu name parent: ROOT # Specify "ROOT" to be on the top menu. In the case of "ROOT", it is displayed in the LNB if a lower depth menu exists. permissions: - PERM_NAME # Specify a list of PERM_NAME. If not specified, all users can access. - name: two depth menu # Specify 2nd depth menu name parent: one depth menu # Specify the parent menu name including "management" and "administration". If the menu name of the upper depth does not exist, it is not displayed. subContents: menu name: URL # Specify the menu name as key and the URL(http://~~) to link to as value. permissions: - PERM_NAME # Specify a list of PERM_NAME. If not specified, all users with permissions in the upper depth menu can access. - name: Engine Monitoring # for Engine(Druid) Monitoring permissions: - PERM_NAME # Specify a list of PERM_NAME. If not specified, all users with permissions in the upper depth menu can access.