hive的环境搭建
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,因为hive是基于hadoop的,所以一定要有hadoop的平台支撑:hadoop分布式集群搭建:https://blog.51cto.com/14048416/23414911. 内嵌Derby版本
千家信息网最后更新 2025年02月02日hive的环境搭建
因为hive是基于hadoop的,所以一定要有hadoop的平台支撑:
hadoop分布式集群搭建:https://blog.51cto.com/14048416/2341491
1. 内嵌Derby版本:
安装步骤:
- 上传安装包:apache-hive-2.3.2-bin.tar.gz
- 解压安装包:tar -zxvf apache-hive-2.3.2-bin.tar.gz -C /application
- 进入进入到 bin 目录,运行 hive 脚本:./hive
- 初始化元数据库:./schematool -dbType derby -initSchema
- 最终测试进入hive后:hive>show tables;
安装时的常见错误:
- Error: FUNCTION 'NUCLEUS_ASCII' already exists. (state=X0Y68,code=30000),这表示metastore_db已经存在,在相应的进入hive的目录中删除metastore_db,然后重新初初始化元数据即可。
- Terminal initialization failed; falling back to unsupported。这是因为hadoop(/root/apps/hadoop-2.6.5/share/hadoop/yarn/lib)集群的 jline-0.9.94.jar 包版本 过低,替换成 hive/lib 中的 jline-2.12.jar 包即可,记住:所有 hdfs 节点都得替换。
注意:使用Derby方式部署的hive,在哪个工作空间进入hive,就会在哪个工作空间创建一个derby.log metastore_db,元数据。即元数据跟着空间跑,如果下次不在这个工作空间进入,则无法访问上传存储的数据。因此这也是使用Derby方式部署的hive的弊端。
2. 外置MySQL版本:
首先这里需要MySQL的服务,在集群的任意节点上配置MySQL。
安装步骤:
- 修改hive的配置文件:hive-site.xml
javax.jdo.option.ConnectionURL jdbc:mysql://hadoop02:3306/hivedb?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName Stay hungry Stay foolish -- http://blog.csdn.net/zhongqi2513com.mysql.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionUserName root username to use against metastore database javax.jdo.option.ConnectionPassword root password to use against metastore database hive.metastore.warehouse.dir /user/hive/warehouse - 把MySQL的驱动包,放置在hive/lib (mysql-connector-java-5.1.40-bin.jar)
- 配置hive的环境变量
export HIVE_HOME=/home/hadoop/apps/apache-hive-1.2.1-binexport PATH=$PATH:$HIVE_HOME/bin
- 验证hive的安装:hive -help
- 初始化元数据:schematool -dbType mysql -initSchema
- 启动hive的客户端:hive
注意:当配置好hive后,会在MySQL中生成57张表:
DBS:管理库的表:
TBLS:管理表的表
COLUMNS_V2:管理字段的表
3. 连接hive的客户端:
- 直接使用hive命令,进入hive进行操作
- 把hive启动成为一个后台服务:nohup hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &,然后使用beeline连接。
- [hadoop hadoop01@~]$beeline # 连接hive
- hadoop01>!connect jdbc:hive2://hadoop01:10000 #连接客户端连接hive仓库
- 或者 [hadoop hadoop01@~]$beeline -u jdbc:hive2://hadoop01:10000 -n hadoop
但是使用beeline连接通常会出现错误:Connecting to jdbc:hive2://hadoop01:10000Enter username for jdbc:hive2://hadoop01:10000: hadoopEnter password for jdbc:hive2://hadoop01:10000: ******18/10/15 16:30:37 [main]: WARN jdbc.HiveConnection: Failed to connect to hadoop01:10000Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop01:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: hadoop is not allowed to impersonate hadoop (state=08S01,code=0
报这个错误的原因不是hive本身,而是hive底层所依赖的hdfs的权限管理提高了,hadoop集群报出来的。必须做权限认证。
解决方法:
- 停止集群:stop-dfs.sh && stop-yarn.sh
- 修改hadoop的hdfs-site.xml配置文件:加入:
dfs.webhdfs.enabled true - 修改hadoop的core-site.xml文件,加入:
hadoop.proxyuser.hadoop.hosts * hadoop.proxyuser.hadoop.groups * - 重新启动hadoop集群,重新启动hive的 server,然后使用beeline连接即可。
4.用户接口的操作
hive的命令分成两大类:
- 进入hive客户端之后的操作:
- query:正常的操作语句(查询+库表的DDL操作)
- !linux命令:在hive客户端中执行Linux命令(只能执行部分)
- 在hive客户端中执行hadoop相关命令hive>!hadoop fs -ls / ; (以Linux命令的形式执行) 慢hive>dfs -ls /; 使用当前的hive客户端的jvm进程执行 快
常见操作有:
hive>quit; #退出hive的客户端hive>set key=value; #设置hive的参数hive>add jar xxx.jar #临时的向hive添加jar包hive>add file #向hive中的classpath中添加filehive>list jars #查看添加的jarhive>source file #执行一个脚本(这个脚本时存储在linux上)
- 进入hive客户端之前的操作:
[hadoop hadoop01@~]$ hive -e 'hql' #在linux下执行hive语句[hadoop hadoop01@~]$ hive -f linux中的hql脚本 #在Linux下执行hql脚本[hadoop hadoop01@~]$ hive -h hiveconf key=value # 进入hive客户端,并初始化参数(只能设置一个)[hadoop hadoop01@~]$ hive -i linux参数文件 #进入,hive并执行参数文件中的所有参数设置[hadoop hadoop01@~]$ hive -v #输出结果打印到控制台[hadoop hadoop01@~]$ hive -S #不打印日志,经常和-e参数使用[hadoop hadoop01@~]$ hive -S -e 'hql' >> file #将查询到的结果输出到Linux文件中
客户
客户端
参数
命令
数据
文件
集群
脚本
配置
空间
管理
版本
错误
工作
常见
方式
权限
步骤
目录
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
像素工厂135服务器
举办网络安全专题讲座的英语
嵌入式软件开发实训
云平台与服务器
如何取消服务器锁定
漩涡网络技术武汉有限公司
管理软件安装在服务器
绿园区网络技术咨询质量保障
智信移动版服务器地址
数据库2008服务器配置
部队信息网络安全自查自纠
云南 网络安全技能竞赛
云主机控制面板管理服务器
小学电子屏网络安全知识标语
微信运动 删除数据库
计算机网络技术的工作职责
暗黑3 台湾服务器
魔兽世界使用插件服务器不兼容
软件开发部负责人薪酬方案
iso版app软件开发
吴忠市办公软件开发公司
服务器错误请联系管理员
为什么轻轻一点数据库
网络服务器搭建与管理电子书
avast家庭网络安全
什么数据库用得多
t440服务器关机
plsql 数据库同步
国家网络安全工作包括
山东爱商网络技术有限公司潍坊