mirror of
https://github.com/newnius/Dockerfiles.git
synced 2025-06-07 16:41:55 +00:00
73 lines
1.5 KiB
Markdown
73 lines
1.5 KiB
Markdown
|
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
|
||
|
```
|