华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库_docker 安装hive

cd /opt/apache-hive-2.1.0-bin/conf
touch hive-site.xml
vim hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop.bigdata.cn:9000</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://mysql.bigdata.cn:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;characterEncoding=UTF-8</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
    <property>
        <name>datanucleus.schema.autoCreateAll</name>
        <value>true</value>
    </property>
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hive.bigdata.cn</value>
    </property>
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://hive.bigdata.cn:9083</value>
    </property>
</configuration>

image-20230918201511537

上传配置mysql驱动
  • 上传mysql jdbc驱动到宿主机/mnt/docker_share

    • mysql-connector-java-5.1.38-bin.jar
  • 复制mysql的驱动程序到hive/lib下面

cp /mnt/docker_share/mysql-connector-java-5.1.38-bin.jar /opt/apache-hive-2.1.0-bin/lib
ll /opt/apache-hive-2.1.0-bin/lib | grep mysql

启动mysql和hadoop容器
  • 启动mysql容器

docker start mysql

  • 启动hadoop容器

docker start hadoop

创建hive容器
  • 创建hive容器,指定IP(注意一定要添加 --privileged=true否则无法使用系统服务)
docker run \
--privileged=true \
--net docker-bd0 \
--ip 172.33.0.131 \
-v /mnt/docker_share:/mnt/docker_share \
-v /etc/hosts:/etc/hosts \
-v /opt/hadoop-2.7.0:/opt/hadoop-2.7.0 \
-v /opt/jdk1.8.0_141:/opt/jdk1.8.0_141 \
-v /opt/apache-hive-2.1.0-bin:/opt/apache-hive-2.1.0-bin \
-p 10000:10000 \
--name hive -d hadoop:2.7.0

进入hive容器

docker exec -it hive bash

配置hive环境变量
vim /etc/profile

export HIVE\_HOME=/opt/apache-hive-2.1.0-bin
export PATH=$HIVE\_HOME/bin:$PATH

source /etc/profile

image-20230918201827278

初始化mysql元数据

  • 初始化mysql元数据命令

schematool -initSchema -dbType mysql

  • 进入到mysql容器中,设置hive相关表的编码格式

docker exec -it mysql bash

  • 进入到mysql中,执行以下几条语句,修改Hive的默认编码方式

mysql -u root -p

image-20230918201921917

use hive;
-- 修改表字段注解和表注解
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
-- 修改分区字段注解:
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
-- 修改索引注解:
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
-- 查看编码格式
show variables like "%char%";

image-20230918202016942

三、启动Hive

启动hive和使用beeline连接hive
  • 启动hive
nohup hive --service metastore &
nohup hive --service hiveserver2 &

  • 使用beeline连接hive
beeline
!connect jdbc:hive2://hive.bigdata.cn:10000

image-20230918202111191

配置hive自动启动
创建日志保存目录

mkdir -p /opt/apache-hive-2.1.0-bin/logs

创建启动脚本
vim /etc/bootstrap.sh

# !/bin/sh
source /etc/profile

DATE\_STR=`/bin/date "+%Y%m%d%H%M%S"`

HIVE\_METASTORE\_LOG=${HIVE\_HOME}/logs/hiveserver2-metasvr-${DATE\_STR}.log
HIVE\_THRIFTSVR\_LOG=${HIVE\_HOME}/logs/hiveserver2-thriftsvr-${DATE\_STR}.log

nohup ${HIVE\_HOME}/bin/hive --service metastore >> ${HIVE\_METASTORE\_LOG} 2>&1 &
nohup ${HIVE\_HOME}/bin/hive --service hiveserver2 >> ${HIVE\_THRIFTSVR\_LOG} 2>&1 &

image-20230918202255473

设置脚本执行权限

chmod a+x /etc/bootstrap.sh

加入自动启动服务
vim /etc/rc.d/rc.local
/etc/bootstrap.sh
chmod 755 /etc/rc.d/rc.local 

image-20230918202321359

重启容器
docker restart hive
docker exec -it hive bash

dbserver连接hive

image-20230918205531785

连接成功:

image-20230919085628133

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

-BiO6F0DE-1714755584000)]
[外链图片转存中…(img-KS1CKvUw-1714755584001)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值