zoukankan      html  css  js  c++  java
  • Linux基于Hadoop2.8.0集群安装配置Hive2.1.1及基础操作

    前言

    安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可,安装前需保证Hadoop已启(文中用到了hadoop的hdfs命令)。

    关于如何安装Hadoop集群请参照:CentOS7搭建Hadoop2.8.0集群及基础操作与测试

    下载Apache Hadoop

    下载

    地址:http://hive.apache.org/downloads.html




    wget http://mirrors.hust.edu.cn/apache/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz
    解压
    tar -zxvf apache-hive-2.1.1-bin.tar.gz
    移动文件夹
    mv apache-hive-2.1.1-bin /usr/local/hadoop/
    配置环境变量

    立即生效

    source ~/.bashrc

    修改配置

    配置hive-site.xml

    进入目录$HIVE_HOME/conf,将hive-default.xml.template文件复制一份并改名为hive-site.xml

    #进入hive配置文件目录$HIVE_HOME/conf
    cd $HIVE_HOME/conf 
    #拷贝并重命名
    cp hive-default.xml.template hive-site.xml

    因为


    所以要让hadoop新建/user/hive/warehouse目录,执行命令:

    $HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse
    给刚才新建的目录赋予读写权限,执行命令:
    $HADOOP_HOME/bin/hadoop fs -chmod 777 /user/hive/warehouse 

    让hadoop新建/tmp/hive/目录,执行命令:

    $HADOOP_HOME/bin/hadoop fs -mkdir -p /tmp/hive/
    给刚才新建的目录赋予读写权限,执行命令:
    $HADOOP_HOME/bin/hadoop fs -chmod 777 /tmp/hive

    检查hdfs目录是否创建成功

    检查/user/hive/warehouse目录是否创建成功,执行命令:

    $HADOOP_HOME/bin/hadoop  fs  -ls  /user/hive/

    如图:


    检查/tmp/hive是否创建成功,执行命令:

    $HADOOP_HOME/bin/hadoop  fs  -ls /tmp/

    如图:

    修改hive-site.xml中的临时目录

    将hive-site.xml文件中的${system:java.io.tmpdir}替换为hive的临时目录,例如我替换为 /usr/local/hadoop/apache-hive-2.1.1-bin/tmp,该目录如果不存在则要自己手工创建,并且赋予读写权限。

    如图:


    替换为


    将${system:user.name}都替换为root


    替换为


    切记要全部替换,以上只为示例。

    修改hive-site.xml数据库相关的配置

    本文使用postgres数据库,如需了解请参照Linux安装postgresql及基础操作

    搜索javax.jdo.option.ConnectionURL,将该name对应的value修改为Postgres的地址,例如我修改后是:
    
         <name>javax.jdo.option.ConnectionURL</name>  
         <value>jdbc:postgresql://192.168.174.200:5432/postgres?charSet=utf-8</value>
    
    
    搜索javax.jdo.option.ConnectionDriverName,将该name对应的value修改为MySQL驱动类路径,例如我的修改后是:
    
    	<name>javax.jdo.option.ConnectionDriverName</name> 
        <value>org.postgresql.Driver</value> 
         
    
    
    搜索javax.jdo.option.ConnectionUserName,将对应的value修改为MySQL数据库登录名:
    
        <name>javax.jdo.option.ConnectionUserName</name>
    
        <value>postgre</value>
    
    
    搜索javax.jdo.option.ConnectionPassword,将对应的value修改为MySQL数据库的登录密码:
    
         <name>javax.jdo.option.ConnectionPassword</name>
    
         <value>postgre</value>
    
    
    搜索hive.metastore.schema.verification,将对应的value修改为false:
    
        <name>hive.metastore.schema.verification</name>
    
        <value>false</value>
    上传postgres驱动包到lib目录

    将postgres驱动包上载到Hive的lib目录下,例如我是上载到/usr/local/hadoop/apache-hive-2.1.1-bin/lib目录下。


    新建hive-env.sh文件并进行修改

    进入到/opt/hive/apache-hive-2.1.1-bin/conf目录,命令:

    cd /opt/hive/apache-hive-2.1.1-bin/conf
    

    将hive-env.sh.template文件复制一份,并且改名为hive-env.sh,命令:

    cp hive-env.sh.template  hive-env.sh

    打开hive-env.sh配置并且添加以下内容:

    vim hive-env.sh
    export  HADOOP_HOME=/usr/local/hadoop/hadoop-2.8.0
    export  HIVE_CONF_DIR=/usr/local/hadoop/apache-hive-2.1.1-bin/conf
    export  HIVE_AUX_JARS_PATH=/usr/local/hadoop/apache-hive-2.1.1-bin/lib

    启动与测试

    对postgres数据库进行初始化

    进入到hive的bin目录 执行命令:

    cd /usr/local/hadoop/apache-hive-2.1.1-bin/bin

    对数据库进行初始化,执行命令:

    schematool -initSchema -dbType postgres

    如图:


    执行成功后,hive数据库里已经有一堆表创建好了

    如图:


    启动hive

    进入到hive的bin目录执行命令:

    cd /usr/local/hadoop/apache-hive-2.1.1-bin/bin

    执行hive脚本进行启动,执行命令:

    ./hive

    如图:


    以上Hive配置完成

  • 相关阅读:
    python set 使用
    python判断字符串是字母 数字 大小写
    go语言中的运算符^,&
    golang 之 flag.String
    关于Mac或Linux下GO的Permission denied提示错误
    《算法竞赛进阶指南》0x05排序 POJ3784 对顶堆动态维护中位数
    大顶堆的基本操作(线性表建堆+siftup+siftdown+insert+delete)
    《算法竞赛进阶指南》0x05排序 环形均分纸牌问题
    SublimeText3配置c/c++环境
    《算法竞赛进阶指南》0x05 排序 离散化
  • 原文地址:https://www.cnblogs.com/gmhappy/p/9472442.html
Copyright © 2011-2022 走看看