변수 레퍼런스 — 데이터레이크가 읽는 것
데이터레이크 컨테이너가 실제로 읽는 변수만 모았습니다. 기본값의 정본은 컨테이너 안 plantpulse-datalake-cli/config/defaults.env 이고, 호스트에서 넘어온 값이 그것을 이깁니다. 호스트 쪽 값 전체(DOCKER_* 포함)는 환경 변수 레퍼런스에 있습니다.
아래 표의 «호스트에서 바꿀 수 있나» 열이 아니오인 변수는 사이드카에 적어도 컨테이너에 들어가지 않습니다. compose 가 그 이름을 데이터레이크에 넘기지 않기 때문입니다. 그 값은 defaults.env 나 템플릿이 정합니다.
시크릿 — 없으면 어떻게 되나
pd 가 아는 시크릿은 세 목록입니다. 값은 어디에도 기본값이 없고, 사이드카 → compose → 환경변수로만 들어옵니다.
| 목록 | 변수 | 없으면 |
|---|---|---|
| 필수 | PP_REDIS_PASSWORD PP_PG_PASSWORD PP_CASSANDRA_PASSWORD PP_MINIO_PASSWORD PP_MQ_PASSWORD PP_TSE_PASSWORD PP_SPARK_PASSWORD PP_HIVE_PASSWORD PP_GRAVITINO_PASSWORD PP_TEMPORAL_PASSWORD PP_KESTRA_DB_PASSWORD PP_KESTRA_ADMIN_PASSWORD PP_TLS_KEYSTORE_PASSWORD PP_CEP_API_KEY PP_DATA_GATEWAY_API_KEY | pd start 가 exit 3 으로 멈추고 빠진 이름을 전부 나열합니다. compose 도 :? 로 요구해 스택이 아예 뜨지 않습니다 |
| 워커 추가 | PP_PG_REPLICA_PASSWORD | WORKER 노드에서만 필수 |
| 선택 | PP_DATALAKE_ADMIN_PASSWORD PP_DATALAKE_ADMIN_API_KEY PP_DATA_GATEWAY_WEB_PASSWORD PP_CEP_WEB_PASSWORD | 그 기능 하나만 꺼집니다. 스택은 정상 기동. pd doctor 가 이름을 말해 줍니다 |
바꾸는 방법은 비밀번호 · API 키 바꾸기에 있습니다. 파생값 셋(PP_TLS_TRUSTSTORE_PASSWORD · PP_REDIS_TRUSTSTORE_PASSWORD · PP_MQ_TRUSTSTORE_PASSWORD)은 keystore 비밀번호에서 만들어지며 따로 정하지 않습니다.
노드 · 주소
| 변수 | 기본값 | 뜻 | 호스트에서 바꿀 수 있나 |
|---|---|---|---|
PP_MODE | MASTER | MASTER / WORKER. 워커는 worker-add.sh 가 정합니다 | 노드 파일 |
PP_HOST_IP | 10.99.0.100 (compose 네트워크 고정 IP) | 이 컨테이너의 주소. 광고 주소의 바탕 | DOCKER_PP_IP 로 |
PP_MASTER_IP | PP_HOST_IP | 다른 박스가 이 데이터레이크에 붙는 주소 | 노드 파일 |
PP_SERVICE_IP | 빈 값 | NAT 뒤의 공인 IP. TLS SAN 에 들어갑니다 | 노드 파일 DOCKER_PP_EXTERNAL_IP |
PP_KAFKA_ADVERTISED_HOST | 기동 때 유도 | Kafka 가 클라이언트에 알리는 주소 | 노드 파일 (NAT · 제2 인터페이스일 때만) |
PP_CLUSTER_CORES | 호스트 코어 − 2 (4 ~ 30) | Spark 등에 알리는 코어 수 | DOCKER_PP_CLUSTER_CORES |
PP_DATA_DISK_NAME | 호스트에서 감지 | 디스크 사용률을 잴 장치 | DOCKER_PP_DATA_DISK_NAME |
PP_DATA_DIR · PP_TEMP_DIR · PP_BACKUP_DIR | /data1/pp-data · /data1/pp-temp · /data1/pp-backup | 볼륨 마운트 위치 | 아니오 (compose 리터럴) |
PP_LANG · PP_TZ | en · Asia/Seoul | 언어 · 타임존 | 사이드카 |
저장소
| 변수 | 기본값 | 호스트에서 바꿀 수 있나 |
|---|---|---|
PP_REDIS_USER · PP_REDIS_PORT | redis · 6379 | 계정명만 (포트는 아니오) |
PP_PG_USER · PP_POSTGRES_PORT · PP_DB_NAME | plantpulse · 5432 · pp | 계정명 · DB 이름 (포트는 아니오) |
PP_CASSANDRA_USER · PP_CASSANDRA_PORT · PP_KEYSPACE | cassandra · 9042 · pp | 계정명 · 키스페이스 (포트는 아니오) |
PP_MINIO_USER · PP_MINIO_PORT · PP_MINIO_BUCKET | minio · 9000 · plantpulse | 계정명만 |
PP_PG_REPLICA_USER | replica | 사이드카 |
PP_KEYSPACE · PP_DB_NAME · PP_TOPIC_PREFIX 는 데이터레이크가 만들고 앱이 읽는 식별자라 양쪽에 같이 닿도록 compose 의 x-pp-secrets 앵커에 있습니다. 설치 뒤에 바꾸면 새 이름의 빈 저장소가 생기고 옛 데이터는 옛 이름에 남습니다.
분석 · 메시징 · 시계열 · 워크플로우
| 변수 | 기본값 | 호스트에서 바꿀 수 있나 |
|---|---|---|
PP_HIVE_USER · PP_HIVE_PORT · PP_HIVE_DB | hive · 9083 · hive-metastore-230 | 계정명만 |
PP_SPARK_USER · PP_SPARK_PORT · PP_SPARK_WEBUI_PORT · PP_KYUUBI_PORT | spark · 7077 · 4440 · 10000 | 계정명만 |
PP_GRAVITINO_USER · PP_GRAVITINO_ICEBERG_REST_PORT | gravitino · 19001 | 계정명만 |
PP_MQ_USER · PP_TOPIC_PREFIX | mq · pp | 사이드카 |
PP_KAFKA_PORT · PP_KAFKA_TLS_PORT · PP_KAFKA_CONTROLLER_PORT | 9092 · 9094 · 9093 | 아니오 |
PP_MQTT_PORT · PP_MQTT_TLS_PORT | 1883 · 1884 | 아니오 |
PP_TSE_USER · PP_TSE_PORT · PP_TSE_TLS_PORT · PP_TSE_PROTOCOL | tse · 7800 · 7801 · http | 계정명만 |
PP_TSE_DATAPOINT_TTL | 31536000 (365일) | 아니오 — 템플릿 편집 |
PP_TEMPORAL_USER · PP_TEMPORAL_PORT | temporal · 7233 | 계정명만 |
PP_KESTRA_DB_USER · PP_KESTRA_ADMIN_EMAIL · PP_KESTRA_PORT | kestra · admin@plantpulse.io · 8380 | 계정명 · 이메일 |
PP_CEP_PORT · PP_CEP_TLS_PORT · PP_CEP_PROTOCOL | 7400 · 7401 · http | 아니오 |
PP_DATA_GATEWAY_PORT · PP_DATA_GATEWAY_TLS_PORT · PP_DATA_GATEWAY_PROTOCOL | 5500 · 5501 · http | 아니오 |
PP_TSE_DATAPOINT_TTL — 시계열 한 점의 수명시계열 엔진이 쓰기마다 이 TTL 을 찍습니다(INSERT … USING TTL). 그래서 값을 바꾸면 새로 쓰는 행부터 적용되고, 이미 쓰인 행은 옛 값대로 만료됩니다. 올려도 되살아나지 않고 내려도 짧아지지 않습니다. 바꾸려면 /etc/kopens/conf/plantpulse-timeseries-engine.conf.template 을 고칩니다.
관리 콘솔 · 질의 콘솔
| 변수 | 기본값 | 뜻 | 호스트에서 바꿀 수 있나 |
|---|---|---|---|
PP_DATALAKE_ADMIN_USER | admin | 관리 콘솔 로그인 이름 | 사이드카 |
PP_DATALAKE_ADMIN_PASSWORD | 사이드카가 정함 | 관리 콘솔 비밀번호. 비면 콘솔만 꺼짐 | passwd.sh |
PP_DATALAKE_ADMIN_API_KEY | 없음 | 로그 엔드포인트의 X-API-Key. 비면 키 인증만 꺼짐 | passwd.sh |
PP_DATALAKE_ADMIN_PORT | 4949 | 컨테이너 안 listen 포트. 4950 은 같은 콘솔의 TLS | 아니오 |
PP_DATALAKE_ADMIN_LOGS_ENABLED | true | false 면 콘솔 로그 화면만 내려감 | 사이드카 |
PP_DATA_GATEWAY_WEB_USER · PP_DATA_GATEWAY_WEB_PASSWORD | admin · 없음 | 데이터 게이트웨이 콘솔(SQL) 로그인. 비면 그 콘솔만 닫힘 | 사이드카 |
PP_CEP_WEB_USER · PP_CEP_WEB_PASSWORD | admin · 없음 | CEP 콘솔 로그인. 비면 그 콘솔만 닫힘 | 사이드카 |
PP_BACKUP_SCHEDULE_ENABLED | true | 백업 타이머 전역 스위치 | 사이드카 |
나머지 콘솔 설정 셋(PP_DATALAKE_ADMIN_PD_PATH · PP_DATALAKE_ADMIN_LOG_ROOT · PP_DATALAKE_ADMIN_BACKUP_HISTORY)은 compose 가 리터럴로 넣습니다. 바꿀 일이 없습니다.
TLS
| 변수 | 기본값 | 뜻 |
|---|---|---|
PP_TLS_ENABLED | true | 마스터 스위치 |
PP_TLS_CERT_DIR | /var/security/plantpulse | 인증서 디렉터리 |
PP_TLS_DOMAIN · PP_TLS_VALID_DAYS | plantpulse.io · 3650 | 인증서 도메인 · 유효기간 |
PP_TLS_SAN_IPS · PP_TLS_SAN_DNS | 호스트 IP · 호스트 이름 | 인증서 SAN. 외부 접속 IP 를 반드시 포함 |
PP_TLS_NODE_NAMES · PP_MAX_WORKERS | master worker-1 … worker-5 · 5 | 워커마다 인증서 하나. 둘이 맞아야 빌드가 통과합니다 |
인증서 자체는 plantpulse-certs 컨테이너가 만듭니다 → 보안 설정
PD_ 로 시작하는 변수
PD_ 는 데이터레이크 «지역 변수» 입니다. 운영자가 정하는 것은 둘뿐이고 나머지 270여 개는 스크립트 내부 변수이거나 이미지가 굽는 스탬프입니다.
| 변수 | 뜻 |
|---|---|
PD_HOME | pd 가 사는 트리. 이미지가 정합니다 |
PD_OPTIONS | 컴포넌트 on/off JSON — {"enable-hive": false}. 생략한 키는 켜짐. 현재 compose 스택은 이 값을 컨테이너에 넘기지 않습니다 → FAQ |
PD_IMAGE_TAG · PD_IMAGE_BUILD_VERSION · PD_IMAGE_BUILT_AT · PD_IMAGE_VCS_REF | 이미지 스탬프. 손대지 마세요 — pd env · pd doctor 가 대는 출처가 거짓이 됩니다 |
관련 문서
- 환경 변수 레퍼런스 — 호스트 쪽 전체
- 설정 파일은 어디 있나
- 설정 바꾸는 법