zoukankan      html  css  js  c++  java
  • hive1.2.1安装步骤(在hadoop2.6.4集群上)

    hive1.2.1在hadoop2.6.4集群上的安装

    hive只需在一个节点上安装即可,这里再hadoop1上安装

    1、上传hive安装包到/usr/local/目录下

    2、解压  tar -zxvf /usr/local/hive-1.2.1.tar.gz

       重命名 mv hive-1.2.1 hive

    3、安装MySQL。具体步骤见《Linux下jdk、Tomcat、MySQL的安装

    4、配置hive

      (1)配置环境变量vi /etc/profile

             添加:export HIVE_HOME=/usr/local/hive

                export PATH=.:$HIVE_HOME/bin:$...

             配置完source /etc/profile

      (2)将$HIVE_HOME/conf/下的两个文件重命名:

               mv hive-default.xml.template hive-site.xml
               mv hive-env.sh.template hive-env.sh

      (3)vi hive-env.sh

          配置其中的HADOOP_HOME,将HADOOP_HOME前面的#号去掉,添加路径/usr/local/hadoop

      (4)配置元数据库信息 vi hive-site.xml  (由于里面配置太多,很难找,提供一个简便修改方式,在WinSCP中编辑,可以快速查找)

    <configuration>
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://hadoop1:3306/hive?createDatabaseIfNotExist=true</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>root</value>
    <description>username to use against metastore database</description>
    </property>

     

    <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>admin</value>
    <description>password to use against metastore database</description>
    </property>
    </configuration>

    5、安装完hive和MySQL完成后,将MySQL的连接jar包(不必与MySQL安装版本一致,且没有32位和64位区别!)拷贝到$HIVE_HOME/lib目录下

          如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)
            mysql -uroot -padmin
          #(执行下面的语句 *.*:所有库下的所有表 %:任何IP地址或主机都可以连接)
          GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
          FLUSH PRIVILEGES;

    6、Exception in thread "main" Java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
    启动hive的时候,出现的错误:原因:system:java.io.tmpdir 和system:user.name提示需要使用绝对路径

    解决办法:将conf/hive-site.xml中所有的system:java.io.tmpdir 和system:user.name都换成绝对路径。

         hive-1.2.1版本中有四处需要修改: 

     1 <property>
     2     <name>hive.exec.local.scratchdir</name>
     3     <value>${system:java.io.tmpdir}/${system:user.name}</value>
     4     <description>Local scratch space for Hive jobs</description>
     5   </property>
     6   <property>
     7     <name>hive.downloaded.resources.dir</name>
     8     <value>${system:java.io.tmpdir}/${hive.session.id}_resources</value>
     9     <description>Temporary local directory for added resources in the remote file system.</description>
    10   </property>
    11    <property>
    12     <name>hive.querylog.location</name>
    13     <value>${system:java.io.tmpdir}/${system:user.name}</value>
    14     <description>Location of Hive run time structured log file</description>
    15   </property>
    16     <property>
    17     <name>hive.server2.logging.operation.log.location</name>
    18     <value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value>
    19     <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
    20   </property>

    将上述配置修改为:

     1 <property>
     2     <name>hive.exec.local.scratchdir</name>
     3     <value>/usr/local/hive/iotmp/hive</value>
     4     <description>Local scratch space for Hive jobs</description>
     5 </property>
     6 <property>
     7     <name>hive.downloaded.resources.dir</name>
     8     <value>/usr/local/hive/iotmp/${hive.session.id}_resources</value>
     9     <description>Temporary local directory for added resources in the remote file system.</description>
    10 </property>
    11 <property>
    12     <name>hive.querylog.location</name>
    13     <value>/usr/local/hive/iotmp/hive</value>
    14     <description>Location of Hive run time structured log file</description>
    15 </property>
    16 <property>
    17     <name>hive.server2.logging.operation.log.location</name>
    18     <value>/usr/local/hive/iotmp/hive/operation_logs</value>
    19     <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
    20 </property>

    修改的后的新路径在hive中是没有的,所以要手动在hive中新建相关目录:在/usr/local/hive/新建iotmp文件夹,然后在/usr/local/hive/iotmp/目录下新建hive文件夹。

    7、[ERROR] Terminal initialization failed; falling back to unsupported
    java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
    Jline包版本不一致的问题,需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的
    cp  /usr/local/hive/libjline.2.12.jar   /usr/local/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar

    rm -rf   /usr/local/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar


    8、启动hive(之前要启动hadoop集群)
    bin/hive

      

  • 相关阅读:
    {Python之进程} 背景知识 什么是进程 进程调度 并发与并行 同步异步阻塞非阻塞 进程的创建与结束 multiprocess模块 进程池和mutiprocess.Poll
    {Python之线程} 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Threading模块 九 锁 十 信号量 十一 事件Event 十二 条件Condition(了解) 十三 定时器
    {03--CSS布局设置} 盒模型 二 padding bode margin 标准文档流 块级元素和行内元素 浮动 margin的用法 文本属性和字体属性 超链接导航栏 background 定位 z-index
    {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性  定位(position)z-index
    JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}
    JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}
    Bootstrap框架 inconfont font-awesome
    MySQL 安装 用户管理 常用命令
    介绍elasticsearch的文件
    ELK之elasticsearch安装&&kibana安装
  • 原文地址:https://www.cnblogs.com/ahu-lichang/p/6815933.html
Copyright © 2011-2022 走看看