본문으로 건너뛰기

변수 레퍼런스 — 데이터레이크가 읽는 것

데이터레이크 컨테이너가 실제로 읽는 변수만 모았습니다. 기본값의 정본은 컨테이너 안 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_KEYpd startexit 3 으로 멈추고 빠진 이름을 전부 나열합니다. compose 도 :? 로 요구해 스택이 아예 뜨지 않습니다
워커 추가PP_PG_REPLICA_PASSWORDWORKER 노드에서만 필수
선택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_MODEMASTERMASTER / WORKER. 워커는 worker-add.sh 가 정합니다노드 파일
PP_HOST_IP10.99.0.100 (compose 네트워크 고정 IP)이 컨테이너의 주소. 광고 주소의 바탕DOCKER_PP_IP
PP_MASTER_IPPP_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_TZen · Asia/Seoul언어 · 타임존사이드카

저장소

변수기본값호스트에서 바꿀 수 있나
PP_REDIS_USER · PP_REDIS_PORTredis · 6379계정명만 (포트는 아니오)
PP_PG_USER · PP_POSTGRES_PORT · PP_DB_NAMEplantpulse · 5432 · pp계정명 · DB 이름 (포트는 아니오)
PP_CASSANDRA_USER · PP_CASSANDRA_PORT · PP_KEYSPACEcassandra · 9042 · pp계정명 · 키스페이스 (포트는 아니오)
PP_MINIO_USER · PP_MINIO_PORT · PP_MINIO_BUCKETminio · 9000 · plantpulse계정명만
PP_PG_REPLICA_USERreplica사이드카

PP_KEYSPACE · PP_DB_NAME · PP_TOPIC_PREFIX 는 데이터레이크가 만들고 앱이 읽는 식별자라 양쪽에 같이 닿도록 compose 의 x-pp-secrets 앵커에 있습니다. 설치 뒤에 바꾸면 새 이름의 빈 저장소가 생기고 옛 데이터는 옛 이름에 남습니다.

분석 · 메시징 · 시계열 · 워크플로우

변수기본값호스트에서 바꿀 수 있나
PP_HIVE_USER · PP_HIVE_PORT · PP_HIVE_DBhive · 9083 · hive-metastore-230계정명만
PP_SPARK_USER · PP_SPARK_PORT · PP_SPARK_WEBUI_PORT · PP_KYUUBI_PORTspark · 7077 · 4440 · 10000계정명만
PP_GRAVITINO_USER · PP_GRAVITINO_ICEBERG_REST_PORTgravitino · 19001계정명만
PP_MQ_USER · PP_TOPIC_PREFIXmq · pp사이드카
PP_KAFKA_PORT · PP_KAFKA_TLS_PORT · PP_KAFKA_CONTROLLER_PORT9092 · 9094 · 9093아니오
PP_MQTT_PORT · PP_MQTT_TLS_PORT1883 · 1884아니오
PP_TSE_USER · PP_TSE_PORT · PP_TSE_TLS_PORT · PP_TSE_PROTOCOLtse · 7800 · 7801 · http계정명만
PP_TSE_DATAPOINT_TTL31536000 (365일)아니오 — 템플릿 편집
PP_TEMPORAL_USER · PP_TEMPORAL_PORTtemporal · 7233계정명만
PP_KESTRA_DB_USER · PP_KESTRA_ADMIN_EMAIL · PP_KESTRA_PORTkestra · admin@plantpulse.io · 8380계정명 · 이메일
PP_CEP_PORT · PP_CEP_TLS_PORT · PP_CEP_PROTOCOL7400 · 7401 · http아니오
PP_DATA_GATEWAY_PORT · PP_DATA_GATEWAY_TLS_PORT · PP_DATA_GATEWAY_PROTOCOL5500 · 5501 · http아니오
PP_TSE_DATAPOINT_TTL — 시계열 한 점의 수명

시계열 엔진이 쓰기마다 이 TTL 을 찍습니다(INSERT … USING TTL). 그래서 값을 바꾸면 새로 쓰는 행부터 적용되고, 이미 쓰인 행은 옛 값대로 만료됩니다. 올려도 되살아나지 않고 내려도 짧아지지 않습니다. 바꾸려면 /etc/kopens/conf/plantpulse-timeseries-engine.conf.template 을 고칩니다.

관리 콘솔 · 질의 콘솔

변수기본값호스트에서 바꿀 수 있나
PP_DATALAKE_ADMIN_USERadmin관리 콘솔 로그인 이름사이드카
PP_DATALAKE_ADMIN_PASSWORD사이드카가 정함관리 콘솔 비밀번호. 비면 콘솔만 꺼짐passwd.sh
PP_DATALAKE_ADMIN_API_KEY없음로그 엔드포인트의 X-API-Key. 비면 키 인증만 꺼짐passwd.sh
PP_DATALAKE_ADMIN_PORT4949컨테이너 안 listen 포트. 4950 은 같은 콘솔의 TLS아니오
PP_DATALAKE_ADMIN_LOGS_ENABLEDtruefalse 면 콘솔 로그 화면만 내려감사이드카
PP_DATA_GATEWAY_WEB_USER · PP_DATA_GATEWAY_WEB_PASSWORDadmin · 없음데이터 게이트웨이 콘솔(SQL) 로그인. 비면 그 콘솔만 닫힘사이드카
PP_CEP_WEB_USER · PP_CEP_WEB_PASSWORDadmin · 없음CEP 콘솔 로그인. 비면 그 콘솔만 닫힘사이드카
PP_BACKUP_SCHEDULE_ENABLEDtrue백업 타이머 전역 스위치사이드카

나머지 콘솔 설정 셋(PP_DATALAKE_ADMIN_PD_PATH · PP_DATALAKE_ADMIN_LOG_ROOT · PP_DATALAKE_ADMIN_BACKUP_HISTORY)은 compose 가 리터럴로 넣습니다. 바꿀 일이 없습니다.

TLS

변수기본값
PP_TLS_ENABLEDtrue마스터 스위치
PP_TLS_CERT_DIR/var/security/plantpulse인증서 디렉터리
PP_TLS_DOMAIN · PP_TLS_VALID_DAYSplantpulse.io · 3650인증서 도메인 · 유효기간
PP_TLS_SAN_IPS · PP_TLS_SAN_DNS호스트 IP · 호스트 이름인증서 SAN. 외부 접속 IP 를 반드시 포함
PP_TLS_NODE_NAMES · PP_MAX_WORKERSmaster worker-1 … worker-5 · 5워커마다 인증서 하나. 둘이 맞아야 빌드가 통과합니다

인증서 자체는 plantpulse-certs 컨테이너가 만듭니다 → 보안 설정

PD_ 로 시작하는 변수

PD_ 는 데이터레이크 «지역 변수» 입니다. 운영자가 정하는 것은 둘뿐이고 나머지 270여 개는 스크립트 내부 변수이거나 이미지가 굽는 스탬프입니다.

변수
PD_HOMEpd 가 사는 트리. 이미지가 정합니다
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 가 대는 출처가 거짓이 됩니다

관련 문서