• Hive基础之Hive环境搭建


    Hive默认元数据信息存储在Derby里,Derby内置的关系型数据库、单Session的(只支持单客户端连接,两个客户端连接过去会报错);

    Hive支持将元数据存储在关系型数据库中,比如:Mysql/Oracle;

    本案例采用的是将hive的元数据存储在MySQL中,故需要先安装MySQL数据库,使用的是CentOS6.4版本。

    MySQL安装

    采用yum安装方式安装:

    yum install mysql     #安装mysql客户端
    yum install mysql-server  #安装mysql服务端

     判断MySQL是否已经安装好:

    chkconfig --list|grep mysql

    启动mysql服务:

    service mysqld start
    或者
    /etc/init.d/mysqld start

     检查是否启动mysql服务:

    /etc/init.d/mysqld status

     设置MySQL开机启动:

    chkconfig mysqld on 

    检查设置MySQL开机启动是否配置成功:

    chkconfig --list|grep mysql

    显示2 3 4 5为on表示开机启动配置成功

    创建MySQL的root管理员帐号:

    mysqladmin -uroot password root

     登录MySQL

    mysql -uroot -proot

    Hive安装

    安装依赖

    Hive安装所需要的依赖:

    1)JDK6以上;

    2)Hadoop安装完毕;

    安装版本

    hive-0.12.0-cdh5.0.0.tar.gz

    下载地址:http://archive.cloudera.com/cdh5/cdh/5/

    一般hive是安装在NameNode上

    安装步骤

    1)解压

    tar -zxvf hive-0.12.0-cdh5.0.0.tar.gz -C /app

    2)修改Hive配置文件

    cd /app/hive-0.12.0-cdh5.0.0/conf
    cp hive-env.sh.template hive-env.sh
    vi hive-env.sh
    HADOOP_HOME
    =/app/hadoop-2.3.0-cdh5.0.0 #多hadoop集群中需要手工指向你需要的hadoop集群 export HIVE_CONF_DIR=/app/hive-0.12.0-cdh5.0.0/conf #多hive集群中需要手工指向安装hive的conf目录

    hive-site.xml配置成如下

    如果hive-site.xml文件不存在,则从hive-default.xml.template拷贝一份

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

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <configuration>
        <property>
          <name>javax.jdo.option.ConnectionURL</name>
          <value>jdbc:mysql://localhost:3306/hive?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>root</value> </property> </configuration>

    注意:此处的hive数据库不需要手工创建,在hive正常启动后,会自动创建hive数据库;hive启动成功会在mysql的hive数据库中自动创建一系列的表;

    hive默认数据存储的目录是: /user/hive/warehouse,也可以手工指定

    <property>
      <name>hive.metastore.warehouse.dir</name>
      <value>/user/hive/warehouse</value>
    </property>

    3)拷贝mysql驱动包到hive/lib

    cp /home/hadoop/software/mysql-connector-java-5.1.17-bin.jar /app/hive-0.12.0-cdh5.0.0/lib/

    4)为用户分配权限

    在mysql中执行如下命令:

    grant all on hive.* to root@'%' identified by 'root' WITH GRANT OPTION ;

    意思是hive数据库中的任何对象都给任意主机的root用户以密码为root的方式远程访问。

    5)配置环境变量

    配置HIVE_HOME以及将$HIVE_HOME/bin添加到path中,方便操作

    6)启动

    在linux命令行执行:hive   因为已经将$HIVE_HOME/bin添加到bin中,所以直接使用hive即可

    补充:

    A)hive指定日志级别方式启动:

    hive --hiveconf hive.root.logger=DEBUG,console

    B)启动hive远程访问(thriftserver方式),比如java代码调用hive

    hive --service hiveserver &

    C)浏览器访问方式

    在hive-site.xml中添加

    <property>
      <name>hive.hwi.war.file</name>
      <value>lib/hive-hwi-0.12.0-cdh5.0.0.jar</value>
    </property>

    启动Hive的UI

    hive --service hwi

    浏览器访问:http://hostname:9999/hwi

    Hive常用命令

    先介绍几个Hive常用的命令,后续会详细介绍各种命令的用法

    查看所有数据库: show databases

    切换到hive数据库: use hive

    显示hive数据库下的所有表: show tables

    创建表: create table test(id int, name string)

    查看表结构。仅包含字段信息: desc table_name

    查看表结构详细信息。不仅包含字段信息,还包含存储路径等信息: desc extended table_name

    查看function: desc function function_name 

  • 相关阅读:
    Android:真机调试遇到的问题(INSTALL_FAILED_CANCELLED_BY_USER和INSTALL_FAILED_INSUFFICIENT_STORAGE)
    tips:Java中的switch的选择因子
    tips:可变参数列表
    tips:Java中while的判断条件
    tips:Java的Random类和Random函数
    tips:Java基本数据类型大小比较
    怎样找到微信小程序功能呢?
    ajax和jquery
    json及JavaBean转json
    JavaBean转xml
  • 原文地址:https://www.cnblogs.com/luogankun/p/3901717.html
Copyright © 2020-2023  润新知