Tôi đã có thiết lập sau cho Máy chủ Hive cục bộ với Hadoop:
phiên bản: "3"
dịch vụ:
nút tên:
hình ảnh: bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8
container_name: nút tên
khởi động lại: luôn luôn
cổng:
- 9870:9870
- 9000:9000
khối lượng:
- ./hdfs/namenode:/hadoop/dfs/name
môi trường:
- CLUSTER_NAME=kiểm tra
env_file:
- ./hadoop.env
nút dữ liệu:
hình ảnh: bde2020/hadoop-datanode:2.0.0-hadoop3.2.1-java8
container_name: nút dữ liệu
khởi động lại: luôn luôn
khối lượng:
- ./hdfs/datanode:/hadoop/dfs/data
môi trường:
SERVICE_PRECONDITION: "nút tên:9870"
env_file:
- ./hadoop.env
máy chủ tổ ong:
hình ảnh: bde2020/hive:2.3.2-postgresql-metastore
container_name: hive-server
khối lượng:
- ./nhân viên:/nhân viên
env_file:
- ./hadoop-hive.env
môi trường:
HIVE_CORE_CONF_javax_jdo_option_ConnectionURL: "jdbc:postgresql://hive-metastore/metastore"
SERVICE_PRECONDITION: "hive-metastore:9083"
cổng:
- "10000:10000"
hive-di căn:
hình ảnh: bde2020/hive:2.3.2-postgresql-metastore
env_file:
- ./hadoop-hive.env
lệnh: /opt/hive/bin/hive --service di căn
môi trường:
SERVICE_PRECONDITION: "nút tên:9000 nút tên:9870 hive-metastore-postgresql:5432"
cổng:
- "9083:9083"
tổ ong-metastore-postgresql:
hình ảnh: bde2020/hive-metastore-postgresql:2.3.0
điều phối viên ưu tiên:
hình ảnh: shawnzhu/prestodb:0.181
cổng:
- "8080:8080"
Tôi bắt đầu mọi thứ với docker-compose và nó hoạt động tốt
. tôi vào hive-server
thùng đựng hàng.
docker exec -it hive-server/bin/bash
tôi chạy tổ ong -f employee_table.sql
để tạo một lược đồ trong Hive.
Sau đó, tôi lưu trữ một ít .csv trong Hadoop:
hadoop fs -put employee.csv hdfs://namenode:9000/user/hive/warehouse/testdb.db/employee
Điều này cũng hoạt động và sau khi tôi chạy docker-compose down
Tôi khởi động lại dịch vụ và tất cả dữ liệu tôi đã chèn trước đó đã biến mất. Tôi không thực sự hiểu điều này, thậm chí tôi có thể xem các tệp trong thư mục con sau:
hdfs\datanode\current\BP-267128047-172.27.0.7-1633966854402\current\Finalized\subdir0\subdir0
Tôi làm gì sai ở đây? Có gì đó không ổn với khối lượng của tôi? Cảng?