热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Centos6下安装Hadoop2.6问题总结

一.安装背景:VirtualBox下安装三台Centos6.8虚拟机(一主:master,两从:slave1,slave2)Centos版本:CentOS-6.8-x86_64网络配置

一. 安装背景:VirtualBox下安装三台Centos6.8虚拟机(一主:master, 两从:slave1,slave2)

  Centos版本:CentOS-6.8-x86_64

  网络配置:三台虚拟机配置静态IP,并配置主机名master,slave1,slave2

  系统配置:安装JDK,增加hadoop用户(三台都需要)

  Hadoop安装包:hadoop-2.6.0-cdh5.6.0.tar.gz

  无密码ssh:配置ssh无密码连接(master->slave1, master->slave2)

 

二. 安装过程

  1. 在master节点上,将hadoop安装包解压到安装目录/opt/hadoop-2.6.0-cdh5.6.0

  2. 配置配置文件:hadoop-env.sh, core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml, salves

    slaves文件内容如下:

    salve1

    salve2

  3. 从master节点将已配置好的hadoop发送到从节点

    scp -i /opt/hadoop-2.6.0-cdh5.6.0 hadoop@slave1:/opt

    scp -i /opt/hadoop-2.6.0-cdh5.6.0 hadoop@slave2:/opt

  4. 配置环境变量(三台),修改/etc/profile文件,添加内容如下:

    export HADOOP_HOME=/opt/hadoop-2.6.0-cdh5.6.0

    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 

三. 疑难问题

1.启动时,报错"Unable to load native-hadoop library for your platform... "

  ① 问题分析:修改日志级别export  HADOOP_ROOT_LOGGER=DEBUG,console ,查看启动日志信息"GLIBC_2.14 not found",

      使用 "strings /lib64/libc.so.6 |grep GLIBC" 查看系统glibc版本, Centos6及Centos7只支持到2.12,而hadoop需要glibc-2.14.so

  解决方法:(使用root用户)升级glibc版本,下载glibc-2.14.tar.gz到/var/soft/目录

      cd /var/soft

      tar -zxvf glibc-2.14.tar.gz

      cd glibc-2.14

      mkdir build

      cd build

      ../configure --prefix=/opt/glibc-2.14

      make -j4

      make install

    注:make install 安装报错缺少gperf工具,使用"yum install gperf"命令安装

      替换libc.so.6

      cp /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc-2.14.so    

      mv /lib64/libc.so.6 /lib64/libc.so.6.bak

      #此时ll,cp等需要用到libc.so.6的命令都无法使用,更新libc.so.6链接库即可

      LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6 #务必使用root用户操作

    此时再查看glibc的版本,已经支持到2.14了。

  ② 此时仍然报错,因为我们的hadoop-2.6.0-cdh5.6.0.tar.gz安装包是64位版本,内部并没有提供对应的hadoop 64位的native库

    解决方法:下载hadoop官网已编译好的的native库 hadoop-native-64-2.6.0.tar,解压后,将其拷贝到我们的hadoop安装目录下

        $HADOOP_HOME/lib和$HADOOP_HOME/lib/native目录下都拷贝一份,未验证hadoop会加载哪一份。

 

2.网络问题

  确保master主节点可以telnet通,且hadoop响应的端口可以telnet

  a.关闭防火墙

    service iptables stop #关闭防火墙

    service iptables status #查看防火墙状态

    chkconfig iptables off  #关闭防火墙开机启动

  b.安装telnet和telnet-server

    rpm -qa | grep telnet  #查看telnet是否安装

    #安装

    yum install telnet    

    yum install telnet-server

  安装完telnet-server之后修改配置/etc/xinetd.d/telnet, 将disable=yes改为disable=no,重启管理telnet的xinetd进程"service xinetd restart"

 

3. 执行命令hadoop dfs -mkdir /user/hadoop/input 创建目录报错"No such file or directory"

  需要-p选项创建目录 hadoop dfs -mkdir -p /user/hadoop/input

 

4. 执行wordcount测试用例一直卡住,查看日志显示"org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030"

  在伪分布式模式下无此问题,在完全分布式下会出现此错误。

  如果没有配置调度地址,NodeManager会默认为0.0.0.0:8030。如果MR ApplicationMaster在 master机器上启动,0.0.0.0:8030 对应的调度器地址 恰好在本机;否则,在slave机器上0.0.0.0:8030 是找不到调度器的,因为调度器必须在master机器上。而完全分布式中MR ApplicationMaster是启动在slave机器上的,所以需要在yarn-site.xml中配置调度器地址,如下:

  

    yarn.resourcemanager.hostname

    master

  

  注:不同版本的实现不一样,需要看源码才能知道读取的是哪一个配置。

 


推荐阅读
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析
    基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析 ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • 对于希望在未越狱的iOS设备上修改Hosts文件的苹果用户来说,了解文件的具体位置和操作步骤至关重要。本文将详细介绍如何通过安装最新版本的iTunes来实现这一目标,并提供实用的操作指南,帮助用户轻松完成Hosts文件的编辑。 ... [详细]
  • 如何在任意浏览器中轻松安装并使用VSCode——Codeserver简易指南
    code-server 是一款强大的工具,允许用户在任何服务器上部署 VSCode,并通过浏览器进行访问和使用。这一解决方案不仅简化了开发环境的搭建过程,还提供了高度灵活的工作方式。用户只需访问 GitHub 上的官方仓库(GitHub-coder/code-server),即可获取详细的安装和配置指南,快速启动并运行 code-server。无论是个人开发者还是团队协作,code-server 都能提供高效、便捷的代码编辑体验。 ... [详细]
  • SSL 错误:目标主机名与备用证书主题名称不匹配
    在使用 `git clone` 命令时,常见的 SSL 错误表现为:无法访问指定的 HTTPS 地址(如 `https://ip_or_domain/xxxx.git`),原因是目标主机名与备用证书主题名称不匹配。这通常是因为服务器的 SSL 证书配置不正确或客户端的证书验证设置有问题。建议检查服务器的 SSL 证书配置,确保其包含正确的主机名,并确认客户端的证书信任库已更新。此外,可以通过临时禁用 SSL 验证来排查问题,但请注意这会降低安全性。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 新增 Android 平台的 getInstallReferrer() 方法以获取安装来源信息 ... [详细]
  • 寻找数组 O(n) 中两数组合的最小和值 ... [详细]
  • 本课程首先介绍了全栈开发的最后一公里为何重要,并详细探讨了搭建线上生产环境的关键步骤。随后,通过五个本地Node.js项目的实战演练,逐步展示了从快速构建纯静态简易站点到复杂应用的全过程,涵盖了环境配置、代码优化、性能调优等多方面内容。 ... [详细]
author-avatar
萍水相逢--莹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有