centos hive mysql_CentOS7 安装 Hive 2.3.4 (远程 Metastore 模式)

本文详细介绍了如何在 CentOS7 上安装 Hive 2.3.4,并采用远程 Metastore 模式连接 MySQL 服务。首先,通过添加 MySQL 5.7 仓库并安装 MySQL 服务端和客户端,然后进行安全设置。接着,安装 Hive 并配置环境变量,修改 `hive-site.xml` 配置文件连接 MySQL 数据库。最后,执行初始化命令并测试 Hive,成功创建外部表并展示其在 HDFS 中的目录结构。
摘要由CSDN通过智能技术生成

分布式环境

继 CentOS7 安装 HA 模式 HDFS 集群准备分布式环境,同时增加节点 node09 用于部署 metastore server。

node01

node02

node03

node04

node05

node06

node07

node08

node09

1c

1c

1c

1c

1c

1c

1c

1c

1c

2G

2G

1G

1G

1G

1G

1G

1G

1G

10.4.96.4

10.4.96.5

10.4.96.6

10.4.96.7

10.4.96.8

10.4.96.9

10.4.96.10

10.4.96.11

10.4.96.12

hive

MySQL

1. 安装 MySQL 服务端和客户端

1.1 添加 mysql5.7 仓库

[root@node09 ~]# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

[root@node09 ~]# yum makecache fast

1.2 安装 MySQL

[root@node09 ~]# yum -y install mysql-community-server

1.3 启动

[root@node09 ~]# systemctl start mysqld

1.4 安全访问设置

查看默认 root 密码: [root@node09 ~]# cat /var/log/mysqld.log | grep -i 'temporary password'

更改 root 密码,移除匿名用户: [root@node09 ~]# mysql_secure_installation

移除 root 用户远程登录限制 [root@node09 ~]# mysql -hlocalhost -pAz123456_ -e "UPDATE mysql.user SET host='10.4.96.%' WHERE user='root';FLUSH PRIVILEGES;"

2. 安装 Hive (远程 Metastore 模式)

2.1 安装应用

创建安装目录

[root@node01 ~]# mkdir -p /opt/bigdata

下载解压到安装目录

[root@node01 ~]# curl https://archive.apache.org/dist/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz | tar -C /opt/bigdata -zxf -

[root@node01 ~]# mv /opt/bigdata/apache-hive-2.3.4-bin /opt/bigdata/hive-2.3.4

更改应用文件属主属组

[root@node01 ~]# chown -R god:root /opt/bigdata/hive-2.3.4

配置环境变量

[root@node01 ~]# tail -n3 /etc/profile

#Hive Environment variables

export HIVE_HOME=/opt/bigdata/hive-2.3.4

export PATH=$PATH:$HIVE_HOME/bin

[root@node01 ~]# source /etc/profile

2.2 配置应用

配置 hive-site.xml 文件

[root@node01 conf]# pwd

/opt/bigdata/hive-2.3.4/conf

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

[root@node01 conf]# vim hive-site.xml

...

hive.metastore.warehouse.dir

/user/hive/warehouse

javax.jdo.option.ConnectionURL

jdbc:mysql://node09:3306/hive?createDatabaseIfNotExist=true

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

root

javax.jdo.option.ConnectionPassword

Az123456_

将 mysql-connector-java-5.1.48.jar 拷贝到 hive home 的 lib 目录下,以支持 hive 对 MySQL 的连接操作。

[root@node01 lib]# pwd

/opt/bigdata/hive-2.3.4/lib

[root@node01 lib]# wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.48/mysql-connector-java-5.1.48.jar

Hive 2.1 之后版本要执行的初始命令

[root@node01 ~]# schematool -dbType mysql -initSchema

[root@node09 ~]# mysql -h10.4.96.12 -pAz123456_ -e "show databases;"

mysql: [Warning] Using a password on the command line interface can be insecure.

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

| Database |

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

| information_schema |

| hive |

| mysql |

| performance_schema |

| sys |

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

测试 hive

注意切换到 god 用户了,因为 hdfs 是用 god 用户启动的,参照前面的文章。 真烦,默认用 root 不就得了~

Hive-on-MR 在 Hive 2 中已弃用,在以后的版本中可能不可用。 考虑使用其他执行引擎(例如 spark,tez)或使用 Hive 1.X 版本。

[god@node01 ~]# hive

...

Logging initialized using configuration in jar:file:/opt/bigdata/hive-2.3.4/lib/hive-common-2.3.4.jar!/hive-log4j2.properties Async: true

Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.

hive>

3. 简单操作

创建表

hive> create EXTERNAL TABLE w_a

> (

> id INT,

> age INT,

> sex INT

> )

> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'

> LINES TERMINATED BY '\n';

OK

Time taken: 1.33 seconds

hive> show tables;

OK

w_a

Time taken: 0.082 seconds, Fetched: 1 row(s)

此时 hive 会在 hdfs 中创建对应目录

[god@node01 ~]$ hadoop fs -ls /user/hive/warehouse

Found 1 items

drwxr-xr-x - god supergroup 0 2020-05-18 18:49 /user/hive/warehouse/w_a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值