openEuler 部署 hive3

启动Hadoop

# 启动hadoop
start-all.sh
# 检查hadoop进程
jps
# 检查各端口
netstat -aplnt | grep java

检查MySQL是否启动成功

ps -aux | grep mysql
netstat -aplnt | grep 3306

安装hive

# 将软件上传到 /opt/soft 目录
# 解压hive
tar -zxvf apache-hive-3.1.3-bin.tar.gz
# 目录改名
mv apache-hive-3.1.3-bin hive3
# 进入配置文件目录
cd /opt/soft/hive3/conf
# 复制配置文件
cp hive-env.sh.template  hive-env.sh
cp hive-default.xml.template  hive-site.xml
# 编辑环境配置文件
vim hive-env.sh
# 编辑配置文件
vim hive-site.xml

hive-env.sh

# hadoop 安装路径
export HADOOP_HOME=/opt/soft/hadoop3/
# hive 配置文件路径
export HIVE_CONF_DIR=/opt/soft/hive3/conf/

hive-site.xml


需要修改的位置提炼如下:
<configuration><!-- 记录HIve中的元数据信息  记录在mysql中 --><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://spark03:3306/hive?useUnicode=true&amp;createDatabaseIfNotExist=true&amp;characterEncoding=UTF8&amp;useSSL=false&amp;serverTimeZone=Asia/Shanghai</value></property><!-- jdbc mysql驱动 --><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property><!-- mysql的用户名和密码 --><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>Lihaozhe!!@@1122</value></property><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><property><name>hive.exec.scratchdir</name><value>/user/hive/tmp</value></property></property><property><name>hive.exec.local.scratchdir</name><value>/user/hive/local</value><description>Local scratch space for Hive jobs</description></property><property><name>hive.downloaded.resources.dir</name><value>/user/hive/resources</value><description>Temporary local directory for added resources in the remote file system.</description></property><!-- 日志目录 --><property><name>hive.querylog.location</name><value>/user/hive/log</value></property><!-- 设置metastore的节点信息 --><property><name>hive.metastore.uris</name><value>thrift://spark01:9083</value></property><!-- 客户端远程连接的端口 --><property> <name>hive.server2.thrift.port</name> <value>10000</value></property><property> <name>hive.server2.thrift.bind.host</name> <value>0.0.0.0</value></property><property><name>hive.server2.webui.host</name><value>0.0.0.0</value></property><!-- hive服务的页面的端口 --><property><name>hive.server2.webui.port</name><value>10002</value></property><property> <name>hive.server2.long.polling.timeout</name> <value>5000</value>                               </property><property><name>hive.server2.enable.doAs</name><value>true</value></property><!--
<property>
<name>datanucleus.autoCreateSchema</name>
<value>false</value>
</property><property>
<name>datanucleus.fixedDatastore</name>
<value>true</value>
</property>
--><property><name>hive.execution.engine</name><value>mr</value></property><property><name>hive.metastore.schema.verification</name><value>false</value><description>Enforce metastore schema version consistency.True: Verify that version information stored in is compatible with one from Hive jars.  Also disable automaticschema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensuresproper metastore schema migration. (Default)False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.</description></property>
</configuration>

注意:上面配置文件中的路径在 vi 编辑器下 全局替换

:%s@\${system:java.io.tmpdir}@/tmp/hive-logp@g

不要使用图形化 不然每次保存后3215行都会有个 &#8 特殊字符 如果产生删除即可 具体报错信息 后面有单独的描述

上传 MySQL 连接驱动 jar 包到 hive 安装目录的lib目录下:

/opt/soft/hive3/lib

jar 包有两个 分别为:

  • mysql-connector-java-8.0.33.jar
  • protobuf-java-3.22.2.jar

删除原有的 protobuf-java-2.5.0.jar 文件

guava版本冲突

删除 hive/lib目录中的 guava-19.0.jar

拷贝hadoop/share/hadoop/common/lib目录中的 guava-27.0-jre.jar 到 hive/lib 目录

rm -f /opt/soft/hive3/lib/guava-19.0.jar
cp -v /opt/soft/hadoop3/share/hadoop/common/lib/guava-27.0-jre.jar /opt/soft/hive3/lib

配置环境变量

vim /etc/profile
export HIVE_HOME=/opt/soft/hive3
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile

初始化hive的元数据库

注意初始初始元素中库之前 保证 hadoop 和 mysql 正常启动

schematool -initSchema -dbType  mysql

报错解解决:

Exception in thread "main" java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8
at [row,col,system-id]: [3215,96,"file:/usr/local/hive/conf/hive-site.xml"]
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:3051)
...
at org.apache.hadoop.util.RunJar.main(RunJar.java:236)
Caused by: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8
at [row,col,system-id]: [3215,96,"file:/usr/local/hive/conf/hive-site.xml"]
at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:621)
...
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:3034)
... 17 more报错原因:hive-site.xml配置文件中,3215行(见报错记录第二行)有特殊字符解决办法:进入hive-site.xml文件,跳转到对应行,删除里面的 &#8 特殊字符即可
Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7Dat java.net.URI.checkPath(URI.java:1822)at java.net.URI.<init>(URI.java:745)at org.apache.hadoop.fs.Path.initialize(Path.java:260)解决方案:将hive-site.xml配置文件的
hive.querylog.location
hive.exec.local.scratchdir
hive.downloaded.resources.dir
三个值(原始为$标识的相对路径)写成绝对值
# 全局替换
:%s@\${system:java.io.tmpdir}@/tmp/hive-logp@g

远程模式

# 启动服务端
hive --service metastore &
hive --service hiveserver2 &# 后台运行
nohup hive --service metastore > /dev/null 2>&1 &
nohup hive --service hiveserver2 > /dev/null 2>&1 &hiveserver2 start
nohup hiveserver2 >/dev/null 2>&1 &
# 客户端连接
hive
beeline -u jdbc:hive2://spark01:10000 -n root
beeline jdbc:hive2://spark01:10000> show databases;

体验

use default;
create table person (id int,phonenum bigint,salary double,name string
);
create table ps (id int,phonenum bigint,salary double,name string
);
show tables;
insert into person values (1001,13966668888,9999.99,"张三");
songsong,bingbing_lili,xiao song:18_xiaoxiao song:19
longlong,pingping_liuliu,xiao long:8_xiaoxiao long:9
drop table person;
create table person (name string,friends array<string>,childrens map<string,int>
)row format delimited fields terminated by ',' collection items terminated by '_' map keys terminated by ':' lines terminated by '\n';
load data local inpath  '/root/person.txt' into table person;
drop table data;
create table data (name string, amount int
)row format delimited fields terminated by ',' lines terminated by '\n';load data local inpath  '/root/data.txt' into table data;
select count(*) from data;
select count(*) from data group by name;
select name,max(t) from data group by name;
select name,max(t) from data group by name order by max(t) ;

openEuler 部署 hive3相关推荐

  1. 成立一年,openEuler为开源带来哪些改变

    作者 | 宋慧 出品 | CSDN(ID:CSDNnews) openEuler 从开源到现在已经要满一周岁了.在一周年之际,openEuler 社区举办了年度技术峰会 openEuler summi ...

  2. k8s在华为openeuler搭建

    参考文献 Kubernetes1.26.0部署(Ubuntu/CentOS)未完待续https://blog.csdn.net/weixin_67405599/article/details/1284 ...

  3. iNeuOS工业互联网操作系统部署在华为欧拉(openEuler)国产系统

    目       录 1.      概述... 3 2.      创建虚拟机&安装华为欧拉(openEuler)系统... 4 2.1           创建新的虚拟机... 4 2.2  ...

  4. 实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库

    本文适合需要快速了解OpenGauss基本使用和操作的单机用户,可以短时间内完成安装体验.对于企业级生产使用或者需要部署多台服务器的,不适合本文. 因为业务需要,要在鲲鹏架构里安装单机版的OpenGa ...

  5. openEuler网络配置+换源+桌面环境ukui等基本环境部署

    文章目录 1.网络配置 1.虚拟网络配置器配置 2.网络配置文件设置 2.使用xshell远程登录 3.换源 4.安装桌面环境ukui 5.安装vmware tools 6.问题解决办法 openEu ...

  6. vmware安装openEuler+基本环境部署

    文章目录 1. openEuler简介 2. 安装环境 3. 安装openEuler 1. 下载openEuler镜像 2. 使用vmware安装openEuler 1. 新建虚拟机(有经验的可跳过) ...

  7. Hive3入门至精通(基础、部署、理论、SQL、函数、运算以及性能优化)15-28章

    Hive3入门至精通(基础.部署.理论.SQL.函数.运算以及性能优化)15-28章 [Hive3入门至精通(基础.部署.理论.SQL.函数.运算以及性能优化)1-14章](https://blog. ...

  8. openEuler上一键部署opengauss数据库

    1.在root用户下,执行命令vi /root/auto_install.sh,编写部署脚本 脚本内容如下: 其中1.定义主机信息里的主机名node1和主机ip需要替换为自己的虚拟机信息. 例如我的主 ...

  9. 鲲鹏 920 openEuler 操作系统 部署安装 Anaconda3 和 Jupyter Notebook

    之前写过鲲鹏920 CentOS7 部署安装 Archiconda3 和 Jupyter notebook 的文章 也有朋友说,怎么没有 Anaconda3 呐,当时啊,官方还没出 aarch64 版 ...

最新文章

  1. 若不能连接到sql server的localhost
  2. 一个不错的git学习网站
  3. lambda中的钩子函数
  4. Visual Studio 2010中的UML
  5. 机器人军团【动态规划】
  6. stl之vector的应用
  7. 剑桥教授项目 | 机器学习在推荐系统中的应用
  8. 【JavaEE Spring】SpringBoot 日志文件详解
  9. Python打印九九乘法表
  10. mysql跨库复制_mysql跨库表结构和数据复制
  11. Win10怎么设置每天自动开机
  12. Thingworx自定义扩展开发(二)- Widget Demo Coding
  13. 架构专家李伟山:电商系统之订单系统
  14. 《认知设计》-提升学习体验的艺术
  15. luffy-(13)
  16. WWDC2016临近 苹果开始布置会场外LOGO
  17. 学历到底是敲门砖还是枷锁?—探讨“孔乙己文学”热搜背后的教育话题
  18. 笔记本电池只能充电到95%-99%之间无法充至100%的原因和处理方案
  19. CarMaker 适配 matlab 版本
  20. openlayers部署离线高德地图

热门文章

  1. Spring框架基础
  2. 还在自学黑客?一般人我劝你还是算了吧!
  3. IPv6,到底是什么?
  4. Java 文件完整性校验 sha512
  5. 声明:声明:声明:声明
  6. 如果iteye和csdn能够同步就好了!
  7. SequoiaDB 兼容mysql学习(独立模式安装)
  8. 打开System x服务器的IMM2 Web界面
  9. WiFi选型_主设备WiFi模块,从设备WiFi模块功能介绍
  10. 邮件服务器的基础知识概述