0


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

一 Hive的安装与配置

1.导包

① 把三台虚拟机和xshell启动

② 进入文件夹

[root@node01 ~]# cd /opt/software/
[root@node01 software]# ll

③ 导入tar包:apache-hive-2.3.3-bin.tar.gz,即下好tar包后拖拽到node01中即可。

[root@node01 software]# rz

[root@node01 software]# ll
总用量 226796
-rw-r--r--  1 root root 232229830 10月 13 09:58 apache-hive-2.3.3-bin.tar.gz
drwxr-xr-x  4 root root        62 10月 13 13:17 hadoop
drwxr-xr-x  2 root root      4096 9月  13 10:23 mysql
drwxr-xr-x  8 root root       147 10月 12 10:45 zookeeper-3.7.1

④ 对安装包进行解压

[root@node01 software]# tar -zxvf apache-hive-2.3.3-bin.tar.gz
解压后:
[root@node01 software]# ll
总用量 226796
-rw-r--r--  1 root root 232229830 10月 13 09:58 apache-hive-2.3.3-bin.tar.gz
drwxr-xr-x  4 root root        62 10月 13 13:17 hadoop
drwxr-xr-x  3 root root        17 10月 13 10:33 hive-2.3.3-bin
drwxr-xr-x  2 root root      4096 9月  13 10:23 mysql
drwxr-xr-x  8 root root       147 10月 12 10:45 zookeeper-3.7.1

⑤ 对安装包重命名

[root@node01 software]# mv apache-hive-2.3.3-bin hive-2.3.3
[root@node01 software]# ll
-rw-r--r--  1 root root 232229830 10月 13 09:58 apache-hive-2.3.3-bin.tar.gz
drwxr-xr-x  4 root root        62 10月 13 13:17 hadoop
drwxr-xr-x 10 root root      4096 10月 13 10:09 hive-2.3.3
drwxr-xr-x  2 root root      4096 9月  13 10:23 mysql
drwxr-xr-x  8 root root       147 10月 12 10:45 zookeeper-3.7.1

⑥ 查看lib,可以查看和外部联系和jar包,它可以和其他组件进行组合和关联的。

[root@node01 software]# cd hive-2.3.3
[root@node01 hive-2.3.3]# cd conf/
[root@node01 conf]# cd ..
[root@node01 hive-2.3.3]# cd lib/
[root@node01 lib]# 

⑦ 然后我们会发现没有jdbc的驱动,我们需要人工上传:mysql-connector-java-5.1.49.ja

2.元数据配置管理的修改

①vi hive-site.xml

[root@node01 lib]# cd ..
[root@node01 hive-2.3.3]# cd conf
[root@node01 conf]# ll
总用量 292
-rw-r--r-- 1 root root   1596 2月  17 2017 beeline-log4j2.properties.template
-rw-r--r-- 1 root root 257573 3月  29 2018 hive-default.xml.template
-rw-r--r-- 1 root root   2404 10月 13 10:21 hive-env.sh
-rw-r--r-- 1 root root   2274 2月  17 2017 hive-exec-log4j2.properties.template
-rw-r--r-- 1 root root   2920 10月 13 10:25 hive-log4j2.properties
-rw-r--r-- 1 root root   1290 10月 13 10:17 hive-site.xml
-rw-r--r-- 1 root root   2060 2月  17 2017 ivysettings.xml
-rw-r--r-- 1 root root   2719 3月   8 2018 llap-cli-log4j2.properties.template
-rw-r--r-- 1 root root   7041 3月   8 2018 llap-daemon-log4j2.properties.template
-rw-r--r-- 1 root root   2662 7月  21 2016 parquet-logging.properties
[root@node01 conf]# vi hive-site.xml
[root@node01 conf]# 

在Hive的conf下添加以下配置信息

(注释:进入环境后,按A以后即可编辑,

 编辑完成后按ESC→回车→:wq,即可保存退出

 如果没编辑好,可以ESC→:q!,即不保存退出)

<?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>

②hive-env.sh

[root@node01 conf]# cat /etc/profile

找到hadoop路径复制

给临时文件hive-env.sh.template重命名,进入环境

[root@node01 conf]# mv hive-env.sh.template hive-env.sh
[root@node01 conf]# vi hive-env.sh

修改环境

③hive-log4j2.properties

重命名,进入环境

[root@node01 conf]# mv hive-log4j2.properties.template hive-log4j2.properties
[root@node01 conf]# vi hive-log4j2.properties

④赋予权限

需要进入mysql数据库输入下面的代码:

mysql -uroot -p123456

修改MySQL数据库的权限

设置密码的验证强度等级。
set global validate_password_policy=LOW; 
设置密码的长度。
set global validate_password_length=6;
然后再进行赋予权限。
grant all privileges on *.* to root@"%" identified by "123456" with grant option;
grant all privileges on *.* to root@"localhost" identified by "123456" with grant option;

添加Hive的环境变量

export HIVE_HOME=/opt/software/hive-2.3.3
export PATH=${PATH}:${HIVE_HOME}/bin

初始化Hive

schematool -dbType mysql -initSchema

3.Hive的连接方式

这种方式在Hive3.X版本中已经被淘汰掉了,这里推荐使用第二种C/S模式

直接启动命令运行

hive

C/S模式运行Hive

hiveserver2   //可以等待大约10分钟在输入下行代码,也可以重开一个虚拟机窗口直接输入
beeline -u 'jdbc:hive2://192.168.67.110:10000' -n root

第一个窗口

第二个窗口

第一次运行可能会出现错误

原因是没有在Hadoop集群的core-site.xml添加配置文件

<property>
        <name>hadoop.proxyuser.root.hosts</name>    //root是自己虚拟机的用户名需要自己根据修改
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>

然后重启Hadoop集群

再次运行C/S方法就可以成功了。

4.Hive的优缺点

优点:

1.可扩展性强,支持横向扩展。因为其底层依赖于HDFS存储数据,支持集群扩展。Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。

2.延展性强。支持自定义函数。

3.良好的容错性。底层依赖于HDFS,有副本机制。

缺点:

1.查询起来很慢。

2.不支持事务。主要用来做OLAP(联机分析处理),而不是OLTP(联机事务处理)。

3.之前版本的Hive不支持删改操作的,但是新出来的3.0版本是支持的。

标签: hive 大数据 hadoop

本文转载自: https://blog.csdn.net/m0_63982362/article/details/127314119
版权归原作者 香草冰淇淋OcO 所有, 如有侵权,请联系我们删除。

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

还没有评论