Hadoop Hive安装,配置mysql元数据库

  由于Hive依赖于Hadoop,安装Hive之前必须确认Hadoop可用,关于Hadoop的安装可以参考集群分布式 Hadoop安装详细步骤,这里不再叙述。

1.下载Hive安装包

  下载地址为:http://www.apache.org/dyn/closer.cgi/hive(或点击下面链接),选择一个稳定版本,假设下载的版本为:apache-hive-1.0.1-bin.tar.gz,解压:

tar -zxvf apache-hive-1.0.1-bin.tar.gz

  在apache的下载列表中可以看到hive-1.0.1.src.tar.gz和hive-hive-1.0.1.bin.tar.gz两个包,名字中带bin的压缩包中只包括已经编译好的的Hive程序,不包括Hive的源代码。

2.配置环境变量

  实际上即使不对操作系统的环境变量进行配置,Hive依然可以使用,但是如果每次都输入全路径效率很低,因此推荐对Linux操作系统的环境变量按以下方式进行配置。

修改全局配置文件/etc/profile或者用户目录下的私有文件~/.bashrc,在文件中加入以下信息:

export HIVE_HOME=/home/hadoop/apache-hive-1.0.1-bin
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH

为了让配置立即生效,而不需要重新启动系统或者重新登录,运行以下命令:

source /etc/profile 或
source ~/.bashrc

3.创建Hive数据文件目录

在HDFS中建立用于存储Hive数据的文件目录(/tmp 目录可能已经存在):

hadoop fs -mkdir /tmp
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod 777 /tmp
hadoop fs -chmod 777 /user/hive/warehouse

  以上命令在HDFS中建立了/tmp及/usr/hive/warehouse目录,其中/tmp主要用于存放一些执行过程中的临时文件,/user/hive/warehouse用于存放hive进行管理的数据文件。

4.修改hive配置文件

  这一步不是必须的,如果不配置,Hive将使用默认的配置文件,通过Hive配置文件可以对Hive进行定制及优化。最常见的是对“元数据存储层”的配置,默认情况下Hive使用Derby数据库作为“元数据存储层”。

在Hive中Derby默认使用“单用户”模式进行启动,这就意味着同一时间只能有一个用户使用Hive,这适用于开发程序时做本地测试。

  Hive配置文件位于$Hive_Home/conf目录下面,名为hive-site.xml,这个文件默认情况下是不存在的,需要进行手动创建,在此目录下有个hive-default.xml.template的模板文件,首先需要通过它创建hive-site.xml文件。

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

关于元数据库Dergy的默认配置如下:

<!--JDBC元数据仓库连接字符串-->
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:derby:;databaseName=metastore_db;create=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <!--JDBC元数据仓库驱动类名-->
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>org.apache.derby.jdbc.EmbeddedDriver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <!--元数据仓库用户名-->
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>APP</value>
    <description>Username to use against metastore database</description>
  </property>
   <!--元数据仓库密码-->
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>mine</value>
    <description>password to use against metastore database</description>
  </property>

  从上面的配置中可以看到关于元数据库的配置,由于Hive中已经包含了这个内置的Derby数据库,因此不需要进行数据库的安装,同时在$Hive_Home/lib下还可以看到Derby的数据库驱动包(derby-xx.x.x.x.jar)。至此已经完成Hive各项工作的安装,可以通过以下命令测试Hive是否正常运行:

hive
hive> SET -v;
hive> quit;

出错处理:Exception in thread “main” java.lang.RuntimeException: java. lang. IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI:

${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)

at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672)

at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.apache.hadoop.util.RunJar.main(RunJar.java:160)

Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI:

处理:

在hive-site.xml中新建配置项,iotmp文件夹是新建的:

<property>

<name>system:java.io.tmpdir</name>

<value>/home/hadoop/hive-1.0.1/iotmp</value>

<description/>

</property>

下面是配置mysql 元数据库,替换Derby

  如前所述,Hive在缺省情况下是使用内置的Derty数据库存储元数据,这对程序开发时本地测试没有任何问题。但如果在生产环境中,由于需要支持多用户同时进行系统访问,这可能不能满足应用需求。通过配置,可以让Derty运行为“多用户”模式来满足多用户访问需求。进一步,在实际的生产环境中通常会选用存储功能更为强大的Mysql数据库作为“元数据存储层”。Mysql作为最流行的开源关系型数据库,使用面广、功能多样,必要时可以充当临时的标准数据查询与分析系统使用,因此得到大量的Hive用户的青睐。

如果使用Mysql作为“元数据存储层”,首先需要安装Mysql,可以使用如下命令:

#sudo apt-get install mysql-server

安装之后再数据库中建立Hive账号并设置权限:

mysql> create user ‘hive‘@‘%‘ identified by ‘hive‘;
mysql> grant all privileges on *.* to ‘hive‘@‘%‘ with grant option;
mysql> flush privileges;

接下来需要对hive-sive.xml配置文件进行以下修改,以支持mysql:

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/metastore_db?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>hive</value>
  <description>username to use against metastore database</description>
</property>

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

  另外,由于Hive没有默认包含Mysql的JDBC驱动,因此需要将mysql-connector-java-x.x.xx.jar文件拷贝到$Hive_Home/lib目录中,否则Hive无法与Mysql进行通信。至此,基于Mysql作为“元数据存储层”的Hive系统配置完成。(jar包下载需要注册oracle,需要的可以留言)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-22 03:04:48

Hadoop Hive安装,配置mysql元数据库的相关文章

Mac上Hive安装配置

Mac上Hive安装配置 1.安装 下载hive,地址:http://mirror.bit.edu.cn/apache/hive/ 之前我配置了集群,tjt01.tjt02.tjt03,这里hive安装在tjt01机器上. 我下载的是“apache-hive-3.0.0-bin.tar.gz”,将hive 3.0版本上传到/opt目录,并解压到/usr/local下: [[email protected] ~]# cd /opt [[email protected] opt]# tar -zxv

Hive安装配置及基本操作

Hive安装配置及基本操作 1. Hive安装及配置 (1). 上传文件到Hadoop102节点,解压到/opt/moudle (2). 修改/opt/module/hive/conf目录下的hive-env.sh.template名称为hive-env.sh [[email protected] conf]$ cp hive-env.sh.template hive-env.sh (3). 配置hive-env.sh文件 ? (a). 配置HADOOP_HOME路径 : export HADO

CentOS6.5下安装配置MySQL

CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server版本:# rpm -qi mysql-server 初始化mysql数据库:#service mysqld start 重启mysql数据库:#service mysql restart 设置mysql开机启动:# chkconfig mysqld on 为数据库设置用户名和密码:# mysqlad

Ubuntu安装配置Mysql

Ubuntu安装配置Mysql 三种安装方式: 1. 从网上安装 sudo apt-get install mysql-server.装完已经自动配置好环境变量,可以直接使用mysql的命令. 注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多. 2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例. 3. 二进制包安装:安装完成已经自动配置好环境变量,可以直接使用mysql命令 网上安装和二进制

Mac 安装配置Mysql

Mac下安装配置Mysql By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明出处,谢谢. 下载安装 去官网下载Community版本的mysql安装文件,我的是:mysql-5.6.25-osx10.9-x86_64.dmg 双击dmg安装,出现一个pkg文件,双击pkg文件,一直继续即安装完成. 系统偏好启动停止服务 在系统偏好设置中找到mysql选项,点击可以进行mysql的服务的启动和停止. 设置密码. 在命令行中输入:/usr/local/my

CentOS 6.5系统中RPM安装配置MySQL数据库

一.mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内, 这样就增加了速度并提高了灵活性.MySQL的SQL语言是用于访问数据库的最常用标准化语言.MySQL软件采用了双授权政策(本词条"授权政策"), 它分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作

(转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程中出现了一些错误,经过好几次安装,翻了好多资料,最后找出问题的所在,才把环境搭建好,对于高手来说,这或许不算什么,但对于一个刚入门的新人,却是不一样了,这篇文章记录着我的一些笔记,希望对于那些刚刚入门的人们有所帮助,仅作为参考. 安装首先我们得获得MySQL,Apache,PHP,WordPress

CentOS6.2下安装配置MySql

转自:Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk.tomcat.ecli

Ubuntu安装配置Mysql详解

Ubuntu安装配置Mysql 三种安装方式: 1. 从网上安装 sudo apt-get install mysql-server.装完已经自动配置好环境变量,可以直接使用mysql的命令. 注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多. 2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例. 3. 二进制包安装:安装完成已经自动配置好环境变量,可以直接使用mysql命令 网上安装和二进制