目录

一、        安装Hive. 1

1、       选择CDH版本的... 1

2、       解压文件... 1

二、        配置Hive. 1

1、       配置环境变量... 1

2、       复制配置文件... 1

3、       修改hive-env.sh. 1

4、       修改hive-site.xml 1

三、        安装MySQL数据库... 1

1、       更新yum mysql版本... 1

2、       yum 安装mysql 1

3、       启动mysql 1

4、       mysql 安全性设置... 1

四、        在远程MySQL存储模式配置... 1

1、       部署架构图... 1

2、       配置hive-env.sh. 1

3、       修改hive-site.xml文件... 1

4、       拷贝mysql连接驱动包... 1

5、       启动metastore服务... 1

6、       启动Hadoop. 1

7、       启动Hive. 1

五、        测试hive. 1

1、       创建hive表... 1

2、       HDFS查看数据... 1

六、        Hive常用语句... 1

1、       创建数据库... 1

2、       显示数据库信息... 1

3、       切换当前所在库... 1

4、       创建数据表... 1

5、       显示当前库的所有表... 1

6、       加载数据... 1

7、       显示元数据信息命令... 1

一、          
安装Hive

1、   选择CDH版本的

选择版本hive-0.13.1-cdh5.3.6.tar.gz

2、   解压文件

[hadoop@bigdata-senior03 sofeware]$ tar -zxf
hive-0.13.1-cdh5.3.6.tar.gz -C /opt/modules/

二、          
配置Hive

1、   配置环境变量

设置HADOOP_HOME变量:

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ vim /etc/profile

2、   复制配置文件

从模板复制文件:

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ cp conf/hive-default.xml.template conf/hive-site.xml

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ cp conf/hive-env.sh.template conf/hive-env.sh

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ cp conf/hive-exec-log4j.properties.template
conf/hive-exec-log4j.properties

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ cp conf/hive-log4j.properties.template conf/hive-log4j.properties

3、   修改hive-env.sh

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ vim conf/hive-env.sh

(1)   
添加JAVA_HOME参数

export JAVA_HOME=/opt/modules/jdk1.7.0_67

4、   修改hive-site.xml

hive-site.xml文件有一个bug,在第2783行后面缺少一个<property>标签。需要补全property标签。

三、          
安装MySQL
数据库

Hive对mysql要去是最低版本为5.6.17版本的。用yum安装mysql可能需要更新yum源的版本。

1、   更新yum mysql版本

(1)    下载mysql 的rpm文件:mysql57-community-release-el6-8.noarch.rpm

(2)    安装rpm,更新yum源里的mysql版本。

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ sudo rpm -Uvh /opt/sofeware/mysql57-community-release-el6-8.noarch.rpm

(3)    查看yum源里的mysql

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ cd /etc/yum.repos.d/

(4)    修改mysql-community.repo和mysql-community-source.repo文件

在两个文件中,将mysql5.7中的enabled改为0,将MySQL5.6中的enabled改为1。这样yum安装时就安装mysql5.6版本了。

2、   yum安装mysql

[hadoop@bigdata-senior03 yum.repos.d]$ sudo
yum -y install mysql-community-server

3、   启动mysql

[hadoop@bigdata-senior03
yum.repos.d]$ sudo service mysqld
start

4、   mysql安全性设置

(1)    安装完成后,默认root用户是没有密码的,并且有一些匿名用户,查看用户可以以下命令。

用root用户登录mysql
:  [hadoop@bigdata-senior03 yum.repos.d]$ mysql –uroot

切换到mysql库:mysql>
user mysql;

查看user表:

mysql> select
host,user from user;

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

|
host                         
| user |

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

| 127.0.0.1                    
| root |

|
::1                          
| root |

|
bigdata-senior03.chybinmy.com |      |

|
bigdata-senior03.chybinmy.com | root |

|
localhost                    
|      |

|
localhost                    
| root |

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

6 rows in set (0.04
sec)

(2)    用脚本初始化权限

[hadoop@bigdata-senior03
yum.repos.d]$ sudo mysql_secure_installation

这种初始化方式只适合于MySql 5.6版本。

提示输入当前root密码,当前密码为空:Enter current password for root (enter for none):

提示是否设置root密码: Set
root password? [Y/n] y

提示是否移除匿名用户:Remove anonymous users? [Y/n] y

提示是否禁用root远程登录:Disallow root login remotely? [Y/n] n

提示是否移除test数据库:Remove
test database and access to it? [Y/n] n

提示是否重新加载权限:Reload privilege tables now? [Y/n] y

(3)    再次查看用户信息

用root和密码登录: [hadoop@bigdata-senior03
yum.repos.d]$ mysql -uroot -p123456

切换到mysql库: mysql> use mysql;

查看用户信息,已经有了密码,并且匿名用户已经被删除了。

mysql> select
host,user,password from user;

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

| host                          |
user |
password                                 
|

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

|
localhost                    
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| bigdata-senior03.chybinmy.com
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

|
127.0.0.1                    
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

|
::1                          
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

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

4 rows in set (0.00
sec)

(4)    给root设置所有权限

mysql> grant
all privileges on *.* to 'root'@'%' identified by '123456'with grant option;

刷新权限。

mysql> flush
privileges;

Query OK, 0 rows affected
(0.00 sec)

四、          
在远程MySQL
存储模式配置

1、   部署架构图

hive 元数据存储在远程mysql数据库上,是通过MetaStore来进行访问的。所以要配置一个metastore服务。

2、   配置hive-env.sh

配置好JAVA_HOME和HADOOP_HOME

配置了HADOOP_HOME参数后,hive就可以知道Hadoop在哪里,数据存储在哪里了。

3、   修改hive-site.xml文件

(1)    将hive.metastore.uris属性设置为thrift://bigdata-senior03.chybinmy.com:9083

这个是设置metastore服务在哪个机器上,端口是什么。thrift是一种协议,用于不同语言程序间,利用RPC(远程过程调用)方式进行通讯。

(2)    修改javax.jdo.option.ConnectionURL属性为:jdbc:mysql://bigdata-senior03.chybinmy.com:3306/remote_db?createDatabaseIfNotExist=true

javax.jdo.option.ConnectionURL属性的默认值为:

derby是hive默认的存储元数据的数据库,一般不用这个数据库,用mysql数据库。

这个是配置mysql的连接字符串,bigdata-senior03.chybinmy.com是mysql所在的主机名,remote_db是存储元数据的数据块名,createDatabaseIfNotExist是指如果数据库不存在就自动创建。

(3)    修改javax.jdo.option.ConnectionDriverName

(4)    修改连接Mysql的用户名和密码

4、   拷贝mysql连接驱动包

metastore连接mysql需要有一个mysql连接驱动包,这里选择驱动包mysql-connector-java-5.1.26-bin.jar,将这个驱动包拷贝到hive根目录下的lib目录下。

[hadoop@bigdata-senior03 hive-0.13.1-cdh5.3.6]$ cp /opt/sofeware/mysql-connector-java-5.1.26-bin.jar /opt/modules/hive-0.13.1-cdh5.3.6/lib/

5、   启动metastore服务

必须先启动metastore服务,再启动hive

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ hive --service metastore

将metastore服务设置为守护进程

[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ nohup hive --service metastore >
hive_metastore.run.log 2>&1 &

6、   启动Hadoop

start-dfs.sh

7、   启动Hive

此时,执行hive客户端,访问的元数据就是通过metastore来访问mysql上存储的元数据了。

五、          
测试hive

1、   创建hive

hive> use default;

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

hive> show tables;

demo1

2、   HDFS查看数据

hive表的数据实际是存储在HDFS的指定目录下的一个文件。

六、          
Hive
常用语句

1、   创建数据库

hive> create database testdb;

2、 显示数据库信息

hive> show databases;

3、   切换当前所在库

hive> use testdb;

4、   创建数据表

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

5、   显示当前库的所有表

hive> show tables;

OK

demo1

6、   加载数据

创建一个本地文件/opt/data/test.txt,内容为和testtable表格式一致。

1^Asan

2^Asi

3^Awu

4^Awang

5^Ahan

加载数据:

hive> load data local inpath
'/opt/data/test.txt' overwrite into table testtest;

7、   显示元数据信息命令

(1)    describe testtable; 是简单显示testtable表的元数据信息

(2)    describe extended testtable; 是显示testtable表的扩展元数据信息。

(3)    describe formatted testtable; 是格式化显示testtable表的元数据信息。

8、   查询数据

hive> select * from testtable;

附件列表

Hive安装部署的更多相关文章

  1. Hive安装部署与配置

    Hive安装部署与配置 1.1 Hive安装地址 1)Hive官网地址: http://hive.apache.org/ 2)文档查看地址: https://cwiki.apache.org/conf ...

  2. Hive —— 安装部署

    一.安装Hive 1.1 下载并解压 下载所需版本的Hive,这里我下载版本为cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进 ...

  3. 【原】Centos6.5下cdh4.6 hive安装部署

    1.前提条件:      只需要选择一台服务器即可,这里选择安装在namenode上:安装用户为cloud-user 2.安装包:      sudo yum install -y hive hive ...

  4. Hive安装部署及简单测试 网页《一》

    1.首先关闭机器上之前配置的分布式Hadoop 命令: (在hadoop的安装目录中)  sbin/stop-dfs.sh              关闭: yarn   命令:  sbin/stop ...

  5. 大数据学习——hive安装部署

    1上传压缩包 2 解压 tar -zxvf apache-hive-1.2.1-bin.tar.gz -C apps 3 重命名 mv apache-hive-1.2.1-bin hive 4 设置环 ...

  6. Hive_初步见解,安装部署与测试

    一.hive是什么东东 1. 个人理解 hive就是一个基于hdfs运行于MapReduce上的一个java项目, 这个项目封装了jdbc,根据hdfs编写了处理数据库的DDL/DML,自带的 二进制 ...

  7. 第2章 Hive安装

    第2章 Hive安装 2.1 Hive安装地址 1.Hive官网地址 http://hive.apache.org/ 2.文档查看地址 https://cwiki.apache.org/conflue ...

  8. Hive安装与部署集成mysql

    前提条件: 1.一台配置好hadoop环境的虚拟机.hadoop环境搭建教程:稍后补充 2.存在hadoop账户.不存在的可以新建hadoop账户安装配置hadoop. 安装教程: 一.Mysql安装 ...

  9. Hive基础概念、安装部署与基本使用

    1. Hive简介 1.1 什么是Hive Hives是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.2 为什么使用Hive ① 直接使用 ...

随机推荐

  1. Hawk 7. 常见问题

    本页面您可以通过关键字搜索来获取信息. 理性使用爬虫 爬虫是一种灰色的应用,虽然作为Hawk的设计者,但我依然不得不这么说. 各大网站都在收集和整理数据上花费了大量的精力,因此抓取的数据应当仅仅作为科 ...

  2. [算法]——快速排序(Quick Sort)

    顾名思义,快速排序(quick sort)速度十分快,时间复杂度为O(nlogn).虽然从此角度讲,也有很多排序算法如归并排序.堆排序甚至希尔排序等,都能达到如此快速,但是快速排序使用更加广泛,以至于 ...

  3. python 数据类型---文件二

    1.打印进度条 import sys,time for i in range(20): sys.stdout.write("#") sys.stdout.flush() #不等缓冲 ...

  4. 使用python自动生成docker nginx反向代理配置

    由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...

  5. webpack学习总结

    前言 在还未接触webpack,就有几个疑问: 1. webpack本质上是什么? 2. 跟异步模块加载有关系吗? 3. 可否生成多个文件,一定是一个? 4. 被引用的文件有其他异步加载模块怎么办? ...

  6. BPM嵌入式流程解决方案分享

    一.需求分析由于企业业务的独特性或者企业高层独特的管理思想,很多客户选择了自行开发业务系统的方式来实现独有的竞争力. 这类信息系统通常经过了多年的开发,伴随着企业的发展一直在不断优化,与企业的业务非常 ...

  7. SQL*Plus生成html文件

    最近使用SQL*Plus命令生成html文件,遇到一些有意思的知识点,顺便记录一下,方便以后需要的时候而这些知识点又忘记而捉急.好记性不如烂笔头吗! 为什么要用SQL*Plus生成html文件?   ...

  8. 机器指令翻译成 JavaScript —— No.2 跳转处理

    上一篇,我们发现大多数 6502 指令都可以直接 1:1 翻译成 JS 代码,但除了「跳转指令」. 跳转指令,分无条件跳转.条件跳转.从另一个角度,也可分: 静态跳转:目标地址已知 动态跳转:目标地址 ...

  9. mono -图片处理

    这篇文章中您将了解到以下内容 保存Bitmap WebClient文件上传 向服务端传递数据 保存Bitmap 做移动端开发,图片上传下载是最普通的需求了. 在mono for android中按照资 ...

  10. SQL SERVER全面优化-------Expert for SQL Server 诊断系列

    现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高.软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治.开发人员解决数据问题基本又是 ...