diff --git a/dev/docker/hive/Dockerfile b/dev/docker/hive/Dockerfile index 92a14092912..eb4def10560 100644 --- a/dev/docker/hive/Dockerfile +++ b/dev/docker/hive/Dockerfile @@ -155,7 +155,11 @@ RUN rm -rf /tmp/packages ################################################################################ # expose port +<<<<<<< Updated upstream EXPOSE 22 3306 8088 9000 9083 10000 10002 50070 50075 +======= +EXPOSE 22 8088 9000 9083 10000 10002 50070 50075 50010 +>>>>>>> Stashed changes ################################################################################ # create startup script and set ENTRYPOINT diff --git a/dev/docker/hive/README.md b/dev/docker/hive/README.md index fc46023eb01..3157b5670bd 100644 --- a/dev/docker/hive/README.md +++ b/dev/docker/hive/README.md @@ -13,7 +13,7 @@ It includes Hadoop-2.x and Hive-2.x, you can use this Docker image to test the G ## Run container ``` -docker run --rm -d -p 8022:22 -p 8088:8088 -p 9000:9000 -p 9083:9083 -p 10000:10000 -p 10002:10002 -p 50070:50070 -p 50075:50075 datastrato/graviton-ci-hive +docker run --rm -d -p 8022:22 -p 8088:8088 -p 9000:9000 -p 9083:9083 -p 10000:10000 -p 10002:10002 -p 50070:50070 -p 50075:50075 -p 50010:50010 datastrato/graviton-ci-hive ``` ## Login Docker container @@ -33,7 +33,8 @@ ssh -p 8022 datastrato@localhost (password: ds123, this is a sudo user) - `22` SSH - `9000` HDFS defaultFS - `50070` HDFS NameNode - - `50075` HDFS DataNode + - `50075` HDFS DataNode http server + - `50010` HDFS DataNode data transfer - `8088` YARN Service - `9083` Hive Metastore - `10000` HiveServer2 diff --git a/dev/docker/hive/build-docker.sh b/dev/docker/hive/build-docker.sh index 38577d329fc..b466004938e 100755 --- a/dev/docker/hive/build-docker.sh +++ b/dev/docker/hive/build-docker.sh @@ -83,8 +83,12 @@ if [[ "${platform_type}" == "all" ]]; then if [[ "${tag_name}" == "" ]]; then docker buildx build --platform=linux/amd64,linux/arm64 --build-arg HADOOP_PACKAGE_NAME=${HADOOP_PACKAGE_NAME} --build-arg HIVE_PACKAGE_NAME=${HIVE_PACKAGE_NAME} --push --progress plain -f Dockerfile -t ${image_name} . else - docker buildx build --platform=linux/amd64,linux/arm64 --build-arg HADOOP_PACKAGE_NAME=${HADOOP_PACKAGE_NAME} --build-arg HIVE_PACKAGE_NAME=${HIVE_PACKAGE_NAME} --push --tag ${tag_name} --progress plain -f Dockerfile -t ${image_name} . + docker buildx build --platform=linux/amd64,linux/arm64 --build-arg HADOOP_PACKAGE_NAME=${HADOOP_PACKAGE_NAME} --build-arg HIVE_PACKAGE_NAME=${HIVE_PACKAGE_NAME} --push --progress plain -f Dockerfile -t ${image_name}:${tag_name} . fi else - docker buildx build --platform=${platform_type} --build-arg HADOOP_PACKAGE_NAME=${HADOOP_PACKAGE_NAME} --build-arg HIVE_PACKAGE_NAME=${HIVE_PACKAGE_NAME} --output type=docker --progress plain -f Dockerfile -t ${image_name} . + if [[ "${tag_name}" == "" ]]; then + docker buildx build --platform=${platform_type} --build-arg HADOOP_PACKAGE_NAME=${HADOOP_PACKAGE_NAME} --build-arg HIVE_PACKAGE_NAME=${HIVE_PACKAGE_NAME} --output type=docker --progress plain -f Dockerfile -t ${image_name} . + else + docker buildx build --platform=${platform_type} --build-arg HADOOP_PACKAGE_NAME=${HADOOP_PACKAGE_NAME} --build-arg HIVE_PACKAGE_NAME=${HIVE_PACKAGE_NAME} --output type=docker --progress plain -f Dockerfile -t ${image_name}:${tag_name} . + fi fi \ No newline at end of file diff --git a/dev/docker/hive/hdfs-site.xml b/dev/docker/hive/hdfs-site.xml index 34c603fd0e6..0fcae90b05d 100644 --- a/dev/docker/hive/hdfs-site.xml +++ b/dev/docker/hive/hdfs-site.xml @@ -8,4 +8,9 @@ dfs.webhdfs.enabled true + + + dfs.datanode.address + 0.0.0.0:50010 + diff --git a/dev/docker/hive/start.sh b/dev/docker/hive/start.sh index 8f9357c478a..a73d906b19f 100644 --- a/dev/docker/hive/start.sh +++ b/dev/docker/hive/start.sh @@ -9,6 +9,12 @@ service ssh start ssh-keyscan localhost > /root/.ssh/known_hosts ssh-keyscan 0.0.0.0 >> /root/.ssh/known_hosts +# Map the hostname to 127.0.0.1 for external access datanode +hostname=$(cat /etc/hostname) +new_content=$(cat /etc/hosts | sed "/$hostname/s/^/# /") +new_content="${new_content}\n127.0.0.1 ${hostname}" +echo -e "$new_content" > /etc/hosts + # start hadoop ${HADOOP_HOME}/sbin/start-all.sh