Am următoarea configurare pentru un Hive-Server local cu Hadoop:
versiunea: "3"
Servicii:
namenode:
imagine: bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8
container_name: namenode
reporniți: întotdeauna
porturi:
- 9870:9870
- 9000:9000
volume:
- ./hdfs/namenode:/hadoop/dfs/name
mediu inconjurator:
- CLUSTER_NAME=test
env_file:
- ./hadoop.env
datanode:
imagine: bde2020/hadoop-datanode:2.0.0-hadoop3.2.1-java8
container_name: datanode
reporniți: întotdeauna
volume:
- ./hdfs/datanode:/hadoop/dfs/data
mediu inconjurator:
SERVICE_PRECONDITION: „namenode:9870”
env_file:
- ./hadoop.env
hive-server:
imagine: bde2020/hive:2.3.2-postgresql-metastore
container_name: hive-server
volume:
- ./angajat:/angajat
env_file:
- ./hadoop-hive.env
mediu inconjurator:
HIVE_CORE_CONF_javax_jdo_option_ConnectionURL: „jdbc:postgresql://hive-metastore/metastore”
SERVICE_PRECONDITION: „hive-metastore:9083”
porturi:
- „10000:10000”
hive-metastore:
imagine: bde2020/hive:2.3.2-postgresql-metastore
env_file:
- ./hadoop-hive.env
comandă: /opt/hive/bin/hive --service metastore
mediu inconjurator:
SERVICE_PRECONDITION: „namenode:9000 namenode:9870 hive-metastore-postgresql:5432”
porturi:
- „9083:9083”
hive-metastore-postgresql:
imagine: bde2020/hive-metastore-postgresql:2.3.0
presto-coordonator:
imagine: shawnzhu/prestodb:0.181
porturi:
- „8080:8080”
Încep totul cu docker-compose și funcționează bine
. intru in hive-server
recipient.
docker exec -it hive-server /bin/bash
alerg stup -f tabel_angajați.sql
pentru a crea o schemă în Hive.
Apoi stochez puțin .csv în Hadoop:
hadoop fs -put employee.csv hdfs://namenode:9000/user/hive/warehouse/testdb.db/employee
Functioneaza si asta si dupa ce alerg docker-compose jos
Repornesc serviciile și toate datele pe care le-am introdus înainte au dispărut. Nu prea înțeleg asta, chiar pot vedea fișierele din următorul subdirector:
hdfs\datanode\current\BP-267128047-172.27.0.7-1633966854402\current\finalized\subdir0\subdir0
Ce greșesc aici? Este ceva în neregulă cu volumele mele? Porturi?