配置hive以及自定义版本MySQL


Hive的配置 

 

前言:hive作为Hadoop的数据仓库工具,将结构化的数据映射成一张表格,提供了类SQL查询语句,底层可以转化为MapReduce去执行。

一、hive体系

1、用户接口

a)       CLI        command Line

b)       Java             JDBC/CDBC

c)       WEB UI        浏览器

2、metastore

a)       hive将元数据存储在数据库中,比如MySQL,Derby。Hive中的元数据包括表的名称,表的列和分区及其属性,表的数据所在的目录。

3、驱动器 Driver

包括:解析器、编译器、优化器、执行器。

       4.、hive数据存储在HDFS,大部分的查询、计算等操作由MapReduce完成。

       5、hive数据仓库与数据库的异同

              (1).由于Hive采用了SQL的查询语言HQL,因此很容易将Hive理解为数据库。其实从结构上来看,Hive和数据库除了拥有类似的查询语言,再无类似之处。

              (2)数据存储位置。  hdfs   raw local fs

              (3)数据格式。 Hive具有分隔符

              (4)数据更新。hive读多写少。Hive中不支持对数据的改写和添加,所有的数据都是在加载的时候中确定好的。

       INSERTINTO … VALUES添加数据,使用UPDATE … SET修改数据  不支持的

       HDFS 一次写入多次读取

              (5) 执行。hive通过MapReduce来实现的  而数据库通常有自己的执行引擎。 

              (6)执行延迟。由于没有索引,需要扫描整个表,因此延迟较高。另外一个导致Hive执行延迟高的因素是MapReduce框架

              (7)可扩展性

              (8)数据规模。

二、hive的安装模式

       1、嵌入模式

       2、本地模式

       3、远程模式

       这里不做过多赘述。

三.安装MySQL

       1、在Linux中安装MySQL

       1.1、首先卸载自带的MySQL数据库,更换版本

       # rpm -qa| grep mysql

       # rpm -emysql-libs-5.1.71-1.el6.x86_64  --nodeps

1.2通过yum 安装MySQL

先将需要的MySQL版本上传到Linux中,在安装

       #  yum install -y mysql-server  mysql mysql-devel


1.3、启动MySQL服务(mysqld)

#service mysqld start


1.4、设置为开机启动

       #chkconfig --list | grep mysqld   //查看是否为开机

       #chkconfig mysqld  on   //设置开机启动

 

1.5、登陆mysql数据库

       # mysql -uroot –p

1.6、设置或密码

       方式一:

       #/usr/bin/mysqladmin -u root password 'root123'

 

       方式二:

       SET PASSWORDFOR 'root'@'localhost' = PASSWORD('root123');

 

1.7、授权root的权限

       mysql>grant all privileges on *.* to 'root'@'%' identified by 'root(数据库的密码)';

       mysql>grant all privileges on *.* to 'root'@'hadoop0505(这是本主机主机名)' identified by 'root123';

all privileges:添加所有权限

       第一个*:所有数据库

       第二个*:所有表

       第一个'root':代表root用户

       %:代表其他的外部主机

       'root123' :代表root用户密码

## 刷新权限(一定要记得)

       flush privileges;

三、安装hive

     参考官网安装介绍:

      https://cwiki.apache.org/confluence/display/Hive/GettingStarted

1.1解压hive的tar包

$ tar -zxf hive-0.13.1-bin.tar.gz -C ../modules/

2.创建/tmp和hive数据仓库在HDFS之上的目录

     $ bin/hdfs dfs -mkdir -p/user/hive/warehouse

      $ bin/hdfs dfs -mkdir  /tmp     //默认已经创建了


     修改目录的权限(增加组用户的写权限)

     bin/hdfs dfs -chmod  g+w /user/hive/warehouse

      bin/hdfs dfs -chmod  g+w /tmp

 


3.${HIVE_HOME}/conf/重命名生成配置文件

因为里面的都是案例文件,我们可以复制并重命名他们来做我们自己的配置文件。

     $ cp hive-env.sh.template hive-env.sh

     $ cp hive-default.xml.template  hive-site.xml

       $cp  hive-log4j.properties.templatehive-log4j.properties

配置好之后:

 

 

4.${HIVE_HOME}/conf/修改hive-env.sh



     JAVA_HOME=/opt/modules/jdk1.7.0_67

     HADOOP_HOME=/opt/modules/hadoop-2.5.0

     exportHIVE_CONF_DIR=/opt/modules/apache-hive/conf

 

5、${HIVE_HOME}/conf/ 修改hive-site.xml

     参考官网的介绍:

      https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin

 

--JDBC连接的四要素:ConnectionURL  DriverName  UserName  Password

 

将原来文件的第132.138.162.168行的文字复制并加入自己主机名等更改内容。

<!--132-->

<property>

 <name>javax.jdo.option.ConnectionURL</name>

 <value>jdbc:mysql://[hostname]:3306/metastore?createDatabaseIfNotExist=true</value>

 <description>JDBC connect string for a JDBCmetastore</description>

</property>

 

 

<!--138-->

<property>

 <name>javax.jdo.option.ConnectionDriverName</name>

 <value>com.mysql.jdbc.Driver</value>

 <description>Driver class name for a JDBCmetastore</description>

</property>

 

<!--162-->

<property>

 <name>javax.jdo.option.ConnectionUserName</name>

 <value>root</value>

 <description>username to use against metastoredatabase</description>

</property>

 

<!--168-->

<property>

 <name>javax.jdo.option.ConnectionPassword</name>

 <value>root123</value>

 <description>password to use against metastoredatabase</description>

</property>

 

6、拷贝jdbc驱动包到${HIVE_HOME}/lib

     $ cpmysql-connector-java-5.1.34-bin.jar ../modules/apache-hive/lib/

7.更改文件

${HIVE_HOME}/conf/ 修改hive-log4j.properties

     <!—在第20行-->

     hive.log.dir=/opt/modules/hive-0.13/logs

这样单机模式的hive并且有自己需要版本的MySQL就配置成功了。

四、使用hive

       1、启动hive的条件

              1.检查hadoop的相关进程

       $ jps

26514SecondaryNameNode

27934 ResourceManager

28033 NodeManager

26232 NameNode

28590 Jps

26329 DataNode

       2.启动进入Hive CLI

       ${HIVE_HOME}/bin存放的hive的启动命令

       $ bin/hive

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告