Hive安装配置

安装配置Hive

一、安装数据库mariadb

1、安装

yum install mariadb-server -y

2、配置

1)启动
systemctl start mariadb
2)设置开机启动
systemctl enable mariadb
3)首次安装需要进行数据库的配置,命令都和mysql的一样
mysql_secure_installation
4) 配置时出现的各个选项
# 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车
Enter current password for root (enter for none):
# 设置密码,y
Set root password? [Y/n] y
# 新密码
New password: 
# 再次输入密码
Re-enter new password:
# 移除匿名用户, y
Remove anonymous users? [Y/n] y
# 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录
Disallow root login remotely? [Y/n] n
# 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要
Remove test database and access to it? [Y/n] y
# 重新加载权限表,y。或者重启服务也许
Reload privilege tables now? [Y/n] y

3、测试

测试是否能够登录成功,出现 MariaDB [(none)]> 就表示已经能够正常登录使用MariaDB数据库了

[root@mini ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

4、设置MariaDB字符集为utf-8

1)/etc/my.cnf 文件
vim /etc/my.cnf

在 [mysqld] 标签下添加

init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
2)/etc/my.cnf.d/client.cnf 文件
vim /etc/my.cnf.d/client.cnf 

在 [client] 标签下添加

default-character-set=utf8
3)/etc/my.cnf.d/mysql-clients.cnf 文件
vim /etc/my.cnf.d/mysql-clients.cnf

在 [mysql] 标签下添加

default-character-set=utf8
4)重启
systemctl restart mariadb
5)进入mariadb查看字符集
MariaDB [mysql]> show variables like "%character%";show variables like "%collation%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database   | utf8_unicode_ci |
| collation_server     | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)

MariaDB [mysql]>

5、远程链接mariadb数据库

mariadb默认是拒绝 root 远程登录的。这里用的是 navicat 软件连接数据库

1)关闭防火墙
systemctl stop firewalld
2)在不关闭防火墙的情况下
(1)查看3306端口是否开启
firewall-cmd --query-port=3306/tcp
(2)开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
(3)重启防火墙
firewall-cmd --reload
(4)查看3306端口是否开启
firewall-cmd --query-port=3306/tcp
3)先查看mysql数据库中的user表

先通过本地链接进入数据库

mysql -u root -p
MariaDB [(none)]> use mysql;
MariaDB [(none)]> use mysql;

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)
4)将与主机名相等的字段改为 “%” ,我的主机名为xx
MariaDB [mysql]> update user set host='%' where host='::1';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| %         | root |
| 127.0.0.1 | root |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)
5)刷新权限表,或重启mariadb服务,一下二选一即可
flush privileges;
systemctl restart mariadb

注意:刷新权限表是在数据库中,重启服务是在外部命令行中

6)远程链接mariadb

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TVkgFZWo-1653389985537)(C:\Users\24602\AppData\Roaming\Typora\typora-user-images\1653362737907.png)]

二、安装配置Hive

1、下载

选择对应版本

地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

2、上传到操作系统中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xgzsjedO-1653389985538)(C:\Users\24602\AppData\Roaming\Typora\typora-user-images\1653381220844.png)]

3、解压

tar -zxvf apache-hive-2.3.9-bin.tar.gz

4、重命名

mv apache-hive-2.3.9-bin hive

5、移动到安装目录

mv hive /opt/

6、配置环境变量

vim /etc/profile
export HIVE_HOME=/opt/hive
export PATH=$PATH:$HIVE_HOME/bin

使配置文件生效

source /etc/profile

7、修改配置文件

1)进入conf目录
cd /opt/hive/conf
2)拷贝hive-env.sh.template文件为hive-env.sh
cp hive-env.sh.template hive-env.sh
3)打开hive-env.sh文件
vim hive-env.sh
4)在文件末尾增加如下参数
HADOOP_HOME=/opt/hadoop
export HIVE_CONF_DIR=/opt/hive/conf
5)使用vi命令新建一个hive-site.xml
vim hive-site.xml
6)在打开的hive-site.xml文件中配置如下信息
<?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/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

8、配置元数据库

1)从mysql官网中下载mysql驱动,地址如下

https://downloads.mysql.com/archives/c-j/

注意,下载5.1.49版本的即可,不要下载更高版本的。具体下载地址如下:

https://cdn.mysql.com/archives/mysql-connector-java-5.1/mysql-connector-java-5.1.49.tar.gz

2)将下载好的mysql驱动mysql-connector-java-5.1.49.tar.gz上传至主节点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eN0nzOkZ-1653389985539)(C:\Users\24602\AppData\Roaming\Typora\typora-user-images\1653382598890.png)]

3)解压mysql-connector-java-5.1.49.tar.gz
tar -zxvf mysql-connector-java-5.1.49.tar.gz
4)进入解压得到的mysql-connector-java-5.1.49目录,将mysql驱动文件mysql-connector-java-5.1.49.jar重命名mysql驱动文件的名称(去掉版本号)
cd mysql-connector-java-5.1.49
mv mysql-connector-java-5.1.49.jar mysql-connector-java.jar
5)将MySQL驱动移动到Hive安装目录的lib目录下
mv mysql-connector-java.jar /opt/hive/lib
6)登录Mariadb
mysql -u root -p
7)新建hive数据库,这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,用来保存hive元数据
create database hive;
8)配置mysql允许hive接入,将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码:
grant all on *.* to hive@localhost identified by 'hive';
9)刷新mysql系统权限关系表
flush privileges;

重要:修改hive元数据库的编码为latin1,若不修改则会导致在hive cli中使用create database(创建数据库)、create table(创建表)、drop talbe(删除表)等命令时出现卡住或报错而无法正确执行的问题。

alter database hive character set latin1;
10)初始化schema

进入指定的目录

cd /opt/hive/bin

初始化,如果要使用默认的derby数据库则将命令中的mysql替换成derby即可

./schematool -initSchema -dbType mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m8m8c5Id-1653389985539)(C:\Users\24602\AppData\Roaming\Typora\typora-user-images\1653382941819.png)]

11)启动hive cli测试

注意:由于hive是使用HDFS来存储数据的,而且其语句默认是自动转换成MapReduce程序来执行的,所以在启动hive之前,需要先启动Hadoop集群,否则将启动失败。

(1)启动hadoop集群
start-all.sh
(2)启动Hive cli

需要在/tmp目录下创建一个hive目录

mkdir /tmp/hive
hive

/bin


初始化,如果要使用默认的derby数据库则将命令中的mysql替换成derby即可

```bash
./schematool -initSchema -dbType mysql

[外链图片转存中…(img-m8m8c5Id-1653389985539)]

11)启动hive cli测试

注意:由于hive是使用HDFS来存储数据的,而且其语句默认是自动转换成MapReduce程序来执行的,所以在启动hive之前,需要先启动Hadoop集群,否则将启动失败。

(1)启动hadoop集群
start-all.sh
(2)启动Hive cli

需要在/tmp目录下创建一个hive目录

mkdir /tmp/hive
hive

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M6NqvkDw-1653389985539)(C:\Users\24602\AppData\Roaming\Typora\typora-user-images\1653383173708.png)]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向山海出发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值