zoukankan      html  css  js  c++  java
  • ubuntu16.04LTS下安装hive-2.1.0

    前言:

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行

    运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析

    Hive元数据保存在内嵌的 Derby数据库中,只能允许一个会话连接,只适合简单的测试。实际生产环境中不使用,为了支持多用户会话,

    则需要一个独立的元数据库,使用MySQL作为元数据库,Hive内部对MySQL提供了很好的支持。

    一、系统环境

    os : Ubuntu 16.04 LTS 64bit
    jdk : 1.8.0_111
    hadoop : 2.7.3
    mysql : 5.7.21
    hive : 2.1.0

    在配置hive之前,要先安装Hadoop

    二、安装并配置MySQL

    2.1 安装MYSQL

        a、安装服务端

            sudo apt-get install mysql-server

        b、安装客户端

            sudo apt-get install mysql-client

        c、查看MySQL是否安装成功

            sudo netstat -tap | grep mysql

    查询结果如下图所示,表示安装成功

         d、将mysql-connector-java-***.jar驱动,复制到hive安装目录下的lib下

         e 、将$HADOOP_HOME/share/hadoop/yarn/lib下的jline*.jar替换为$HIVE_HOME/lib/jline-2.12.jar 

    附加说明,

    默认root密码为root

    sudo /etc/init.d/mysql start  这是启动mysql服务

    sudo /etc/init.d/mysql restart  这是重启mysql服务

    sudo /etc/init.d/mysql stop 这是停止mysql服务

    2.2 配置远程访问

        a、编辑配置文件   

            sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf  将bind-address = 127.0.0.1注释(默认情况下MySQL只允许本地登录)

        b、修改用户权限

    mysql -u root -p --远程访问 mysql -h 192.168.0.201 -P 3306 -u root -p123 123为root用户密码
    
    grant all
    privileges on *.* to root@'%' identified by 'root' with grant option;

    flush privileges;
    --刷新权限信息,让我们所作的设置马上生效

    /etc/init.d/mysql restart --重启mysql服务

    aaa:    *.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成你的  mysql root帐号  密码。

           

    2.3创建元信息数据库

     a、创建hive用户

    mysql -u root -p
    create user
    'hive' identified by 'hive';
    GRANT ALL PRIVILEGES ON  *.* TO 'hive'@'%' WITH GRANT OPTION;
    
    

        b、使用hive账号建立Hive专用的元数据库hive

    mysql -u hive -p hive
    create database hive;

    三、hive的安装配置

    3.1 下载:hive2.1.0下载地址

    sudo tar -xzf apache-hive-2.1.0-bin.tar.gz -C /usr/local#解压到/usr/local目录下
    sudo mv apache-hive-2.1.0-bin/ hive #重命名
    sudo chown -R hadoop hive #把hive的所在组改为hadoop

    3.2 配置环境变量

    vim  ~/.bashrc

    export HIVE_HOME=/usr/local/hive
    export HCAT_HOME=$HIVE_HOME/hcatalog
    export HIVE_CONF=$HIVE_HOME/conf
    export PATH=$PATH:$HIVE_HOME/bin

    source  ~/.bashrc 使配置生效

    3.2 配置hive-site.xml

    修改hive-site.xml中的部分内容,将对应的name修改成下面的value:

    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://localhost:3306/hive?characterEncoding=UTF-8&amp;createDatabaseIfNotExist=true</value>
      <description>
        JDBC connect string for a JDBC metastore.
        To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
        For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
      </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>

    将hvie-site.xml中的${system:java.io.tmpdir}全部替换为/usr/local/hive/tmp,将${system:user.name}全部替换为${user.name}

    四、启动hive

     4.1、schematool 命令来执行初始化操作

    从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作,

    schematool -dbType mysql -initSchema

      4.2、hive客户端启动

     

     hive操作的命令基本与mysql一致。

     

    其他相关链接:linux下忘记mysql密码的几种方法

    参考:

    http://www.bubuko.com/infodetail-2523113.html

    https://www.cnblogs.com/zlslch/p/6084704.html

  • 相关阅读:
    警示
    【拒绝挂分】盘点蒟蒻ghy的各种sb错误
    牛客NOIPtg day5 B-demo的gcd
    数字校园APP——视频分享
    数字校园APP——软件需求规格说明书
    数字校园APP——可行性报告分析
    数字校园APP开发与应用
    结对编程第二次作业——四则运算自动生成器
    软件工程第四次作业
    软件工程第三次作业
  • 原文地址:https://www.cnblogs.com/qinfei0967/p/8671358.html
Copyright © 2011-2022 走看看