(一)Hive的安装部署及测试

1、安装环境


  • JDK1.7.0
  • centOS6.4
  • hive0.13.1
  • cdh5.3.6
  • hadoop2.5.0
  • mysql

2、Hive的功能架构介绍


Hive是一种以SQL风格进行任何大小数据分析的工具,其特点是采取类似关系数据库的SQL命令。其特点是通过 SQL处理Hadoop的大数据,数据规模可以伸缩扩展到100PB+,数据形式可以是结构或非结构数据。

Hive与传统关系数据库比较有如下几个特点:

>侧重于分析,而非实时在线交易无事务机制;
>不像关系数据库那样可以随机进行 insert或update;
>通过Hadoop的map/reduce进行分布式处理,传统数据库则没有;
>传统关系数据库只能拓展最多20个服务器,而Hive可以拓展到上百个服务器。

Hive与mapreduce比较

Hive只需要通过写几条SQL语句就可以实现用java开发mapreduce的功能,简化了代码量,减少了开发效率,对于不熟悉java而又要开发mapreduce的有极大好处。

Hive的架构图如下:
这里写图片描述

3、Hive安装部署


3.1、配置与Hadoop关联以及Hive的配置文件目录

HIVE_HOME/conf/hive-env.sh文件

# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/home/xusy/share/cdh5.3.6/hadoop-2.5.0-cdh5.3.6

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/home/xusy/share/cdh5.3.6/hive-0.13.1-cdh5.3.6/conf

3.2、启动hadoop进程

$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
$ sbin/mr-jobhistory-daemon.sh start historyserver

3.3、创建表之前的必要操作

$bin/hadoop fs -mkdir       /tmp
$bin/hadoop fs -mkdir       /user/hive/warehouse
$bin/hadoop fs -chmod g+w   /tmp
$bin/hadoop fs -chmod g+w   /user/hive/warehouse

4、DML/DDL语句测试


4.1、创建表

hive>drop table if exists student ;
hive>CREATE TABLE student(
hive>id int,
hive>name string)
hive>ROW FORMAT DELIMITED 
hive>FIELDS TERMINATED BY ',';

4.2、准备数据

stu.txt

01,xusy
02,liyj
03,liujl
04,hunl
05,zhaoyy
06,zhoujq
07,yuang
08,zhangz

//通过hue上传到hdfs的/user/xusy/data下,如果没装hue的话,就用命令上传;
数据源存储在hdgs的路径如下:
这里写图片描述

4.3、加载数据

hive>load data inpath '/user/xusy/data/stu.txt' overwrite into table student ;

4.4、查询

hive>select * from student ; 

这里写图片描述

hive>select count(1) from student ;

这里写图片描述

5、linux下安装mysql


5.1、yum安装

$sudo yum -y install mysql-server

这里写图片描述

5.2、临时启动mysqld

切换到root用户
# service mysqld start

5.3、设置开机启动mysqld

# chkconfig mysqld on
# chkconfig --list|grep mysqld

这里写图片描述

5.4、创建mysql用户和密码

$mysqladmin -uroot password root

5.5、启动mysql

$mysql -uroot -proot

5.6、修改mysql密码(可选)

mysql> SET PASSWORD = PASSWORD('123456') ;

5.7、修改mysql数据库下user表中的存储的用户信息

5.7.1、查询用户信息

mysql>use mysql ;
mysql> select Password,Host,User from user ;

这里写图片描述

5.7.2、修改用户信息,修改为任务用户共享一个密码

mysql> update user set Host='%' where User='root' and Host='localhost' ;
mysql> select Password,Host,User from user ; 

这里写图片描述

5.7.3、删除用户信息1

mysql> delete from user where User='root' and Host='127.0.0.1' ;
mysql> select Password,Host,User from user ;

这里写图片描述

5.7.4、删除用户信息2

mysql> delete from user where User='root' and Host='xuxudede.com' ; 
mysql> select Password,Host,User from user ;

这里写图片描述

5.7.5、删除用户信息3

mysql> delete from user where Host='xuxudede.com' ; 
mysql> select Password,Host,User from user ;

这里写图片描述

5.7.6、删除用户信息4

mysql> delete from user where Host='localhost' ; 
mysql> select Password,Host,User from user ;

这里写图片描述

5.7.7、刷新

mysql>flush privileges ;

6、配置Hive元数据存储在mysql中


6.1、hive-site.xml配置文件

注意:如果HIVE_HOME/conf下的hive-site.xml不存在,则自己创建。
配置如下:

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://xuxudede.com/metadata?createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>


<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>123456</value>
  <description>password to use against metastore database</description>
</property>

6.2、添加mysql驱动

6.2.1、解压mysql的驱动包,拷贝mysql中的jar包到hive根目录的lib目录下

$tar -zxvf mysql-connector-java-5.1.27.tar.gz
$ cp mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar ../../cdh5.3.6/hive-0.13.1-cdh5.3.6/lib/

这里写图片描述

7、重新启动hive,并进行相应验证测试


7.1、重新启动hive

$bin/hive

7.2、查看mysql中存储的元数据信息

mysql> use metadata ;

这里写图片描述

mysql> select * from TBLS ;
mysql> use TBLS ;

这里写图片描述

至此,已成功安装Hive及配置了mysql存储hive的元数据!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值