Dockerfiles/hive/2.3.3
2018-08-06 21:08:28 +08:00
..
bootstrap.sh add hive:2.3.3 2018-08-06 21:08:28 +08:00
Dockerfile add hive:2.3.3 2018-08-06 21:08:28 +08:00
hive-site.xml add hive:2.3.3 2018-08-06 21:08:28 +08:00
README.md add hive:2.3.3 2018-08-06 21:08:28 +08:00

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

$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

schematool --dbType mysql --initSchema

Start MetaStore service

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.

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.

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