mirror of
https://github.com/newnius/Dockerfiles.git
synced 2025-06-06 16:11:55 +00:00
add hive:2.3.3
This commit is contained in:
parent
ea4dc5d428
commit
93f18c1989
@ -39,6 +39,11 @@ $HADOOP_HOME/bin/hdfs dfs -chmod g+w /user/hive/warehouse
|
|||||||
schematool --dbType mysql --initSchema
|
schematool --dbType mysql --initSchema
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Start MetaStore service
|
||||||
|
```bash
|
||||||
|
nohup hive --service metastore &
|
||||||
|
```
|
||||||
|
|
||||||
#### Validate Installation
|
#### Validate Installation
|
||||||
|
|
||||||
Run `hive` to start the hive shell
|
Run `hive` to start the hive shell
|
||||||
@ -48,3 +53,20 @@ If the following command is executed successfully, then the installation is fine
|
|||||||
```hive
|
```hive
|
||||||
CREATE TABLE pokes (foo INT, bar STRING);
|
CREATE TABLE pokes (foo INT, bar STRING);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Custom configuration
|
||||||
|
To persist data or modify the conf files, refer to the following script.
|
||||||
|
|
||||||
|
The `/config/hive` path is where new conf files to be replaces, you don't have to put all the files.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker service create \
|
||||||
|
--name hive \
|
||||||
|
--hostname hive \
|
||||||
|
--network swarm-net \
|
||||||
|
--replicas 1 \
|
||||||
|
--detach=true \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime \
|
||||||
|
--mount type=bind,source=/data/hive/config,target=/config/hive \
|
||||||
|
newnius/hive:2.1.1
|
||||||
|
```
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
$HADOOP_HOME/bin/hdfs dfs -mkdir /tmp
|
|
||||||
$HADOOP_HOME/bin/hdfs dfs -mkdir -p /user/hive/warehouse
|
|
||||||
$HADOOP_HOME/bin/hdfs dfs -chmod g+w /tmp
|
|
||||||
$HADOOP_HOME/bin/hdfs dfs -chmod g+w /user/hive/warehouse
|
|
||||||
|
|
||||||
schematool --dbType mysql --initSchema
|
|
Binary file not shown.
28
hive/2.3.3/Dockerfile
Normal file
28
hive/2.3.3/Dockerfile
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
FROM newnius/hadoop:2.7.4
|
||||||
|
|
||||||
|
MAINTAINER Newnius <newnius.cn@gmail.com>
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
# Install Apche Hive
|
||||||
|
ENV HIVE_VER 2.3.3
|
||||||
|
|
||||||
|
RUN wget -O apache-hive.tar.gz https://archive.apache.org/dist/hive/hive-$HIVE_VER/apache-hive-$HIVE_VER-bin.tar.gz && \
|
||||||
|
tar -xzf apache-hive.tar.gz -C /usr/local/ && rm apache-hive.tar.gz
|
||||||
|
|
||||||
|
RUN ln -s /usr/local/apache-hive-$HIVE_VER-bin /usr/local/hive
|
||||||
|
|
||||||
|
ENV HIVE_HOME /usr/local/hive
|
||||||
|
|
||||||
|
ENV PATH $PATH:$HIVE_HOME/bin
|
||||||
|
|
||||||
|
#ADD mysql-connector-java-5.1.44-bin.jar $HIVE_HOME/lib
|
||||||
|
RUN wget -P $HIVE_HOME/lib/ http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.44/mysql-connector-java-5.1.44.jar
|
||||||
|
|
||||||
|
ADD hive-site.xml $HIVE_HOME/conf
|
||||||
|
|
||||||
|
ADD bootstrap.sh /etc/bootstrap.sh
|
||||||
|
|
||||||
|
WORKDIR $HIVE_HOME
|
||||||
|
|
||||||
|
CMD ["/etc/bootstrap.sh", "-d"]
|
72
hive/2.3.3/README.md
Normal file
72
hive/2.3.3/README.md
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
Run Aapache Hive with Docker
|
||||||
|
|
||||||
|
## Prequirements
|
||||||
|
|
||||||
|
Assume you already have one Hadoop cluster whose master node host is `hadoop-master`;
|
||||||
|
|
||||||
|
Assume you already have a Mysql server whose host is `mysql`;
|
||||||
|
|
||||||
|
You can specify them in `conf/hive-site.xml`;
|
||||||
|
|
||||||
|
## Start Hive Node
|
||||||
|
|
||||||
|
```
|
||||||
|
docker service create \
|
||||||
|
--name hive \
|
||||||
|
--hostname hive \
|
||||||
|
--network swarm-net \
|
||||||
|
--replicas 1 \
|
||||||
|
--detach=true \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime \
|
||||||
|
newnius/hive:2.3.3
|
||||||
|
```
|
||||||
|
|
||||||
|
## Init && Test
|
||||||
|
Init HIVE for the first time
|
||||||
|
|
||||||
|
#### Create HIVE dir in HDFS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$HADOOP_HOME/bin/hdfs dfs -mkdir /tmp
|
||||||
|
$HADOOP_HOME/bin/hdfs dfs -mkdir -p /user/hive/warehouse
|
||||||
|
$HADOOP_HOME/bin/hdfs dfs -chmod g+w /tmp
|
||||||
|
$HADOOP_HOME/bin/hdfs dfs -chmod g+w /user/hive/warehouse
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Init MetaStore
|
||||||
|
|
||||||
|
```bash
|
||||||
|
schematool --dbType mysql --initSchema
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Start MetaStore service
|
||||||
|
```bash
|
||||||
|
nohup hive --service metastore &
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Validate Installation
|
||||||
|
|
||||||
|
Run `hive` to start the hive shell
|
||||||
|
|
||||||
|
If the following command is executed successfully, then the installation is fine.
|
||||||
|
|
||||||
|
```hive
|
||||||
|
CREATE TABLE pokes (foo INT, bar STRING);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Custom configuration
|
||||||
|
To persist data or modify the conf files, refer to the following script.
|
||||||
|
|
||||||
|
The `/config/hive` path is where new conf files to be replaces, you don't have to put all the files.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker service create \
|
||||||
|
--name hive \
|
||||||
|
--hostname hive \
|
||||||
|
--network swarm-net \
|
||||||
|
--replicas 1 \
|
||||||
|
--detach=true \
|
||||||
|
--mount type=bind,source=/etc/localtime,target=/etc/localtime \
|
||||||
|
--mount type=bind,source=/data/hive/config,target=/config/hive \
|
||||||
|
newnius/hive:2.3.3
|
||||||
|
```
|
18
hive/2.3.3/bootstrap.sh
Executable file
18
hive/2.3.3/bootstrap.sh
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
## replace config
|
||||||
|
: ${EXTRA_CONF_DIR:=/config/hive}
|
||||||
|
|
||||||
|
if [ -d "$EXTRA_CONF_DIR" ]; then
|
||||||
|
cp $EXTRA_CONF_DIR/* /usr/local/hive/conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
hive --service metastore
|
||||||
|
|
||||||
|
if [[ $1 == "-d" ]]; then
|
||||||
|
while true; do sleep 1000; done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $1 == "-bash" ]]; then
|
||||||
|
/bin/bash
|
||||||
|
fi
|
30
hive/2.3.3/hive-site.xml
Normal file
30
hive/2.3.3/hive-site.xml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<configuration>
|
||||||
|
<property>
|
||||||
|
<name>javax.jdo.option.ConnectionURL</name>
|
||||||
|
<value>jdbc:mysql://mysql:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value>
|
||||||
|
<description>JDBC connect string for a JDBC metastore</description>
|
||||||
|
</property>
|
||||||
|
<property>
|
||||||
|
<name>javax.jdo.option.ConnectionDriverName</name>
|
||||||
|
<value>com.mysql.jdbc.Driver</value>
|
||||||
|
<description>Driver class name for a JDBC metastore</description>
|
||||||
|
</property>
|
||||||
|
<property>
|
||||||
|
<name>javax.jdo.option.ConnectionUserName</name>
|
||||||
|
<value>root</value>
|
||||||
|
<description>username to use against metastore database</description>
|
||||||
|
</property>
|
||||||
|
<property>
|
||||||
|
<name>javax.jdo.option.ConnectionPassword</name>
|
||||||
|
<value>123456</value>
|
||||||
|
<description>password to use against metastore database</description>
|
||||||
|
</property>
|
||||||
|
<property>
|
||||||
|
<name>hive.metastore.uris</name>
|
||||||
|
<value>thrift://localhost:9083</value>
|
||||||
|
</property>
|
||||||
|
<property>
|
||||||
|
<name>hive.metastore.schema.verification</name>
|
||||||
|
<value>false</value>
|
||||||
|
</property>
|
||||||
|
</configuration>
|
Loading…
Reference in New Issue
Block a user