ฉันมีการตั้งค่าต่อไปนี้สำหรับ Hive-Server ในเครื่องด้วย Hadoop:
รุ่น: "3"
บริการ:
เนมโหนด:
รูปภาพ: bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8
container_name: เนมโหนด
รีสตาร์ท: เสมอ
พอร์ต:
- 9870:9870
- 9000:9000
ปริมาณ:
- ./hdfs/namenode:/hadoop/dfs/name
สิ่งแวดล้อม:
- CLUSTER_NAME=ทดสอบ
env_file:
- ./hadoop.env
โหนดข้อมูล:
รูปภาพ: bde2020/hadoop-datanode:2.0.0-hadoop3.2.1-java8
container_name: โหนดข้อมูล
รีสตาร์ท: เสมอ
ปริมาณ:
- ./hdfs/datanode:/hadoop/dfs/data
สิ่งแวดล้อม:
SERVICE_PRECONDITION: "ชื่อโหนด:9870"
env_file:
- ./hadoop.env
กลุ่มเซิร์ฟเวอร์:
รูปภาพ: bde2020/hive:2.3.2-postgresql-metastore
container_name: เซิร์ฟเวอร์ไฮฟ์
ปริมาณ:
- ./พนักงาน:/พนักงาน
env_file:
- ./hadoop-hive.env
สิ่งแวดล้อม:
HIVE_CORE_CONF_javax_jdo_option_ConnectionURL: "jdbc:postgresql://hive-metastore/metastore"
SERVICE_PRECONDITION: "รัง-metastore:9083"
พอร์ต:
- "10,000:10,000"
รัง metastore:
รูปภาพ: bde2020/hive:2.3.2-postgresql-metastore
env_file:
- ./hadoop-hive.env
คำสั่ง: /opt/hive/bin/hive --service metastore
สิ่งแวดล้อม:
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 กลุ่ม-metastore-postgresql:5432"
พอร์ต:
- "9083:9083"
กลุ่ม metastore-postgresql:
รูปภาพ: bde2020/hive-metastore-postgresql:2.3.0
ผู้ประสานงานล่วงหน้า:
ภาพ: shawnzhu/prestodb:0.181
พอร์ต:
- "8080:8080"
ฉันเริ่มต้นทุกอย่างด้วย docker-compose และใช้งานได้ดี
. ฉันเข้าสู่ รังเซิร์ฟเวอร์
คอนเทนเนอร์.
นักเทียบท่า exec -it hive-server /bin/bash
ฉันวิ่ง ไฮฟ์ -f Employee_table.sql
เพื่อสร้างสคีมาใน Hive
จากนั้นฉันเก็บ .csv เล็กน้อยใน Hadoop:
hadoop fs - ใส่ Employee.csv hdfs://namenode:9000/user/hive/warehouse/testdb.db/employee
นอกจากนี้ยังใช้งานได้และหลังจากที่ฉันวิ่ง นักเทียบท่าเขียนลง
ฉันเริ่มบริการใหม่และข้อมูลทั้งหมดที่ฉันใส่ไว้ก่อนหน้านี้หายไป ฉันไม่เข้าใจสิ่งนี้จริงๆ ฉันยังสามารถดูไฟล์ในไดเร็กทอรีย่อยต่อไปนี้:
hdfs\datanode\current\BP-267128047-172.27.0.7-1633966854402\current\finalized\subdir0\subdir0
ฉันทำอะไรผิดที่นี่? มีบางอย่างผิดปกติกับวอลุ่มของฉันหรือไม่? พอร์ต?