Hive 3.1.2Linux CentOs 安装,踩坑 Dbeaver 连接Hive
安装hive 3.1.2版本
前提:hadoop 3.2.2
jdk 1.8.0
mysql: 5.7
下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz --no-check-certificate
解压
tar -xzvf apache-hive-3.1.2-bin.tar.gz -C ../app
软连接
ln -s apache-hive-3.1.2-bin/ hive
配置环境变量
cd
vim .bashrc
export HIVE_HOME=/home/hadoop/app/hive
export PATH=${HIVE_HOME}/bin:${HIVE_HOME}/sbin:$PATH
source .bashrc
mysql jar包
hive 默认是derby数据库,不支持远程,也不支持多用户,所以改为mysql连接方式
先把mysql驱动包丢到lib目录下
cp mysql-connector-java-5.1.47.jar $HIVE_HOME/lib
mysql 新增用户及数据库
# 创建数据库 maggiecn
create database maggiecn;
# 将所有权限赋予给该数据库,并以suju用户名登录,登录密码newpassword
# % 代表 任意的客户端的IP地址 都被允许使用suju用户来远程访问
grant all privileges on maggiecn.* to suju@'%' identified by 'newpassword';
# 更新权限
flush privileges;
修改配置文件 hive-env.sh
cd $HIVE_HOME/conf
mv hive-env.sh.template hive-env.sh
vim hive-env.sh
HADOOP_HOME=/home/hadoop/app/hadoop
export HIVE_CONF_DIR=/home/hadoop/app/hive/conf
export HIVE_AUX_JARS_PATH=/home/hadoop/app/hive/lib
修改配置文件 hive-site.xml
mysql 默认配的是derby数据库,derby是单用户连接的,不方便使用,改为mysql数据库存储元数据
cp hive-default.xml.template hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://主机:3306/数据库?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>password</value></property><property><name>hive.cli.print.header</name><value>true</value></property><property><name>hive.cli.print.current.db</name><value>true</value></property><property><name>hive.metastore.uris</name><value>thrift://ip:9083</value></property><property><name>hive.metastore.warehouse.dir</name><value>/usr/hive/warehouse</value></property><property><name>hive.server2.thrift.bind.host</name><value>ip</value></property>
<!-- 指定 hiveserver2 连接的端口号 默认10000 --><property><name>hive.server2.thrift.port</name><value>10000</value><description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description></property>
</configuration>
初始化数据库
schematool -dbType mysql -initSchema
hadoop 3.2.2 lib jar 包跟hive的冲突
log4j-slf4j-impl-2.10.0.jar重复
cd $HIVE_HOME/lib rm log4j-slf4j-impl-2.10.0.jar ## 或者cp到其他位置,备份防止删错
guava.jar 版本冲突
hadoop版本guava是27的,hive的是19,所以删除hive目录下,把hadoop目录下的粘贴过来。
备注:删除低版本,复制高版本。
cd $HIVE_HOME/lib rm guava-19.0.jar cp $HADOOP_HOME/share/hadoop/common/lib/guava-27.0-jre.jar $HIVE_HOME/lib/
修改hdfs 上tmp 权限
不修改的话,hive metastore 会报错
hdfs dfs -chmod -R 777 /tmp
启动
nohup hive --service metastore >> ./nohup.out 2>&1 &
nohup hive --service hiveserver2 >> ./nohup.out 2>&1 &
在linux上操作可以以下操作,进入,创建数据库或者创建数据等
cd $HIVE_HOME/bin
./hive
dbeaver 连接hive
linux 有的时候敲sql还是不方便,所以还是得有个windows操作的工具。
dbeaver 这款个人认为比navicat更强大,可以连接的数据库类型更多。下载免费的版本就行,然后新建一个连接hive数据库。
点击编辑驱动
1. 原始的驱动删除,sz 下载linux以下两个文件
hadoop-common-3.2.2.jar
hive-jdbc-3.1.2-standalone.jar
sz $HADOOP_HOME/share/hadoop/common/hadoop-common-3.2.2.jar
sz $HIVE_HOME/jdbc/hive-jdbc-3.1.2-standalone.jar
用户名密码不设置也可以连接
2. 配置core-site.xml 重启hadoop,hive
将“xxx”替换成自己的用户名。
<property><name>hadoop.proxyuser.xxx.hosts</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.xxx.groups</name><value>*</value>
</property>
重启hadoop,先stop-all.sh,再start-all.sh
Hive 报错问题
1. SLF4J: Class path contains multiple SLF4J bindings.
与hadoop中的log4j重复,log4j-slf4j-impl-2.10.0.jar重复
cd $HIVE_HOME/lib
rm log4j-slf4j-impl-2.10.0.jar
2. Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7fHvhcZ8-1637110689766)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211116140121888.png)]
原因:
hadoop和hive的两个guava.jar版本不一致
两个位置分别位于下面两个目录:
- /usr/local/hive/lib/
- /usr/local/hadoop/share/hadoop/common/lib/
解决办法:
删除低版本的那个,将高版本的复制到低版本目录下
cd $HADOOP_HOME/share/hadoop/common/lib
find guava*
##显示guava-27.0-jre.jar
cd $HIVE_HOME/lib
find guava*
##显示guava-19.0.jar, 所以删hive路径下的,复制hadoop路径下的,hadoop路径下的软连接也可以
rm guava-19.0.jar
cp $HADOOP_HOME/share/hadoop/common/lib/guava-27.0-jre.jar $HIVE_HOME/lib/
3. Exception in thread “main” [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ‘<’ (code 60) (expected a name start character)
hive-site.xml 文件中有非法字符,后面提示我是20行
看了一下是我mysql 密码中有&# 字符,重新设置了mysql密码
alter user '用户名'@'%' identified by 'newpassword';
flush privileges;
4. 错误:FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
hive (default)> create database hive1;
FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
解决办法:
(1) 初始化数据库
[hadoop@hadoop001 ~]$ schematool -dbType mysql -initSchema
(2) hive-site 配置文件有问题
Hive 3.1.2Linux CentOs 安装,踩坑 Dbeaver 连接Hive相关推荐
- Android Studio安装踩坑
title: Android Studio安装踩坑 date: 2018-09-07 19:31:32 updated: tags: [Android,Android Studio,坑] descri ...
- anaconda+cuda+cudnn+pytorch安装踩坑大全
windows环境下anaconda+pycharm+cuda+cudnn+pytorch安装踩坑大全 anaconda安装 pycharm安装 cuda cudnn pytorch gym环境安装 ...
- windos下 elasticksearch7.13安装踩坑记
windos下 elasticksearch7.13安装踩坑记 一,环境配置 环境要求 java jdk16下载安装 elasticksearch7.13下载安装 遇到的问题 (待更新) 一,环境配置 ...
- Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇)
Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇) 折腾了两三天总算顺利在电脑上完成了装x的双系统安装,一路走来还比较顺利,主要在ubuntu的显卡设置上躺了 ...
- Windows环境下PyTorch_geometric安装踩坑
Windows环境下PyTorch_geometric安装踩坑 pytorch geometric在windows环境下安装非常恶心,莫名其妙各种报错.本帖针对GCC的编译error提供解决方案. 一 ...
- 坑!mongodb安装踩坑坑坑坑!
MongoDB安装踩坑坑坑坑! 鉴于网上有很多手把手的教程,我就不ctrl cv了,主要说一下我参考了哪些教程以及踩的坑 进官网进了半天进不去,爬了个楼梯才上去 进去之后,迅雷没会员根本下 ...
- YOLO V5 CPU版本安装踩坑记录
YOLO V5 CPU版本安装踩坑记录 单纯的记录下yolov5进行检测遇到了点问题的解决方法 安装过程: 准备: 1,下载YOLOv5 github项目:https://github.com/ult ...
- nnUNet安装踩坑记录
nnUNet安装踩坑记录 论文地址:https://arxiv.org/abs/1809.10486 https://github.com/MIC-DKFZ/nnUNet 更新于2020/12/04: ...
- pyqt5安装踩坑记录
pyqt5安装踩坑记录
最新文章
- python参数类型限定_python限定方法参数类型、返回值类型、变量类型等|python3教程|python入门|python教程...
- “我的父老乡亲”公益征文活动 ——讲述平凡故事,记录小的伟大
- 事件标志组的等待与通知
- dblclick,默认全选屏蔽
- linux shell if判断字符串是否包含某字符串
- android锁屏显示应用程序,今日应用:微软又给 Android 做了一款锁屏应用
- 使用post访问不到接口_Postman工具使用说明
- 解除单个文件的与svn服务器的关联
- JAVA_SE基础——24.面向对象的内存分析
- Redis(案例一:注册登录-图形验证码+谷歌开源Kaptcha)
- [转]xargs详解
- 安卓手机运行ios教程_安卓手机充电提示音教程
- lr_save_var() 截取任意字符串长度,以参数形式输出(参数转变量)
- ELK 收集 Tomcat 日志
- 二进制、十进制、八进制、十六进制转换对照表
- D-Link DWA-160 wifi抓包
- OpenSIPS实战(一):OpenSIPS使用简介
- 如何建立风险分析模型
- 电脑自动开机+自动输入密码
- python ---图片转为卡通图