概念:

Hive是由Facebook实现并开源。是基于Hadoop的一个数据仓库工具,可以将结构化的数据映射为一张数据库表,并提供HQL(Hive SQL)查询功能。其底层数据时存储在HDFS上。Hive的本质是将SQL语句转换为MapReduce任务运行,使部署需MapReduce的用户很方便地利用HQL处理和计算HDFS上的结构化数据,使用于离线的批量数据计算。

一、下载

前提: 配置好hadoop分布式环境,我在上一篇博文写到Hadoop从零开始搭建完全分布式。

官网下载hive,这里我用hive-1.2.2版本:官网下载地址:http://mirrors.shu.edu.cn/apache/hive/hive-1.2.2/

我这里选择下载到本地然后通过xftp上传到虚拟机上。

解压:

tar -xzvf apache-hive-1.2.2-bin.tar.gz

重命名

mv apache-hive-1.2.2-bin hive-1.2.2

二、配置

(1)配置环境变量

vi /etc/profile

将以下添加在末尾

export HIVE_HOME=/software/hive-1.2.2
PAHT=$PATH:$HIVE_HOME/bin

刷新

source /etc/profile

查看

source /etc/profile


(2)配置文件
修改software/hive-1.2.2/conf/hive-env.sh.template为hive-env.sh。

cd /software/hive-1.2.2/conf/
cp hive-env.sh.template hive-env.sh
  • 配置HADOOP_HOME=/Hadoop所在路径
export HADOOP_HOME=/software/hadoop2.7.2
  • 配置HIVE_CONF_DIR=/Hive中conf文件夹路径
export HIVE_CONF_DIR=/software/hive-1.2.2/conf

三、启动

(1)启动HDFS
在hadoop01机上

start-dfs.sh

(2)启动YARN
在hadoop02机上

start-yarn.sh

通过jps检测启动情况

(3)在HDFS上创建/tmp和/user/hive/warehouse

hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse

(4)修改文件夹权限,同组可写

hadoop fs -chmod 775 /tmp
hadoop fs -chmod 775 /user/hive/warehouse

(5)启动Hive

hive

四、hive基本操作

1.基本操作(语法类似于MySQL)
2.显示所有数据库:show databases;
3.使用数据库(默认数据库default):use 数据库名;
4.显示使用数据库下所有表:show tables;
5.创建表:create table 表名(字段1 类型,字段2 类型…)
6.插入数据(map reduce):insert into 表名 (字段1,字段2…) values (数据1,数据2…)
7.查询数据:select 字段 from 表名;
8.删除表:drop table 表名;
9.退出:exit

五、安装mysql####

1. 卸载Mariadb

CentOS7自带的是 Mariadb
(1)查找

rpm -qa|grep mariadb

(2)删除

rpm -e --nodeps 上面查出来的文件名

(3)删除配置文件

rm /etc/my.cnf
2.下载mysql 8.0

这里我通过rpm安装
官网下载:mysql8.0.15

(1)解压

tar -xvf mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar


(2)安装
解决一些依赖

yum -y install numactl
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum update libstdc++-4.4.7-4.el6.x86_64
yum search libaio
yum install libaio
yum install net-tools
yum install openssl-devel

按次序安装

rpm -ivh MySQL-client-5.6.43-1.el7.x86_64.rpmrpm -ivh mysql-community-common-8.0.15-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.15-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.15-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm

(3)初始化

mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

(4)启动

systemctl start mysqld

(5)修改密码

  • 编辑配置文件
    vim /etc/my.cnf
    在[mysqld]下添加skip-grant-tables
    保存退出
  • 重启mysql服务
    systemctl restart mysqld
  • 通过mysql -uroot -p
    登录,密码直接回车即可
  • 选择mysql数据库
    use mysql;
  • 将默认密码清空
    update user set authentication_string=’’ where user=‘root’;
    exit命令退出
  • 删除 /etc/my.cnf 文件刚刚添加的 skip-grant-tables
    vim /etc/my.cnf
    选中skip-grant-tables所在行按两下d键即可删除
    保存退出
  • 重启mysql服务
    systemctl restart mysqld
  • 再次登录
    mysql -uroot -p
    登录,密码直接回车即可
  • 设置密码(我这里将密码设为root)
    选择mysql数据库
    use mysql;
    ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘root’;
  • 设置远程访问
    update user set host=’%’ where user=‘root’;
  • 重启
    exit退出
    重启服务systemctl restart mysqld
    重新通过mysql -uroot -proot登录
  • 远程连接
    我通过navicat远程连接,
  • 设置开机启动
    systemctl enable mysqld

至此,mysql安装完成。

六、hive关联mysql####

1.下载驱动jar

我安装的是mysql8.0.15版本,我找对应版本的jar
平时个人比较喜欢到mvnrepository去找jar,附上地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.15

将下载好的jar放到hadoop01虚拟机中hive安装目录的lib文件夹下

2.配置hive-site.xml

创建hive-site.xml

cd /software/hive-1.2.2/conf
vim hive-site.xml

将以下添加进去(灵活应变)

<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://192.168.17.134:3306/myhive?createDatabaseIfNotExist=true</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value></property>
</configuration>
3.重启整个集群

(1)在Hadoop02上

stop-yarn.sh

(2)在Hadoop01上

stop-dfs.sh

(3)在Hadoop01上

start-dfs.sh

(4)在Hadoop02上

start-yarn.sh

(5)在Hadoop01上重启mysql

systemctl restart mysqld
4.启动
hive


启动完成后用navicat查看发现已经自动创建了myhive数据库。

也可以通过命令行查看

mysql -uroot -proot
show databases;

5.其他配置(看需求)

hive-site.xml中

#数据库存放位置
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
#查询时显示字段名称和数据库名
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name><value>true</value>
</property> 

七、测试

(1)进入数据库

create database fuzui;
use fuzui;

(2)创建表

create table student(id int, name string, age int, sex string)
row format delimited fields terminated by ',';

在mysql中会看到创建这个表的字段信息

(3)退出hive

exit

(4)创建本地文件上传到HDFS
<1>我直接用的root用户,所以我在root目录下创建

cd /root
vim fz.txt

添加如下内容

201501,wangze,22,man
201502,wangchen,20,man
201503,liyu,20,woman
201504,zhangna,21,woman
201505,songxin,19,woman
201506,changyi,18,man
201507,liuni,20,woman
201508,zhaoming,22,man

保存退出
<2>上传hdfs

  • 创建文件夹
    hadoop fs -mkdir /myhive
  • 上传
    hadoop fs -put /root/fz.txt /myhive
  • 查看
    hadoop fs -cat /myhive/fz.txt

    (5)进入hive
hive

(6)导入hive表

  • 进入数据库
    use fuzui

  • 导入
    load data inpath '/myhive/fz.txt' into table student;

  • 查看数据
    select * from student;

  • 稍微复杂点的查询
    查询最小的女生多少岁
    select min(age) from student where sex = 'woman';
    这时,就开始一系列运行了,速度会慢。

至此,HIVE搭建成功!

HIVE的搭建配置及关联MySQL相关推荐

  1. windows8.1 下搭建配置apache+php+mysql

    软件版本: apache:Apache 2.4.10 Win64    http://www.apachelounge.com/download/VC11/binaries/httpd-2.4.10- ...

  2. hive2.3.2+mysql5.7.21驱动包_2018-08-30期 Hive外部元数据库配置

    一.说明 Hive默认情况下使用derby作为元数据库,derby元数据库只允许单连接,如果两个会话在相同目录去连接hive,会导致第二个连上的用户做相同操作报错,如下图: A用户连接到hive,并创 ...

  3. Hadoop集群搭建(八:Hive的安装配置)

    实验 目的 要求 目的: (1)掌握数据仓库工具Hive的安装和配置: 要求: 完成Hive工具的安装和配置: Hive工具能够正常启动运行: Hive控制台命令能够正常使用: 能够正常操作数据库.表 ...

  4. 大数据hadoop、mysql、hive超详细配置及问题解决

    1.前提准备 hadoop-3.1.3.tar.gz jdk-8u162-linux-x64.tar.gz mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz apa ...

  5. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程(转)

    转至:http://www.leapsoul.cn/?p=695 这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境 ...

  6. HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令

    1.上传tar包 这里我上传的是apache-hive-1.2.1-bin.tar.gz 2.解压 mkdir -p /home/tuzq/software/hive/ tar -zxvf apach ...

  7. SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

     要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...

  8. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程

    来源:http://www.leapsoul.cn/?p=695 这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境 ...

  9. Hive安装与配置MySQL元数据库

    一.MySQL的安装 1.1 更新获取最新软件源,并安装MySQL. sudo apt-get update sudo apt-get install mysql-server 1.2 启动和关闭My ...

最新文章

  1. 执行后可以查看python版本的是-【单选题】执行后可以查看Python的版本的是
  2. 1.7 Java try catch finally语句
  3. Linux -- gpasswd
  4. HALCON示例程序color_segmentation_pizza.hdev披萨肉饼识别。
  5. 【CF1179 A,B,C】Valeriy and Deque / Tolik and His Uncle / Serge and Dining Room
  6. design php 如何使用ant_Ant Design Pro初探—添加面包屑
  7. oracle inside(4)
  8. 嗨淘点赞运营版完整源码/刷单/手动派单版本
  9. 浏览器同源策略及跨域的解决方法
  10. java文件删除失败
  11. 【Codecs系列】视频格式国际标准:BT601/BT709/BT2020
  12. 如何卸载 think-cell?丨卸载教程丨卸载办法
  13. 运维审计平台之堡垒机和跳板机
  14. deepstream-测试发送kafka
  15. 真实数据揭秘游戏主播能否月入100万
  16. 技术的理想该继续吗?
  17. 双软认证需要什么材料
  18. 店开天下,阿里云助力客如云数据中台建设
  19. Download EditPlus Text Editor
  20. 如何使用JavaScript,纯前端实现字符、字数统计?

热门文章

  1. TabLayout的使用和自定义红点消息提示
  2. 在安装虚拟机时,”intel vt-x 处于禁用状态“ 如何解决
  3. Android10/11 原生Launcher3深度定制开发
  4. Hbase之一月速成:Hbase的shell命令
  5. python彩色蟒蛇绘制方向_python绘制蟒蛇,绘制五彩蟒蛇
  6. 【Kubernetes快速实战】
  7. 用STM32CubeMX生成STM32F407ZG + LAN8720A 的LWIP
  8. cesium--绘制多边形polygon
  9. ssis+ssas+ssrs 介绍
  10. 【技术邻】基于Ansys Icepak的散热器优化