You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/12/01 11:26:00 UTC

[jira] [Work logged] (HIVE-26400) Provide docker images for Hive

     [ https://issues.apache.org/jira/browse/HIVE-26400?focusedWorklogId=830313&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-830313 ]

ASF GitHub Bot logged work on HIVE-26400:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 01/Dec/22 11:25
            Start Date: 01/Dec/22 11:25
    Worklog Time Spent: 10m 
      Work Description: abstractdog commented on code in PR #3448:
URL: https://github.com/apache/hive/pull/3448#discussion_r1036995252


##########
dev-support/docker/README.md:
##########
@@ -0,0 +1,93 @@
+### Introduction
+
+---
+Run Apache Hive inside docker container in pseudo-distributed mode, with MySQL as its back database.
+Provide the following
+- Quick-start/Debugging/Prepare a test env for Hive
+- Images can be used as the basis for the Kubernetes operator
+
+### Overview
+
+---
+#### Files
+- docker-compose.yml: Docker compose file
+- Dockerfile-*, scripts/docker-entrypoint.sh: Instructions of the image.
+- conf/hiveserver2-site.xml: Configuration for HiveServer2
+- conf/metastore-site.xml: Configuration for Hive Metastore
+- build.sh Scripts for build images
+
+### Quickstart
+
+---
+#### Build images
+Hive relies on Hadoop, Tez and MySQL to work correctly. Up to now, there are so many versions that these dependents have been released, including Hive itself,
+providing a way to build Hive against a specified version of the dependent sounds reasonable. There are some build args for this purpose, as listed below:
+```shell
+--hadoop <hadoop version>
+--tez <tez version>
+--hive <hive version> 
+```
+If the version is not provided, then it will read the version from the properties in project top `pom.xml`, 
+that is, `project.version` for Hive, `hadoop.version` for Hadoop and `tez.version` for Tez. For example:
+
+```shell
+./build.sh --hive 3.1.3
+```
+The command will pull the tarballs of Hive 3.1.3, Hadoop `hadoop.version` and Tez `tez.version` from apache repository
+to build the target image.
+
+```shell
+./build.sh --hadoop 3.1.0 --tez 0.10.1
+```
+The above command does not specify the Hive version, it will use the local `apache-hive-${project.version}-bin.tar.gz`, 
+together with Hadoop 3.1.0 and Tez 0.10.1 to build the target image.
+
+#### Run services
+
+- Launch a single standalone Metastore
+
+If you just want to play around with Metastore, run:
+```shell
+docker run --name metastore-standalone apachehive/metastore:$HIVE_VERSION

Review Comment:
   we should also consider using a single hive image:
   ```
   apache/hive
   ```
   and according to an docker parameter, it can start as hs2 or metastore (driven from docker-compose)
   this might be important and convenient, as a single image is easier to maintain, and looks much better than having apache/hive-hiveserver2 and apache/hive-metastore images later when we really distritbute the image to public repo
   
   I know it changes the current implementation here, would you consider trying it @dengzhhu653 ?





Issue Time Tracking
-------------------

    Worklog Id:     (was: 830313)
    Time Spent: 5h 20m  (was: 5h 10m)

> Provide docker images for Hive
> ------------------------------
>
>                 Key: HIVE-26400
>                 URL: https://issues.apache.org/jira/browse/HIVE-26400
>             Project: Hive
>          Issue Type: Improvement
>          Components: Build Infrastructure
>            Reporter: Zhihua Deng
>            Assignee: Zhihua Deng
>            Priority: Blocker
>              Labels: hive-4.0.0-must, pull-request-available
>          Time Spent: 5h 20m
>  Remaining Estimate: 0h
>
> Make Apache Hive be able to run inside docker container in pseudo-distributed mode, with MySQL/Derby as its back database, provide the following:
>  * Quick-start/Debugging/Prepare a test env for Hive;
>  * Tools to build target image with specified version of Hive and its dependencies;
>  * Images can be used as the basis for the Kubernetes operator.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)