Hive入门学习之二:Hive 的部署

  1. 本文主要介绍Hive 的远程安装模式(如果Hive客户端比较多,在每个客户端都安装MySQL服务还是会造成一定的冗余和浪费,这种情况下,就可以更进一步,将MySQL也独立出来,将元数据保存在远端独立的MySQL服务中)
  2. 版本介绍
    1. JDK:1.7.0_55
    2. Hadoop:2.6.0
    3. Hive:1.2.1
  3. 具体步骤
    1. 配置好一个外部的Mysql,并创建hive的database: 
      create database hive; 
    2. 配置好Hadoop的HDFS以及YARN,具体可以参考Centos 6.5 下hadoop2.5.2的HA集群原理讲解以及详细配置(自动切换)
    3. 解压缩下载的Hive包:tar -xvf apache-hive-1.2.1-bin.tar.gz
    4. 将Mysql的驱动拷贝到lib目录下
    5. 进入Hive的conf目录下创建hive-env.sh,hive-env.sh,hive-log4j.properties
      cp hive-default.xml.template hive-site.xml
      cp hive-env.sh.template hive-env.sh
      cp hive-log4j.properties.template hive-log4j.properties
    6. 编辑hive-env.sh的HADOOP_HOME环境变量
      HADOOP_HOME=/opt/cloud/hadoop-2.6.0
    7. 编辑hive-log4j.properties,设置hive.log.dir属性
    8. 编辑hive-site.xml的内容如下
      <property>
      
      	<name>javax.jdo.option.ConnectionURL</name>
      
      	<value>jdbc:mysql://localhost:3306/hive</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>数据库用户名</value>
      
      	<description>Username to use against metastore database</description>
      
      </property>
      
      <property>
      
      	<name>javax.jdo.option.ConnectionPassword</name>
      
      	<value>数据库密码</value>
      
      	<description>password to use against metastore database</description>
      
      </property>#如果不配置下面的部分会产生错误1.
      <property>
      
      	<name>hive.exec.local.scratchdir</name>
      
      	<value>自定义目录</value>
      
      	<description>Local scratch space for Hive jobs</description>
      
      </property>
      
      <property>
      
      	<name>hive.downloaded.resources.dir</name>
      
      	<value>自定义目录</value>
      
      	<description>Temporary local directory for added resources in the remote file system.</description>
      
      </property>
      
      <property>
      
      	<name>hive.querylog.location</name>
      
      	<value>自定义目录</value>
      
      	<description>Location of Hive run time structured log file</description>
      
      </property>
      
      <property>
      
      	<name>hive.server2.logging.operation.log.location</name>
      
      	<value>自定义目录/operation_logs</value>
      
      	<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
      
      </property>


  4. 验证
    1. 进入bin目录,执行hive命令,如果成功效果如下

    2. 创建表

      如果创建成功,则从HDFS以及Mysql都可以看到表的相关信息
      HDFS:

      MySQL:


  5. 问题总结
    1. 异常信息如下:

      参考步骤3.8进行配置
    2. 异常信息如下

      错误原因:

      Hive has upgraded to Jline2 but jline 0.94 exists inthe Hadoop lib.
      解决办法:
      删除hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar文件
    3. 在使用hive创建表的时候,报一下异常

      解决办法:
      这是由于字符集的问题,需要配置MySQL的字符集:
      mysql> alter database hive character set latin1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值