数据学习从0到1 Apache Hive部署指南

160 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第22天 juejin.cn/post/716729…

下载地址

archive.apache.org/dist/hive/

hive.apache.org/downloads.h…

这里我们下载hive-3.1.2这个版本

软件地址在这:

链接: pan.baidu.com/s/1sYvZsTc4… 提取码: jewn --来自百度网盘超级会员v7的分享

部署

部署Mysql8.x

1.下载镜像

yum install wget

wget dev.mysql.com/get/mysql80…

2.安装镜像

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

3.升级系统中的软件包

yum update mysql-server

4.安装mysql

yum -y install mysql-server

提示:

失败的软件包是:mysql-community-icu-data-files-8.0.30-1.el7.x86_64GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

重新导入密钥并执行安装

rpm --import repo.mysql.com/RPM-GPG-KEY…

yum -y install mysql-server

安装完毕

5.修改文件权限

chown mysql:mysql -R /var/lib/mysql

6.初始化

mysqld --initialize

7.启动设置开机自启动

systemctl start mysqld.service

systemctl enable mysqld.service

systemctl daemon-reload

看到active状态表示正常

8.查看版本

mysqladmin --version

9.进入mysql

mysql -u root -p

权限错误

10.重置密码

#关闭服务

systemctl stop mysqld

#跳过检查方式启动

mysqld --user=root --skip-grant-tables &

#登录mysql

mysql:mysql -u root -p

#刷新权限

flush privileges;

#修改密码

use mysql;

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

11.开启mysql远程

#登录

mysql -u root -p 你的密码

#查询数据库的用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

#更新用户表

UPDATE user SET Host = '%' WHERE User = 'root' LIMIT 1;

alter user 'root'@'%' identified with mysql_native_password by '你的密码';

#刷新权限

flush privileges;

12.使用Navicat测试连接

连接成功即可

备份快照

部署Hive

由于Hive本身属于Hadoop客户端工具,所以放在任意节点都可以

这里我们选择部署在客户机bigdata04上

1.上传安装包并解压:

2.进入conf目录 修改模板文件

mv hive-env.sh.template hive-env.sh

mv hive-default.xml.template hive-site.xml

3.修改hive-env.sh配置文件内容并保存

vi hive-env.sh

#添加如下三行内容

export JAVA_HOME=/data/soft/jdk1.8

export HIVE_HOME=/data/soft/apache-hive-3.1.2-bin

export HADOOP_HOME=/data/soft/hadoop-3.2.0

4.修改hive-site.xml文件具体内容

  1. 指定元数据存放数据库为mysql

  2. 指定日志目录与资源目录

修改Hive中的hive-site.xml配置文件

vi hive-site.xml

   javax.jdo.option.ConnectionURL

  jdbc:mysql://mysqlIp:3306/hive?serverTimezone=Asia/Shanghai

   javax.jdo.option.ConnectionDriverName

   com.mysql.cj.jdbc.Driver

   javax.jdo.option.ConnectionUserName

  root

   javax.jdo.option.ConnectionPassword

  admin

  hive.querylog.location

  /data/hive_repo/querylog

   hive.exec.local.scratchdir

  /data/hive_repo/scratchdir

   hive.downloaded.resources.dir

  /data/hive_repo/resources

5.在bigdata01节点上修改Hadoop配置

这里配置的目的是处理beeline连接产生的错误信息

在Hadoop的core-site.xml文件中增加下面配置

vi core-site.xml

  

       hadoop.proxyuser.root.hosts

    *

  

  

       hadoop.proxyuser.root.groups

    *

  

6.同步bigdata01的core-site.xml到bigdata02和bigdata03

scp -rq /data/soft/hadoop-3.2.0/etc/hadoop/core-site.xml bigdata02:/data/soft/hadoop-3.2.0/etc/hadoop/

scp -rq /data/soft/hadoop-3.2.0/etc/hadoop/core-site.xml bigdata03:/data/soft/hadoop-3.2.0/etc/hadoop/

ps:bigdata04节点不需要修改此配置

8.重启Hadoop集群

stop-all.sh

start-all.sh

重启完成

9.初始化Hive的Metastore

  1. 拷贝jdbc驱动包到hive lib目录下

  2. 打开hive-site.xml

  3. 删除hive.txn.xlock.iow对应的description标签

  4. 这个位置原始配置有问题

  5. 在MySQL下创建hive数据库

  6. 初始化:

bin/schematool -dbType mysql -initSchema

初始化成功标志