HIVE的搭建配置及关联MySQL
概念:
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相关推荐
- windows8.1 下搭建配置apache+php+mysql
软件版本: apache:Apache 2.4.10 Win64 http://www.apachelounge.com/download/VC11/binaries/httpd-2.4.10- ...
- hive2.3.2+mysql5.7.21驱动包_2018-08-30期 Hive外部元数据库配置
一.说明 Hive默认情况下使用derby作为元数据库,derby元数据库只允许单连接,如果两个会话在相同目录去连接hive,会导致第二个连上的用户做相同操作报错,如下图: A用户连接到hive,并创 ...
- Hadoop集群搭建(八:Hive的安装配置)
实验 目的 要求 目的: (1)掌握数据仓库工具Hive的安装和配置: 要求: 完成Hive工具的安装和配置: Hive工具能够正常启动运行: Hive控制台命令能够正常使用: 能够正常操作数据库.表 ...
- 大数据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 ...
- PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程(转)
转至:http://www.leapsoul.cn/?p=695 这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境 ...
- 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 ...
- SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例
要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...
- PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程
来源:http://www.leapsoul.cn/?p=695 这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境 ...
- Hive安装与配置MySQL元数据库
一.MySQL的安装 1.1 更新获取最新软件源,并安装MySQL. sudo apt-get update sudo apt-get install mysql-server 1.2 启动和关闭My ...
最新文章
- 执行后可以查看python版本的是-【单选题】执行后可以查看Python的版本的是
- 1.7 Java try catch finally语句
- Linux -- gpasswd
- HALCON示例程序color_segmentation_pizza.hdev披萨肉饼识别。
- 【CF1179 A,B,C】Valeriy and Deque / Tolik and His Uncle / Serge and Dining Room
- design php 如何使用ant_Ant Design Pro初探—添加面包屑
- oracle inside(4)
- 嗨淘点赞运营版完整源码/刷单/手动派单版本
- 浏览器同源策略及跨域的解决方法
- java文件删除失败
- 【Codecs系列】视频格式国际标准:BT601/BT709/BT2020
- 如何卸载 think-cell?丨卸载教程丨卸载办法
- 运维审计平台之堡垒机和跳板机
- deepstream-测试发送kafka
- 真实数据揭秘游戏主播能否月入100万
- 技术的理想该继续吗?
- 双软认证需要什么材料
- 店开天下,阿里云助力客如云数据中台建设
- Download EditPlus Text Editor
- 如何使用JavaScript,纯前端实现字符、字数统计?
热门文章
- TabLayout的使用和自定义红点消息提示
- 在安装虚拟机时,”intel vt-x 处于禁用状态“ 如何解决
- Android10/11 原生Launcher3深度定制开发
- Hbase之一月速成:Hbase的shell命令
- python彩色蟒蛇绘制方向_python绘制蟒蛇,绘制五彩蟒蛇
- 【Kubernetes快速实战】
- 用STM32CubeMX生成STM32F407ZG + LAN8720A 的LWIP
- cesium--绘制多边形polygon
- ssis+ssas+ssrs 介绍
- 【技术邻】基于Ansys Icepak的散热器优化