0


Hive安装与配置及常见问题解决

  • Hive是什么?

hive是一个开源的用于大数据分析和统计的数据库工具,它的存储基于HDFS,计算基于MapReduce或Spark,可以将结构化数据映射成表,并提供类SQL查询功能。

  • Hive的特点:

提供类SQL查询,容易上手,开发方便

封装了很多方法,尽量避免了开发MapReduce程序,减少成本

支持自定义函数,可以根据需求实现函数

适用于处理大规模数据,小数据的处理没有优势

执行延迟较高,适合用于数据分析,不适合对时效性要求较高的场景

  • Hive的安装与配置详解

准备:打开三台虚拟机,并且连接好xshell

1.传输apache-hive-2.3.3-bin.tar.gz(hive官网地址:https://hive.apache.org/,下载对应版本即可)压缩包文件到/opt/software目录下,如下图所示:

   可以使用rz命令,选择路径上传,也可以直接把文件从本地拖拽致xshell内,也可以使用xftp来传输。

2.解压apache-hive-2.3.3-bin.tar.gz 到指定文件夹目录下

修改文件夹名,此步骤可忽略:

3.在/opt/software/hive-2.3.3/lib目录下上传mysql连接包,(下载地址:https://downloads.mysql.com/archives/c-j/) 4.在Hive的conf目录下下添加以下配置信息:

代码如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!--连接数据库地址,名称 -->  
    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://localhost:3306/myhive?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false</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>123456</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.schema.verification</name>
          <value>false</value>
    </property>
</configuration>

5.查看/etc/profile下Hadoop的安装路径

复制路径 6.改名,vi hive-log4j2.properties并且在对应的位置修改

property.hive.log.dir = /opt/software/hive-2.3.3/logs

7.编辑hive-env.sh,在文件对应的位置添加:

vi hive-env.sh
HADOOP_HOME=/opt/software/hadoop-2.9.2
export HIVE_CONF_DIR=/opt/software/hive-2.3.3-bin/conf

8.改名(可忽略),vi hive-log4j2.properties并且在对应位置修改自己的hive路径。

mv hive-log4j2.properties.template hive-log4j2.properties

在对应的位置修改:

property.hive.log.dir = /opt/software/hive-2.3.3/logs

9.给mysql赋予权限:mysql -uroot -p123456

10.赋予权限

grant all privileges on *.* to root@"%" identified by "123456" with grant option;

若此处报错:

先查看mysql初始密码策略。

SHOW VARIABLES LIKE 'validate_password%';

设置密码的验证强度等级。

set global validate_password_policy=LOW;

设置密码的长度。

set global validate_password_length=6;

然后再进行赋予权限。

grant all privileges on *.* to root@"localhost" identified by "123456" with grant option;

11.配置HIVE_HOME到系统环境变量中:vi /etc/profile,添加Hadoop和hive的路径。12.配置完后需要重新加载配置文件:

重新加载:

source /etc/profile。

13.初始化Hive,执行以下命令

schematool -dbType mysql -initSchema

14.执行hive命令进行连接,如图所示即成功,show databases;可查看。

15.执行hiveserver2,启动服务端,Hive的bin目录下有hiveserver2,启动bin/ hiveserver2。

16.新建node01,使用如下命令进行客户端连接:

beeline -u 'jdbc:hive2://192.168.67.110:10000' -n root

17.若启动异常,则需要在hadoop路径下配置文件core-site.xml中加入:

代码:

<property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>

并且重新初始化集群即可。

若出现上述问题,则需要先删除hive数据库,然后使用命令进行初始化。

初始化命令:

schematool -dbType mysql -initSchema

18.关闭集群,并且格式化hdfs。

输入Y19.在hadoop路径下删除hdfs,再新建(mkdir hsfs目录),再在hdfs目录下新建data,name,tmp目录。

20.node02,node03同理

21.重新格式化

22.在浏览器中访问node01地址,如下图所示则集群正常。

23.重新启动hiveserver2服务

客户端连接成功后,若如图所示即成功安装配置好了hive。

  • 常见问题

一、在给mysql赋予权限时报错

解决方法:

修改mysql的初始密码策略
1.将密码的验证强度设为低级

set global validate_password_policy=LOW;

2.将密码长度设置为6位

set global validate_password_length=6;

二、Hive连接过程中失败使用jps查看hadoop集群是否启动

重新启动集群start-dfs.sh start-yarn.sh后即可解决

标签: 数据库 sql hive

本文转载自: https://blog.csdn.net/m0_73734232/article/details/127320459
版权归原作者 中發白白白 所有, 如有侵权,请联系我们删除。

“Hive安装与配置及常见问题解决”的评论:

还没有评论