栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive的安装部署

Hive的安装部署

Hive的安装部署

hive的安装

1.Hive 安装及配置2. 启动并使用Hive3.遇到的问题 MySQL安装

1.查看 mysql 是否安装,如果安装了,卸载 mysql2.驱动拷贝3. 配置 metastore 到 MySql4. 安装MySQL Hive元数据配置到MySQL

1.登录MySQL2. 新建Hive元数据库3. 初始化Hive元数据库 再次启动Hive

1. 启动hive2. 使用hive


hive的安装 1.Hive 安装及配置

(1)把 apache-hive-3.1.2-bin.tar.gz 上传到 linux 的/opt/software 目录下
(2)解压 apache-hive-3.1.2-bin.tar.gz 到/opt/module/目录下面

[zx@hadoop102 sofeware]$ tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/

(3)修改 apache-hive-1.2.1-bin.tar.gz 的名称为 hive

[zx@hadoop102 module]$ mv apache-hive-3.1.2-bin/ hive

(4)配置环境变量

vim /etc/profile.d/my_env.sh
#添加如下内容
#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
#使环境变量生效
[zx@hadoop102 hive]$ source /etc/profile

(5)解决日志jar包冲突

[zx@hadoop102 hive]$ mv $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.jar $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.bak

(6)初始化元数据库

[zx@hadoop102 hive]$ bin/schematool -dbType derby -initSchema

初始化时报错:Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgumen
报错如下:
Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
at org.apache.hadoop.conf.Configuration.set(Configuration.java:1380)

at org.apache.hadoop.util.RunJar.main(RunJar.java:236)

原因:
hadoop和hive的两个guava.jar版本不一致
两个位置分别位于下面两个目录:

$HIVE_HOME/lib/$HIVE_HOME/share/hadoop/common/lib/

解决办法:
删除低版本的那个,将高版本的复制到低版本目录下

[zx@hadoop102 lib]$ mv guava-19.0.jar guava-19.0.jar_bak
[zx@hadoop102 hive]$ cp /opt/module/hadoop-3.1.3/share/hadoop/common/lib/guava-27.0-jre.jar lib/

再次初始化

成功

2. 启动并使用Hive

(1)启动hive
[zx@hadoop102 hive]$ bin/hive
(2)查看数据库

hive> show databases;

(3)打开默认数据库

hive> use default;

(4)显示 default 数据库中的表

hive> show tables;

(5)创建一张表

hive> create table student(id int  , name string);

(6)显示数据库中有几张表

hive> show tables;

(7)查看表的结构

hive> desc student;

(8)向表中插入数据

hive> insert into student values(1000,"ss");

(9)查询表中数据

hive> select * from student;

(10)退出 hive

hive> quit;
3.遇到的问题

再打开一个客户端窗口启动 hive,会产生 java.sql.SQLException 异常。
原因是,hive 默认使用发元数据库位 derby ,开启hive后就会占用数据库,且不会与其他用户共享数据,所以我们需要将hive的元数据库地址改为MySQL。

MySQL安装 1.查看 mysql 是否安装,如果安装了,卸载 mysql

(1)查看

[zx@hadoop102 sofeware]$ rpm -qa|grep mariadb
mariadb-libs-5.5.65-1.el7.x86_64

(2)卸载

[zx@hadoop102 sofeware]$ sudo rpm -e --nodeps mariadb-libs
2.驱动拷贝

将MySQL的JDBC驱动拷贝到HIVE的lib目录下
即拷贝/opt/software/mysql-libs/mysql-connector-java-5.1.27 目录下的 mysqlconnector-java-5.1.27-bin.jar 到/opt/module/hive/lib/

[zx@hadoop102 hive]$ cp /opt/sofeware/mysql-connector-java-5.1.27-bin.jar $HIVE_HOME/lib/
3. 配置 metastore 到 MySql

(1)在/opt/module/hive/conf 目录下创建一个 hive-site.xml

[zx@hadoop102 conf]$ touch hive-site.xml
[zx@hadoop102 conf]$ vi hive-site.xml
#添加如下内容



        
        
                javax.jdo.option.ConnectionURL
                jdbc:mysql://hadoop102:3306/metastore?useSSL=false
        
        
        
                javax.jdo.option.ConnectionDriverName
                com.mysql.jdbc.Driver
        
        
        
                javax.jdo.option.ConnectionUserName
                root
        
        
        
                javax.jdo.option.ConnectionPassword
                000000
        
        
        
                hive.metastore.schema.verification
                false
        
        
        
                hive.metastore.event.db.notification.api.auth
                false
        
        
        
                hive.metastore.warehouse.dir
                /user/hive/warehouse
        


4. 安装MySQL

(1)解压

[zx@hadoop102 sofeware]$ tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle_2.tar 


(2)在安装目录下执行rpm安装

[zx@hadoop102 sofeware]$ 
sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

注意:安装顺序依次执行 如果Linux是最小化安装的,在安装mysql-community-server-5.7.28-1.el7.x86_64.rpm时可能出现如下错误

通过yun安装缺少的依赖,然后重新安装mysql-community-server-5.7.28-1.el7.x86_64.rpm即可

[zx@hadoop102 sofeware]$ yum install -y libaio

(3)删除/etc/my.cnf文件中datadir指向的目录的所有内容(若该目录里无内容可以不做这步处理)
查看datadir的值

删除/var/lib/mysql目录下的所有内容

[zx@hadoop102 mysql]$ cd /var/lib/mysql
[zx@hadoop102 mysql]$ sudo rm -rf ./*

注意删除时千万不能少点,不然整个系统都会被删,即不能是 rm -rf /*
(4)初始化数据库

[zx@hadoop102 opt]$ sudo mysqld --initialize --user=mysql

(5)查看临时生成的root用户密码

[zx@hadoop102 opt]$ sudo cat /var/log/mysqld.log


密码:Le_OLmos,4?T
(6)启动MySQL数据库

[zx@hadoop102 opt]$ sudo systemctl start mysqld
[zx@hadoop102 opt]$ sudo systemctl start mysqld #可以设置开机自启

(7)登录MySQL数据库

[zx@hadoop102 opt]$ mysql -uroot -p[密码]

(8)必须先修改root用户的密码,否则执行其他的操作会报错

mysql> set password = password("000000");

(9)修改mysql库下的user表中的root用户允许任意ip连接

mysql> update mysql.user set host='%' where user='root';
mysql> flush privileges;
Hive元数据配置到MySQL 1.登录MySQL
[zx@hadoop102 opt]$ mysql -uroot -p000000
2. 新建Hive元数据库
mysql> create database metastore;
mysql> quit;


创建的数据库名要与之前配置的 hive-site.xml文件中一致

3. 初始化Hive元数据库
[zx@hadoop102 hive]$ schematool -initSchema -dbType mysql -verbose
再次启动Hive 1. 启动hive
[zx@hadoop102 hive]$ bin/hive
2. 使用hive
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/752811.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号