千家信息网

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.xml    hive.cli.print.header    true    Whether to print the names of the columns in query output.    hive.cli.print.current.db    true    Whether to include the current database in the Hive prompt.#2.JDBC启动beeline -u jdbc:hive2://hadoop102:10000 -n luck

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安全错误 数据库的锁怎样保障安全 哪个券商服务器速度快 中公优就业网络安全培训 网络安全讲座的心得两百字左右 将数据插入数据库中 查询数据库表中记录为空值 安徽数据库安全审计 互联网对科技影响力 服务器连接交换机用ic卡 电力监控系统网络安全全员配备 黄河科技学院软件开发 娄底网络安全委员会 数据库性能优化主要包括哪 方舟服务器传送丢物品 网络安全法 配备防火墙 黄埔区电力应急网络技术开发展示 避孕药具网络安全自查报告 计算机网络技术社会的作用 linux服务器时间校准 导出数据库的数据库 工业网络技术专业群 网络技术在大数据领域的作用 计算机网络技术都要学什么 dell服务器12内存槽插法 哪些数据库支持plsql 宁波网络技术服务报价 东信网络技术招聘 手游地下城怎么无法连接服务器 制造业mes软件开发价格 华为电脑上的网络安全密钥 北美服务器跟国产有区别吗
0