Hive如何安装
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,小编给大家分享一下Hive如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、Hive安装1.1、hive安装地址1
千家信息网最后更新 2025年12月02日Hive如何安装
小编给大家分享一下Hive如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1、Hive安装
1.1、hive安装地址
1)Hive官网地址 http://hive.apache.org/
2)文档查看地址 https://cwiki.apache.org/confluence/display/Hive/GettingStarted
3)下载地址 http://archive.apache.org/dist/hive/
4)github地址 https://github.com/apache/hive
1.2、Mysql安装
1.2.1、检查当前是否安装mysql
#rpm -qa查询 | -ivh安装 | -e --nodeps卸载(不检查依赖)rpm -qa|grep mariadb--> mariadb-libs-5.5.56-2.el7.x86_64 --如果存在通过如下命令卸载sudo rpm -e --nodeps mariadb-libs
1.2.2、解压并安装mysql
#必须按照如下顺序依次安装#MySQl运行环境sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm#MySQL运行jar包sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm#MySQL扩展jar包sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm#MySQL客户端sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm#MySQL服务器sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
1.2.3、删除datadir目录下内容
#查看datadir路径cat /etc/my.cnf--> datadir=/var/lib/mysql#清空路径目录下内容sudo rm -rf /var/lib/mysql
1.2.4、初始化数据库
sudo mysqld --initialize --user=mysql
1.2.5、启动数据库并修改相关配置
#启动mysql服务sudo systemctl start mysqldsudo systemctl status mysqld#查看临时密码sudo cat /var/log/mysqld.log#登录数据库mysql -uroot -p(换行中输入临时密码)#更改密码策略set global validate_password_length=4;set global validate_password_policy=0;#修改登录密码set password = password('123456')#修改mysql库下的user表中的root用户允许任意ip连接updata mysql.user set host="%" where user="root"#刷新数据库flush privileges1.3、Hive安装
1.3.1、安装部署
1)把apache-hive-3.1.2-bin.tar.gz上传到linux的/opt/software目录下2)解压apache-hive-3.1.2-bin.tar.gz到/opt/module/目录下面 --tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/3)修改apache-hive-3.1.2-bin.tar.gz的名称为hive --mv /opt/module/apache-hive-3.1.2-bin/ /opt/module/hive4)修改/etc/profile.d/my_env.sh,添加环境变量 --sudo vim /etc/profile.d/my_env.sh5)添加内容 #HIVE_HOME export HIVE_HOME=/opt/module/hive export PATH=$PATH:$HIVE_HOME/bin6)解决日志Jar包冲突 --mv $HIVE_HOME/lib/log4j2-slf4j-impl-2.10.0.jar $HIVE_HOME/lib/log4j2-slf4j-impl-2.10.0.bak
1.3.2、hive元数据配置到Mysql
#1.将MySQL的JDBC驱动放置在Hive的lib目录下cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib#2.配置Metastore到MySQLvim /opt/module/hive/conf/hive-site.xml
javax.jdo.option.ConnectionURL jdbc:mysql://hadoop102:3306/metastore?useSSL=false javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456 hive.metastore.warehouse.dir /user/hive/warehouse hive.server2.thrift.port 10000 hive.server2.thrift.bind.host hadoop102 hive.metastore.uris thrift://hadoop102:9083 hive.metastore.event.db.notification.api.auth false hive.metastore.schema.verification false hive.server2.active.passive.ha.enable true
1.4、启动Hive
1.4.1、元素据库初始化
#登录MySQL 创建元数据库create database metastore#退出MySQL 初始化元数据schematool -initSchema -dbType mysql -verbose
1.4.2、hive启动服务
#启动元数据服务(前台服务,连接mysql获取元数据)hive --service metastore#启动hiveserver2服务(前台服务,jdbc连接服务)hive --service hiveserver2#--0 标准输入 --1 标准输出 --2 错误输出 -->& 将一个句柄的输出写入到另一个句柄的输入中。#--nohup: 命令开头,表示不挂起,也就是关闭终端进程也继续保持运行状态 --&: 命令结尾,表示后台运行nohup hive --service metastore>log.txt 2>&1 &nohup hive --service hiveserver2>log2.txt 2>&1 &
1.4.3、hive启动服务脚本
#!/bin/bashHIVE_LOG_DIR=$HIVE_HOME/logsif [ ! -d $HIVE_LOG_DIR ]then mkdir -p $HIVE_LOG_DIRfi#检查进程是否运行正常,参数1为进程名,参数2为进程端口function check_process(){ pid=$(ps -ef 2>/dev/null | grep -v grep | grep -i $1 | awk '{print $2}') ppid=$(netstat -nltp 2>/dev/null | grep $2 | awk '{print $7}' | cut -d '/' -f 1) echo $pid [[ "$pid" =~ "$ppid" ]] && [ "$ppid" ] && return 0 || return 1}function hive_start(){ metapid=$(check_process HiveMetastore 9083) cmd="nohup hive --service metastore >$HIVE_LOG_DIR/metastore.log 2>&1 &" cmd=$cmd" sleep 4; hdfs dfsadmin -safemode wait >/dev/null 2>&1" [ -z "$metapid" ] && eval $cmd || echo "Metastroe服务已启动" server2pid=$(check_process HiveServer2 10000) cmd="nohup hive --service hiveserver2 >$HIVE_LOG_DIR/hiveServer2.log 2>&1 &" [ -z "$server2pid" ] && eval $cmd || echo "HiveServer2服务已启动"}function hive_stop(){ metapid=$(check_process HiveMetastore 9083) [ "$metapid" ] && kill $metapid || echo "Metastore服务未启动" server2pid=$(check_process HiveServer2 10000) [ "$server2pid" ] && kill $server2pid || echo "HiveServer2服务未启动"}case $1 in"start") hive_start ;;"stop") hive_stop ;;"restart") hive_stop sleep 2 hive_start ;;"status") check_process HiveMetastore 9083 >/dev/null && echo "Metastore服务运行正常" || echo "Metastore服务运行异常" check_process HiveServer2 10000 >/dev/null && echo "HiveServer2服务运行正常" || echo "HiveServer2服务运行异常" ;;*) echo Invalid Args! echo 'Usage: '$(basename $0)' start|stop|restart|status' ;;esac1.4.4、Hive两种启动方式
#1.Hive启动bin/hive#打印当前库与表头需配置hive-site.xmlhive.cli.print.header true Whether to print the names of the columns in query output. #2.JDBC启动beeline -u jdbc:hive2://hadoop102:10000 -n luck hive.cli.print.current.db true Whether to include the current database in the Hive prompt.
1.5 hive交互命令
#查看所有命令bin/hive -help#1. hive -e 不进入hive窗口执行sql语句bin/hive -e "select id from student;"#2. hive -f 执行脚本中的sql语句echo "select * from student" >> sql.txtbin/hive -f /opt/module/hive/datas/sql.txt > /opt/module/datas/hive_result.txt#3.hive中查看hdfs文件系统hive > dfs -ls#4.hive输入历史/home/luck/. hivehistory /home/luck/.beeline/history
1.6 属性配置说明
#1.hive日志存储位置 #修改hive-log4j.properties.template为hive-log4j.properties property.hive.log.dir=/opt/module/hive/logs #2.JVM堆内存设置 #修改hive-env.sh.template为hive-env.sh export HADOOP_HEAPSIZE=1024#3.参数配置的优先级 #3.1 配置文件(永久) #Hadoop配置文件-->默认配置文件:hive-default.xml-->用户自定义配置文件:hive-site.xml #3.2 命令行参数(hive启动前,仅对本次hive有效) beeline -u jdbc:hive2://hadoop102:10000 -n luck -hiveconf mapreduce.job.reduces=10; #3.3 参数声明(hive启动后,仅对本次hive有效) hive (default)> set mapreduce.job.reduces=10; #优先级:参数声明>命令行参数>配置文件
以上是"Hive如何安装"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
服务
配置
数据
运行
参数
命令
文件
内容
地址
数据库
目录
密码
进程
输入
篇文章
检查
登录
输出
有效
优先级
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
b5服务器分差
微信服务器接入
合肥一城一家网络技术
mdb数据库网络
网络安全培训内容模板
南京进口网络技术服务价格
网络安全巨头360
轮回服黑龙和鱼人服务器那个好
网络安全快乐健康手抄报内容字
南通网络安全应用
数据库可能因为硬件或软件
为确保居民网络安全上门检测
微信公众号连接服务器
nba2k22服务器怎么样
软件开发成本主要采用
率土之滨不同服务器
360电脑软件开发过程
数据库技术龙头
大镖客2失去服务器连接
数据库左连接是什么
5G网络技术包括
技术保障网络安全
控制服务器管理网站
金蝶加密服务器怎样自启动
微信云服务器怎么做
ad数据库字段update
黑龙江特种网络技术服务代理商
农安有名的网络技术服务什么价格
泸州市网络安全法培训
打印服务器共享扫描仪