一 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&useUnicode=true&characterEncoding=UTF-8&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版本是支持的。
版权归原作者 香草冰淇淋OcO 所有, 如有侵权,请联系我们删除。