注:本文是在Hadoop单机环境部署完毕,mysql安装完毕的情况下进行。点击下面链接可查看。(感觉之前做的笔记有点杂乱。。。。。。。。)
mysql安装(版本5.7)
目录:
准备工作
1.开启hadoop相关进程。hdfs 和 yarn 以及历史服务器
2.开启Mysql服务
service mysqld start
hive简介
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
官网:hive.apache.org 部分配置参考官网案例。
hive安装
1.上传解压并重命名
用Linux自带的上传工具上传hive压缩包。
解压后重命名为hive1.2。用mv命令
2.创建数据仓库并赋予写权限。先到hadoop-2.7.3安装目录下执行下面命令
bin/hdfs dfs -mkdir /tmp bin/hdfs dfs -mkdir /user/hive/warehouse bin/hdfs dfs -chmod g+w /tmp bin/hdfs dfs -chmod g+w /user/hive/warehouse
3.配置文件
到hive安装目录下的conf文件夹中复制hive-env.sh.template,粘贴为hive-env.sh
编辑hive-env.sh。配置hadoop安装路径和hive的配置目录
4.配置全局环境变量
vim /etc/profile
在末尾添加如下配置:
# HIVE HOME export HIVE_HOME=/opt/modules/hive1.2 export PATH=${PATH}:${HIVE_HOME}/bin:${HIVE_HOME}/conf
使配置生效
source /etc/profile
5.启动hive bin/hive
跳坑里去了。。。一连串错误 都提示元数据数据库metastore_db不能创建
后来发现hive安装目录的文件权限全是root
修改用户和用户组为huadian用户
chown -R huadian:huadian /opt/modules/hive1.2
出现下图就成功
hive入门
1.创建表
创建数据库
创建表
create table db_hive.tb_word( id INT, word STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE;
2.导入数据
首先在datas目录下创建一个测试文件 并编辑
最后导入数据
LOAD DATA LOCAL INPATH '/opt/datas/word.data' INTO TABLE db_hive.tb_word;
3.实现业务(写sql)
使用hive来统计word出现次数
select word,count(word) from db_hive.tb_word GROUP BY word
使用Mysql存储元数据
因为hive默认使用derby属于嵌入式数据,每次只支持一个会话。通常将元数据metaStore存储在Mysql中,同时支持了多个会话进入hive
1.修改hive配置文件 复制模板重命名为hive-site.xml
具体配置:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://bigdata-hpsk01.huadian.com/metaStore?createDatabaseIfNotExist=true<value/> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver<value/> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root<value/> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456<value/> </property> </configuration>
2.在hive安装目录下的lib文件夹下导入mysql数据库驱动jar包
3.重新进入hive