Hive如何安装
发表于:2024-09-28 作者:千家信息网编辑
千家信息网最后更新 2024年09月28日,小编给大家分享一下Hive如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、Hive安装1.1、hive安装地址1
千家信息网最后更新 2024年09月28日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 privileges
1.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' ;;esac
1.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安全错误
数据库的锁怎样保障安全
网络安全技术培育
数据库 分组递增统计
辅警公安信息网络安全培训会
天勤网络安全
云服务器上部署数据库
服务器3200差距
江西特色软件开发资费
银行软件开发运维
怎么查数据库字符集mysql
网络安全黑板报布置游戏
网上众筹网络安全大数据产品
visio怎么没有数据库
文化产品及服务数据库
数据库前缀什么意思
数据库计算列的作用
网络安全空间标准
北京学网络技术前景
小学生关于网络安全的演讲
网络安全管理员实操考什么
数据库系统关系的性质
网络安全扫描技术培训
太原互联网科技公司排名
高校网络安全事件
手机软件的数据库是什么
软件开发一定要用框架吗
属于信息网络技术的发展特点
贵阳做软件开发
成都拳头互联网科技
网络安全尖兵
多益网络安全