文章目录
前言
这是
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/libll /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 \--ip172.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 \-p10000:10000 \--name hive -d hadoop:2.7.0
进入hive容器
docker exec -it hive bash
配置hive环境变量
vim /etc/profile
exportHIVE_HOME=/opt/apache-hive-2.1.0-bin
exportPATH=$HIVE_HOME/bin:$PATHsource /etc/profile
初始化mysql元数据
- 初始化mysql元数据命令
schematool -initSchema -dbType mysql
- 进入到mysql容器中,设置hive相关表的编码格式
docker exec -it mysql bash
- 进入到mysql中,执行以下几条语句,修改Hive的默认编码方式
mysql -u root -p
use hive;-- 修改表字段注解和表注解altertable COLUMNS_V2 modifycolumnCOMMENTvarchar(256)characterset utf8;altertable TABLE_PARAMS modifycolumn PARAM_VALUE varchar(4000)characterset utf8;-- 修改分区字段注解:altertable PARTITION_PARAMS modifycolumn PARAM_VALUE varchar(4000)characterset utf8;altertable PARTITION_KEYS modifycolumn PKEY_COMMENT varchar(4000)characterset utf8;-- 修改索引注解:altertable INDEX_PARAMS modifycolumn PARAM_VALUE varchar(4000)characterset 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/shsource /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
chmod755 /etc/rc.d/rc.local
重启容器
docker restart hive
dockerexec-it hive bash
dbserver连接hive
连接成功:
总结
本文介绍了在
云耀云服务器L实例
上部署Docker容器hive数据库的步骤,包括重置密码、连接服务器、安装Hive容器、配置环境变量、初始化元数据、启动hive和配置自动启动等。
版权归原作者 Maynor996 所有, 如有侵权,请联系我们删除。