`
weitao1026
  • 浏览: 1060620 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

Hive安装之后,安装Hive过程中,出现的一些问题,以及解决方法。

问题列表如下:

序号 问题
1 为何我配置的是MySQL存储hive元数据,但总是存储到它自带的Derby数据库里?
2 为何我的Hive总是以Local模式启动,而不能将作业提交到Hadoop集群上?
3 为何Hive在执行过程中,会报异常Container [pid=1436,containerID=container_1406649013279_0001_01_000005] is running beyond virtual memory limits. Current usage: 88.0 MB of 1 GB physical memory used; 4.6 GB of 2.1 GB virtual memory used. Killing container,该如何解决 ?
   


暂时就上面几个问题,下面散仙将分析并给出解决方法?

第一个问题比较简单,如果你明明配置了MySQL存储元数据,但启动过程中,并没生效,多半是因为在Hive-env.sh里面的HIVE_CONF_DIR这个路径没有配置正确。

第二个问题,总是Local模式启动,而不能提交到8088的Web界面上,多半是hadoop的配置文件里缺少了mapreduce.framework.name=yarn的属性。
解决方法有2种,第一种更改hadoop的mapred-site.xml文件,并添加如下属性,配置完后,分发各个节点,并重启生效.

Java代码 复制代码 收藏代码
  1. <property>    
  2.    <name>mapreduce.framework.name</name>    
  3.    <value>yarn</value>    
  4.   </property>    
  5.    
 <property>  
    <name>mapreduce.framework.name</name>  
    <value>yarn</value>  
   </property>  
  




第二种方式比较简单,直接在Hive的shell里面使用SET命令,临时给mapreduce.framework.name赋值,但仅在本次会话有效:
执行命令:
SET mapreduce.framework.name=yarn;
执行完毕后可使用SET -v:命令查看变更情况。


下面来看下第三个异常,截图如下:

什么意思呢,要解决这个异常,得熟悉yarn自身的虚拟内存管理规则,在Yarn平台中,CPU,内存,磁盘都被抽象成资源来自使用,管理资源的角色主要有Yarn Resource Manager (RM) 负责总的资源调度,然后每个节点上有Nodemanager 来监听守护资源,在具体到每一个应用上是通过Application Master (AM) container来给Map或Reduce任务来分配资源,具体的属性如下:
(1)yarn.nodemanager.resource.memory-mb
可分配的物理内存总量,默认是8*1024MB。
(2)yarn.nodemanager.vmem-pmem-ratio
每单位的物理内存总量对应的虚拟内存量,默认是2.1,表示每使用1MB的物理内存,最多可以使用2.1MB的虚拟内存总量。

第二个属性,比率的控制影响着虚拟内存的使用,当yarn计算出来的虚拟内存,比在mapred-site.xml里的mapreduce.map.memory.mb或mapreduce.reduce.memory.mb的2.1倍还要多时,就会发生上面截图中的异常,而默认的mapreduce.map.memory.mb或
mapreduce.reduce.memory.mb得初始大小为1024M,然后根据异常中的yarn自身根据运行环境推算出来的虚拟内存来做比较,发现比1024*2.1还要大,所以就会由NodeManage守护进程kill掉AM容器,从而导致整个MR作业运行失败,现在我们只需要调大这个比率即可,避免发生这种异常。具体调大多小,可根据具体情况来设置。

分享到:
评论

相关推荐

    hive安装文档

    ### Hive安装知识点详解 #### 一、Hive简介与安装目的 Hive 是基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行...

    hive安装步骤

    6. Hive安装完成后,需要创建元数据库。Hive默认使用derby数据库,但为了生产环境的稳定性和性能,建议使用MySQL。配置文件位于$HIVE_HOME/conf目录下,需要修改hive-site.xml来指定MySQL连接信息: ```xml ...

    hadoop集群配置之———hive安装与配置(超详细)

    之后,就可以使用Hive的命令行工具(hive CLI)进行操作,比如创建表、加载数据、执行查询等。 在Hive中执行的每一条HQL语句,会经过Hive的编译器、优化器等组件进行处理,然后Hive将这些SQL语句转换成MapReduce...

    hive安装.txt

    由于 Hive 2.0 之后默认使用 JLine 2,而 Hadoop 2.6.4 默认自带的是 JLine 0.9.94,因此需要替换 JLine 版本。将 JLine 2.12.jar 复制到 Hive 的 lib 目录中: ```bash cp /home/hadoop/app/hadoop-2.6.4/share/...

    Linux搭建Hive开发环境

    配置完环境变量之后,我们还需要对Hive进行更细致的配置,这通常涉及到修改Hive安装目录下的配置文件。在这个示例中,我们需要进入到Hive的配置目录,然后复制一个模板文件hive-env.sh.template来创建一个新的环境...

    基于hive Hook的hive原数据调整

    - **安装 hook rpm 包**:在 HiveServer 所在节点执行 `yum install -y tbds-hive-hook`。 3. **更新 tbds 集成代码** - **备份现有代码**:在进行任何更改之前,请先备份 `/var/lib/tbds-server/resources/...

    hadoop hive hbase安装过程

    在完成了 Hadoop 的安装配置之后,接下来可以安装 Hive,以便于进行更高级的数据查询和管理操作。 1. **下载并解压 Hive 安装包**:将 Hive 的安装包解压到合适的目录,如 `/home/hadoop/hive-1.2.1`。 2. **配置...

    深入浅出学习HIVE.pdf

    Hive的原理是指定HQL之后,Hive如何将HQL转换为MapReduce任务,再由Hadoop执行。 总的来说,Hive作为一个数据仓库工具,其学习和使用对于处理大数据集和进行大数据分析具有重要的意义。初学者可以从Hive的安装配置...

    Hive数据库的安装及基本使用

    通过上述步骤,可以成功安装Hive,并且将其配置为使用MySQL作为元数据库,之后就可以开始使用Hive进行数据查询和分析了。需要注意的是,Hive对于MySQL的支持在内部实现良好,使得用户可以专注于数据处理而不是底层...

    hive基础知识总结

    要使用HWI,需要安装Ant并配置其环境变量,然后通过命令`hive --service hwi`启动服务,之后可通过浏览器访问`localhost:9999/hwi`。使用过程中可能遇到的问题包括无法找到Java编译器等,解决这些问题通常需要复制...

    hive操作手册

    之后,为了保证Hive能够通过MySQL用户root访问数据库,需要授予相应的权限。 最后,如果在Hive使用过程中遇到中文乱码问题,可能需要对Hive使用的MySQL元数据库进行编码设置,包括修改表字段编码和表注释编码。可以...

    hive官方文档整理

    官方文档作为学习和使用Hive的权威指南,提供了安装配置、使用方法、命令行选项、脚本编写、配置变量等多方面的信息。以下是文档中提及的一些关键知识点: 1. Hive命令行界面(CLI):Hive命令行界面是Hive的用户...

    dbeaver连接hive2.1.1依赖jar包

    要使用DBeaver连接到Hive 2.1.1,你需要确保安装了所有必要的JAR文件,这些文件提供了与Hive服务器通信的驱动程序和库。 Hive 2.1.1的连接依赖于以下关键组件: 1. **Hive JDBC驱动**:这是Java Database ...

    spark连接HIveDemo

    确保你已经安装了Apache Spark和Hive,并且它们的版本兼容。在配置Spark时,需要在`spark-defaults.conf`文件中指定Hive的相关路径,如Hive Metastore URI、Hive配置目录等。例如: ``` spark.sql.warehouse.dir=...

    hive&tez.zip

    在Hive 2.x版本之后,Tez成为默认的执行引擎,替代了早期的MapReduce。Tez的并行处理能力和低延迟特性使得Hive能够更高效地处理大数据查询,特别是对于复杂的查询和交互式分析,Tez的优势更为明显。 在实际部署中,...

    大数据系列-Hive入门与实战.pptx

    Hive 的安装部署需要依赖 Hadoop 集群,需要安装 Hadoop 之后才能安装 Hive。Hive 的安装过程包括下载、解压、配置、启动等步骤。 Hive 开发使用 ----------------- Hive 的开发使用需要了解 Hive 的基本概念和...

    cloudera manager中添加hive数据库使用mysql的配置步骤

    首先,确保在添加Hive数据库前,系统中不存在先前安装的MySQL版本。使用命令rpm -qa | grep mysql查询已安装的MySQL包,然后使用rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64移除它。 接下来,利用yum工具安装...

    hive学习资料大全 实战优化资源

    hive被大多数企业使用,学习它,利于自己掌握企业所使用的技术,这里从安装使用到概念、原理及如何使用遇到的问题,来讲解hive,希望对大家有所帮助。 此篇内容较多: 看完之后需要达到的目标 1.hive是什么 2.明白...

    HIVE HA高可用性及详细使用

    - 版本选择:本例中选择了Hive 1.2.2版本,该版本支持MapReduce作业,而2.0之后的版本仅支持Spark作业。 ##### 错误处理 - **JLine版本冲突**:如果使用的是Hadoop 2.6.x版本,可能会遇到JLine的版本冲突问题。解决...

Global site tag (gtag.js) - Google Analytics