前言
这是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实例状态
查看购买的云耀云服务器L实例状态,处在正常运行中。
重置密码
重置密码,点击重置密码选项,需要进行身份验证,选择手机验证后,即可重置密码成功。
查看弹性公网IP地址
- 复制弹性公网IP地址,远程连接服务器时使用。
FinalShell连接服务器
在FinalShell工具中,填写服务器弹性公网IP地址、账号密码信息,ssh连接远程服务器。
二、安装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/
修改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&useSSL=false&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>
上传配置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
初始化mysql元数据
-
初始化mysql元数据命令
schematool -initSchema -dbType mysql
-
进入到mysql容器中,设置hive相关表的编码格式
docker exec -it mysql bash
-
进入到mysql中,执行以下几条语句,修改Hive的默认编码方式
mysql -u root -p
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%";
三、启动Hive
启动hive和使用beeline连接hive
-
启动hive
nohup hive --service metastore & nohup hive --service hiveserver2 &
-
使用beeline连接hive
beeline !connect jdbc:hive2://hive.bigdata.cn:10000
配置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 &
设置脚本执行权限
chmod a+x /etc/bootstrap.sh
加入自动启动服务
vim /etc/rc.d/rc.local
/etc/bootstrap.sh
chmod 755 /etc/rc.d/rc.local
重启容器
docker restart hive
docker exec -it hive bash
dbserver连接hive
连接成功:
文章来源:https://www.toymoban.com/news/detail-721879.html
总结
本文介绍了在云耀云服务器L实例
上部署Docker容器hive数据库的步骤,包括重置密码、连接服务器、安装Hive容器、配置环境变量、初始化元数据、启动hive和配置自动启动等。文章来源地址https://www.toymoban.com/news/detail-721879.html
到了这里,关于华为云云耀云服务器L实例评测|在Docker环境下部署Hive数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!