docker hive

This commit is contained in:
yangyu 2018-07-29 14:05:41 +08:00
parent 9465582f02
commit 5554caef2b
3 changed files with 111 additions and 0 deletions

View File

@ -0,0 +1,34 @@
FROM ccr.ccs.tencentyun.com/yy-dk/hadoop:3.1.0
MAINTAINER Yang <yangyufans@qq.com>
ENV HIVE_VERSION hive-3.0.0
ENV HIVE_NAME apache-hive-3.0.0-bin
RUN cd / && wget http://mirror.bit.edu.cn/apache/hive/$HIVE_VERSION/$HIVE_NAME.tar.gz \
&& tar -zvxf $HIVE_NAME.tar.gz -C /usr/local/ \
&& rm -rf $HIVE_NAME.tar.gz \
&& mv /usr/local/$HIVE_NAME /usr/local/$HIVE_VERSION
ENV HIVE_HOME "/usr/local/$HIVE_VERSION"
ENV PATH "$PATH:$HIVE_HOME/bin"
RUN echo "export HIVE_HOME=/usr/local/$HIVE_VERSION" >> /etc/profile && \
echo 'export PATH=$PATH:$HIVE_HOME/bin' >> /etc/profile && \
source /etc/profile
RUN cp $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh && \
echo "export HADOOP_HOME=$HADOOP_HOME" >> $HIVE_HOME/conf/hive-env.sh && \
cp $HIVE_HOME/conf/hive-log4j2.properties.template $HIVE_HOME/conf/hive-log4j2.properties && \
sed -i 's/${sys:java.io.tmpdir}/\/logs/g' $HIVE_HOME/conf/hive-log4j2.properties && \
sed -i 's/${sys:user.name}/hive/g' $HIVE_HOME/conf/hive-log4j2.properties
COPY conf/* $HIVE_HOME/conf/
COPY start.sh /
RUN chmod 777 /start.sh
EXPOSE 22 8020 8088 8042 9870
CMD ["/start.sh"]

View File

@ -0,0 +1,9 @@
#!/bin/bash
\cp /conf/hadoop/* $HADOOP_HOME/etc/hadoop
\cp /conf/hive/* $HIVE_HOME/conf
echo "127.0.0.1 localhost" > /etc/hosts
/usr/sbin/sshd -D

68
hive/README.md Normal file
View File

@ -0,0 +1,68 @@
# hive docker 服务搭建
## 创建镜像
镜像构建源码请[参考](http://git.yangyufans.com/pub/docker/tree/master/hive)
## 版本说明
3.0.0-3.1.0对应hive和hadoop相应版本
- 3.0.0 为hive版本
- 3.1.0 为hadoop版本
```bash
docker build -t ccr.ccs.tencentyun.com/yy-dk/hive:3.0.0 .
```
## 从远程拉取镜像
```bash
docker pull ccr.ccs.tencentyun.com/yy-dk/hive:3.0.0
```
## 创建镜像
```bash
docker run -d \
--privileged=true \
-p 12580:22 \
-p 9870:9870 \
-p 50070:50070 \
-p 8020:8020 \
-p 8088:8088 \
-p 8042:8042 \
-v $PWD/conf:/conf \
-v $PWD/data:/data \
-v $PWD/logs:/logs \
--name hadoop \
ccr.ccs.tencentyun.com/yy-dk/hive:3.0.0
```
> conf:配置文件,若自己修改完配置文件放在本目录,会自动覆盖
> data:数据目录
> logs:日志文件目录
## 进入容器
```bash
ssh -p 12580 root@localhost
```
- 密码123456
## 格式化namenode
```bash
hdfs namenode -format
```
## 启动
```bash
start-all.sh
```
## 初始化元数据
```bash
schematool -dbType derby -initSchema
```
## 启动hive
```bash
hive
```