Hive安装

BUG之神 94

Hive的搭建非常简单,只需要在任一节点搭建即可

Hive安装

如图所示,在大数据集群中搭建了hive的客户端,由于hive的数据源是hdfs分布式文件系统,所以hive必须是大数据集群中的一员。需要在hive节点中搭建hive和mysql,mysql用于存储hive的元数据

 

在slave3节点中操作:

一、安装mysql

这里采用yum安装,首先更新yum中的二进制安装包,因为centos7以及之后的版本中,yum工具不再提供对mysql的安装包支持,若是要用yum在线安装mysql,需先使用rpm命令更新yum安装库

1.将mysql yum库二进制文件上传到/app/

Hive安装

2.更新库文件:

[root@slave3 app]# cd /root/app

[root@slave3 app]# ls

hadoop-2.7.7  jdk1.8.0_202  mysql-community-release-el7-5.noarch.rpm  Python-3.9.6

[root@slave3 app]# rpm -ivh mysql-community-release-el7-5.noarch.rpm

准备中...                          ################################# [100%]

正在升级/安装...

1:mysql-community-release-el7-5    ################################# [100%]

[root@slave3 app]#

其中参数i表示安装,v表示显示安装的过程信息,h参数表示显示安装的进度条

3.更新后采用yum list查询与mysql相关的安装包:

[root@slave3 app]# yum list | grep mysql

4.安装mysql的如下安装包:client devel server

[root@slave3 app]# yum -y install mysql-community-client.x86_64 mysql-community-devel.x86_64 mysql-community-server.x86_64

 

警告:/var/cache/yum/x86_64/7/mysql56-community/packages/mysql-community-common-5.6.51-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY

mysql-community-common-5.6.51-2.el7.x86_64.rpm 的公钥尚未安装

警告:RPM 数据库已被非 yum 程序修改。

5.安装完成后重启mysql服务器:

[root@slave3 app]# systemctl restart mysqld

6.给root用户设置密码为root(设置为root是学习过程中方便记忆,生产环境绝对不能设置为root,此密码太简单,非常危险!)

[root@slave3 app]# mysqladmin -u root password 'root'

Warning: Using a password on the command line interface can be insecure. #此提示为密码不安全警告

7.登录mysql并创建数据库metadata,此数据库用于存储hive元数据,名字可以任取,但是这个数据库名称需要与hive配置文件中的名称一致。

[root@slave3 app]# mysql -uroot -proot

mysql> create database hive_metadata;

Query OK, 1 row affected (0.00 sec)

 

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| hive_metadata      |

| mysql              |

| performance_schema |

+--------------------+

4 rows in set (0.00 sec)

 


二.安装hive

将hive和mysql连接文件上传到slave3下的/root/app/

 

Hive安装

1.安装hive:

[root@slave3 app]# cd /root/app

[root@slave3 app]# ls

apache-hive-1.2.2-bin.tar.gz  mysql-community-release-el7-5.noarch.rpm

hadoop-2.7.7                  mysql-connector-java-5.1.46-bin.jar

jdk1.8.0_202                  Python-3.9.6

[root@slave3 app]# tar -zxvf apache-hive-1.2.2-bin.tar.gz

[root@slave3 app]# rm -rf apache-hive-1.2.2-bin.tar.gz #安装完成后删除没用的hive安装包

#进入hive的安装目录,并打印安装目录的路径

[root@slave3 app]# cd apache-hive-1.2.2-bin

[root@slave3 apache-hive-1.2.2-bin]# pwd

/root/app/apache-hive-1.2.2-bin

[root@slave3 apache-hive-1.2.2-bin]#

编辑配置文件:

[root@slave3 apache-hive-1.2.2-bin]# vim /etc/profile

添加如下配置

Hive安装

配置代码:

#hive path

export HIVE_HOME=/root/app/apache-hive-1.2.2-bin

export PATH=$PATH:$HIVE_HOME/bin

 

#使配置生效:

[root@slave3 apache-hive-1.2.2-bin]# source /etc/profile

[root@slave3 apache-hive-1.2.2-bin]# hive

 

出现如下信息说明hive安装成功:

Hive安装

可能出现的错误:

1.拒绝连接

Hive安装

需要先启动hadoop集群,在master上执行以下命令:

[root@master ~]# start-all.sh

待集群启动后,在浏览器查看master:50070能不能成功访问,能成功访问再执行hive命令检测此时是否会出现hive登录页面

2.jline版本不一,可能会报错,需要hadoop和hive中的jline版本一致才行

[root@slave3 apache-hive-1.2.2-bin]# ls /root/app/apache-hive-1.2.2-bin/lib

Hive下的jline版本为:jline-2.12.jar

[root@slave3 apache-hive-1.2.2-bin]# cd /root/app/hadoop-2.7.7/share/hadoop/yarn/lib

Hadoop下的jline版本为:我这里没有,但是hive没报错,所以不管

如果报错,就将两个jline版本搞成一样,例如删掉hadoop的jline,用cp命令复制hive的jline到此目录中


三.配置Hive

[root@slave3 conf]# cd /root/app/apache-hive-1.2.2-bin/conf

[root@slave3 conf]# ls

beeline-log4j.properties.template  hive-env.sh.template                 hive-log4j.properties.template

hive-default.xml.template          hive-exec-log4j.properties.template  ivysettings.xml

#根据hive-log4j.properties.template为模板复制一个hive-site.xml文件:

[root@slave3 conf]# cp hive-default.xml.template hive-site.xml

在编辑配置文件之前首先先在hive的安装目录下创建临时文件存储路径:/hive/tmp

[root@slave3 conf]# mkdir -p /root/app/apache-hive-1.2.2-bin/hive/tmp

编辑:hive-site.xml

由于此文件下的配置项很多,有上千行,在vim命令模式下可以加斜杠搜索

 

配置项:

//指定hive数据库连接:

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive_metadata?createDatabaseIfNotExist=true

Hive安装

//指定mysql驱动

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Hive安装

//指定连接数据库用户名

javax.jdo.option.ConnectionUserName

root

Hive安装

//指定连接数据库的密码

javax.jdo.option.ConnectionPassword

root

Hive安装

//指定hive作业的临时空间,如果没有此目录需事先创建

hive.exec.local.scratchdir

/root/app/apache-hive-1.2.2-bin/hive/tmp

Hive安装

//设置资源的下载路劲

hive.downloaded.resources.dir

/root/app/apache-hive-1.2.2-bin/hive/tmp/${hive.session.id}_resources

Hive安装

到此配置完成,wq保存退出vim

此配置文件我设置好的已经保存到当前文件夹的hive-site.xml,下次直接上传使用即可,不需再重复配置

 

最后将mysql连接工具的包移动到hive安装目录的lib目录下

[root@slave3 conf]# mv /root/app/mysql-connector-java-5.1.46-bin.jar  /root/app/apache-hive-1.2.2-bin/lib/

 

[root@slave3 conf]# cd /root/app/apache-hive-1.2.2-bin/lib/

[root@slave3 lib]# ls mysql-connector*

mysql-connector-java-5.1.46-bin.jar

[root@slave3 lib]#

到此,整个hive的安装结束

 

再次执行hive命令,执行后,如果mysql数据库中生成了hive相关的表,说明hive安装配置成功

[root@slave3 app]# hive

 

Logging initialized using configuration in jar:file:/root/app/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties

hive>

[5]+  已停止               hive

[root@slave3 app]# mysql -u root -proot

mysql> use hive_metadata;

mysql> show tables;

+---------------------------+

| Tables_in_hive_metadata   |

+---------------------------+

| BUCKETING_COLS            |

| CDS                       |

| COLUMNS_V2                |

| DATABASE_PARAMS           |

| DBS                       |

| FUNCS                     |

| FUNC_RU                   |

| GLOBAL_PRIVS              |

| PARTITIONS                |

| PARTITION_KEYS            |

| PARTITION_KEY_VALS        |

| PARTITION_PARAMS          |

| PART_COL_STATS            |

| ROLES                     |

| SDS                       |

| SD_PARAMS                 |

| SEQUENCE_TABLE            |

| SERDES                    |

| SERDE_PARAMS              |

| SKEWED_COL_NAMES          |

| SKEWED_COL_VALUE_LOC_MAP  |

| SKEWED_STRING_LIST        |

| SKEWED_STRING_LIST_VALUES |

| SKEWED_VALUES             |

| SORT_COLS                 |

| TABLE_PARAMS              |

| TAB_COL_STATS             |

| TBLS                      |

| VERSION                   |

+---------------------------+

29 rows in set (0.00 sec)

可以看到数据库中有很多与hive相关的表,说明hive安装配置成功


 

分享