zoukankan      html  css  js  c++  java
  • hive单机部署

    hadoop,hbase,zookeeper安装好了,现在来安装hive

    hadoop 版本:2.8.4

    hbase 版本:2.1.3

    hive 版本:2.3.4

    zookeeper 版本:3.4.13

    1.hive下载:http://mirrors.shu.edu.cn/apache/hive/

    2.上传到linux解压

    3.配置环境变量

    vi /etc/profile

    export HIVE_HOME=/hive

    把$HIVE_HOME/bin:$PATH加到path中去

    >hive --version  就能看到hive版本

    安装成功

    4.配置

    进入/hive/conf目录

    vi hive-site.xml  配置hive-site.xml文件,没有复制一份

    在hive-site.xml中加以下配置,不然报错:java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:us

      <property>
        <name>system:java.io.tmpdir</name>
        <value>/tmp/hive/java</value>
      </property>
      <property>
        <name>system:user.name</name>
        <value>${user.name}</value>
      </property>  
      

    将里面一些system....路径的value,全部改成/tmp/hive/iotmp

    vi hive-env.xml,配置hive-env.xml,没有复制一份,加以下内容

    export HADOOP_HOME=/hadoop/hadoop-2.8.4
    export HIVE_CONF_DIR=/hive/conf
    

     

    >hive 进入hive命令行

    能进入hive命令行,但是提示版本不匹配

    但网上别人也提示这个,可以正常使用

    说是hive要有一个数据库来存储它的元数据,默认是使用derby,也有使用mysql,大多使用mysql,我也使用mysql配置

    在/hive/conf/hive-site.xml文件中加以下内容:

    <property>
            <name>javax.jdo.option.ConnectionUserName</name>   //用户名(这4是新添加的,记住删除配置文件原有的哦!)
            <value>root</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionPassword</name>  //密码
            <value>123456</value>
        </property>
       <property>
            <name>javax.jdo.option.ConnectionURL</name>        //mysql
            <value>jdbc:mysql://192.168.1.136:3306/hive</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionDriverName</name>    //mysql驱动程序
            <value>com.mysql.jdbc.Driver</value>
        </property>
    

      

    配置后,把mysql驱动包拷贝到/hive/lib/下

    在/hive/bin下执行:

    >  schematool -dbType mysql -initSchema   将hive元数据格式化一下

    hive元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持,配置一个独立的元数据库需要增加以下几步骤:

    1)安装mysql服务端和客户端,这个在我本机上安装好了

    2)安装hive,也安装好了

    3)为Hive建立相应的MySQL账户,并赋予足够的权限,执行命令如下:

    发现hive-site.xml配置文件,原本有derby数据库的配置信息,没有删除掉,我们只是在上面加了mysql的配置,derby的配置没有注释掉,注释掉,再格式化

    还是不行,

    报错信息不一样了,使用的是我配置的mysql数据库

    网上说是用户权限不足,继续:

    我的mysql是安装在我本地windows机器上,cmd

    > cd C:Program FilesMySQLMySQL Server 5.5in    进入mysql安装目录

    > mysql -hlocalhost -uroot -p

    >  select user,host from mysql.user where user='root';

     > grant all privileges on *.* to 'root'@'192.168.1.166' identified by '123456';  授权

    > flush privileges;

    > net stop mysql;  先关闭mysql

    > net start mysql;  再重启mysql

    再在/hive/bin 下执行格式化

    成功了

     > show databases;

  • 相关阅读:
    自调用匿名函数和js的Module模式
    设置一天中不同时段的倒计时,计算时针和分针的夹角
    移动端web开发中对点透的处理,以及理解fastclick如何做到去除300ms延迟
    使用Fiddler改变线上js文件的引用路径
    Linux下常用设置文件和文件夹读写权限操作
    RESTful API
    mysql之load语句
    Django学习之点赞功能
    Django学习之网站图标
    python学习之pyenv
  • 原文地址:https://www.cnblogs.com/ngy0217/p/10619837.html
Copyright © 2011-2022 走看看