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

这篇具有很好参考价值的文章主要介绍了华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

​ 这是Maynor创作的华为云云耀云服务器L实例测评的第四篇,华为云评测系列传送门:

华为云云耀云服务器L实例评测|单节点环境下部署ClickHouse21.1.9.41数据库

华为云云耀云服务器L实例评测|伪分布式环境下部署hadoop2.10.1

华为云云耀云服务器L实例评测|在Docker环境下部署Hadoop

云耀云服务器L实例简介

云耀云服务器L实例是新一代的轻量应用云服务器,专门为中小企业和开发者打造,提供开箱即用的便利性。云耀云服务器L实例提供丰富且经过严格挑选的应用镜像,可以一键部署应用,极大地简化了客户在云端构建电商网站、Web应用、小程序、学习环境以及各类开发测试等任务的过程。

Docker简介

​ Docker是一种开源的容器化平台,它可以帮助开发者将应用程序及其依赖项打包成一个独立的容器,以实现快速、可靠和可移植的应用部署。Docker的核心概念是容器,它是一个轻量级的、可移植的、自包含的软件单元,包含了运行应用程序所需的所有组件,如代码、运行时环境、系统工具和系统库

Hive简介

​ Hive是一个基于Hadoop的数据仓库工具,它提供了类似于SQL的查询语言,使得非技术人员也能够方便地进行数据分析和查询。Hive将结构化的数据映射到Hadoop的分布式文件系统上,并通过HiveQL语言进行查询和分析。它的优势在于能够处理大规模数据集,并且具有高可扩展性和容错性。Hive还支持用户自定义函数和扩展,使得开发人员可以根据自己的需求进行定制。Hive已经成为大数据处理中的重要工具,被广泛应用于数据仓库、数据分析和数据挖掘等领域。

一、配置环境

购买云耀云服务器L实例

在云耀云服务器L实例详情页,点击购买。

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

  • 检查配置,确认购买。

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

查看云耀云服务器L实例状态

查看购买的云耀云服务器L实例状态,处在正常运行中。

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

重置密码

重置密码,点击重置密码选项,需要进行身份验证,选择手机验证后,即可重置密码成功。

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

查看弹性公网IP地址

  • 复制弹性公网IP地址,远程连接服务器时使用。

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

FinalShell连接服务器

在FinalShell工具中,填写服务器弹性公网IP地址、账号密码信息,ssh连接远程服务器。

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

二、安装Hive容器

创建Hive容器

宿主机上传hive安装包并解压

  • 进入/mnt/docker_share目录,上传apache-hive-2.1.0-bin.tar.gz到此目录下

  • 解压到opt目录下

    tar -xvzf apache-hive-2.1.0-bin.tar.gz -C /opt/

    华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

修改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>

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

上传配置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

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

初始化mysql元数据

  • 初始化mysql元数据命令

    schematool -initSchema -dbType mysql

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

    docker exec -it mysql bash

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

    mysql -u root -p

    华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

    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%";
    

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

三、启动Hive

启动hive和使用beeline连接hive

  • 启动hive

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

    beeline
    !connect jdbc:hive2://hive.bigdata.cn:10000
    

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

配置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 &

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

设置脚本执行权限

chmod a+x /etc/bootstrap.sh

加入自动启动服务

vim /etc/rc.d/rc.local
/etc/bootstrap.sh
chmod 755 /etc/rc.d/rc.local 

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

重启容器

docker restart hive
docker exec -it hive bash

dbserver连接hive

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

连接成功:

华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库,# 华为云,# Hive,# 大数据工业物联网项目,服务器,docker,hive,原力计划

总结

​ 本文介绍了在云耀云服务器L实例上部署Docker容器hive数据库的步骤,包括重置密码、连接服务器、安装Hive容器、配置环境变量、初始化元数据、启动hive和配置自动启动等。文章来源地址https://www.toymoban.com/news/detail-721879.html

到了这里,关于华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包