Hive安装部署
目录
1、 选择CDH版本的
选择版本hive-0.13.1-cdh5.3.6.tar.gz
[hadoop@bigdata-senior03 sofeware]$ tar -zxf
hive-0.13.1-cdh5.3.6.tar.gz -C /opt/modules/

设置HADOOP_HOME变量:
[hadoop@bigdata-senior03
hive-0.13.1-cdh5.3.6]$ vim /etc/profile

从模板复制文件:
|
[hadoop@bigdata-senior03 [hadoop@bigdata-senior03 [hadoop@bigdata-senior03 [hadoop@bigdata-senior03 |
[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

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

三、
安装MySQL数据库
Hive对mysql要去是最低版本为5.6.17版本的。用yum安装mysql可能需要更新yum源的版本。
(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
[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 +-------------------------------+------+ | +-------------------------------+------+ | 127.0.0.1 | | | | | +-------------------------------+------+ 6 rows in set (0.04 |
(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 | +-------------------------------+------+-------------------------------------------+ | | bigdata-senior03.chybinmy.com | | +-------------------------------+------+-------------------------------------------+ 4 rows in set (0.00 |
(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存储模式配置

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

配置了HADOOP_HOME参数后,hive就可以知道Hadoop在哪里,数据存储在哪里了。
(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/
必须先启动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 &
start-dfs.sh
此时,执行hive客户端,访问的元数据就是通过metastore来访问mysql上存储的元数据了。
hive> use default;
hive> create table demo1 (id int,name string);
hive> show tables;
demo1
2、 HDFS查看数据
hive表的数据实际是存储在HDFS的指定目录下的一个文件。

六、
Hive常用语句
hive> create database testdb;
hive> show databases;

hive> use testdb;
hive> create table testtable (id int,name
string);
hive> show tables;
OK
demo1
创建一个本地文件/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;
(1) describe testtable; 是简单显示testtable表的元数据信息

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

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

8、 查询数据
hive> select * from testtable;

附件列表
Hive安装部署的更多相关文章
- Hive安装部署与配置
Hive安装部署与配置 1.1 Hive安装地址 1)Hive官网地址: http://hive.apache.org/ 2)文档查看地址: https://cwiki.apache.org/conf ...
- Hive —— 安装部署
一.安装Hive 1.1 下载并解压 下载所需版本的Hive,这里我下载版本为cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进 ...
- 【原】Centos6.5下cdh4.6 hive安装部署
1.前提条件: 只需要选择一台服务器即可,这里选择安装在namenode上:安装用户为cloud-user 2.安装包: sudo yum install -y hive hive ...
- Hive安装部署及简单测试 网页《一》
1.首先关闭机器上之前配置的分布式Hadoop 命令: (在hadoop的安装目录中) sbin/stop-dfs.sh 关闭: yarn 命令: sbin/stop ...
- 大数据学习——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 设置环 ...
- Hive_初步见解,安装部署与测试
一.hive是什么东东 1. 个人理解 hive就是一个基于hdfs运行于MapReduce上的一个java项目, 这个项目封装了jdbc,根据hdfs编写了处理数据库的DDL/DML,自带的 二进制 ...
- 第2章 Hive安装
第2章 Hive安装 2.1 Hive安装地址 1.Hive官网地址 http://hive.apache.org/ 2.文档查看地址 https://cwiki.apache.org/conflue ...
- Hive安装与部署集成mysql
前提条件: 1.一台配置好hadoop环境的虚拟机.hadoop环境搭建教程:稍后补充 2.存在hadoop账户.不存在的可以新建hadoop账户安装配置hadoop. 安装教程: 一.Mysql安装 ...
- Hive基础概念、安装部署与基本使用
1. Hive简介 1.1 什么是Hive Hives是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.2 为什么使用Hive ① 直接使用 ...
随机推荐
- KV存储系统
现在的KV存储系统都是分布式的,首先介绍Zookeeper——针对大型分布式系统的高可靠的协调系统. 开发分布式系统是件很困难的事情,其中的困难主要体现在分布式系统的“部分失败”.“部分失败”是指信息 ...
- .Net Core MVC 网站开发(Ninesky) 2.2、栏目管理功能-System区域添加
在asp或asp.net中为了方便网站的结构清晰,通常把具有类似功能的页面放到一个文件夹中,用户管理功能都放在Admin文件夹下,用户功能都放在Member文件夹下,在MVC中,通常使用区域(Area ...
- C#多线程之线程池篇2
在上一篇C#多线程之线程池篇1中,我们主要学习了如何在线程池中调用委托以及如何在线程池中执行异步操作,在这篇中,我们将学习线程池和并行度.实现取消选项的相关知识. 三.线程池和并行度 在这一小节中,我 ...
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- C++随笔:从Hello World 探秘CoreCLR的内部(1)
紧接着上次的问题,上次的问题其实很简单,就是HelloWorld.exe运行失败,而本文的目的,就是成功调试HelloWorld这个控制台应用程序. 通过我的寻找,其实是一个名为TryRun的文件出了 ...
- 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)
建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...
- 【SAP业务模式】之ICS(六):发票输出类型
这篇开始主要讲述发票输出类型: 首先我们新建一个发票类型,用于公司间的发票MIV,而标准的发票类型还是F2保持不变: 一.新建发票类型: 目录:SPRO-销售与分销-出具发票-开票凭证-定义出具发票类 ...
- Android—基于微信开放平台v3SDK,开发微信支付填坑。
接触微信支付之前听说过这是一个坑,,,心里已经有了准备...我以为我没准跳坑出不来了,没有想到我填上了,调用成功之后我感觉公司所有的同事都是漂亮的,隔着北京的大雾霾我仿佛看见了太阳~~~好了,装逼结束 ...
- 【iOS10 SpeechRecognition】语音识别 现说现译的最佳实践
首先想强调一下“语音识别”四个字字面意义上的需求:用户说话然后马上把用户说的话转成文字显示!,这才是开发者真正需要的功能. 做需求之前其实是先谷歌百度一下看有没有造好的轮子直接用,结果真的很呵呵,都是 ...
- JavaScript中undefined与null的区别
通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值.Javascript会自动将声明是没有进行初始化的变量设为undifined. 如果一个变量根本不存在会 ...