一. 安装背景: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中配置调度器地址,如下:

  <property>

    <name>yarn.resourcemanager.hostname</name>

    <value>master</value> <!-- 此处master为master节点的主机名-->

  </property>

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

Centos6下安装Hadoop2.6 问题总结的更多相关文章

  1. centos6下安装dedecms

    几经波折,终于安装成功!!! 一.centos6下安装WDCP 1.连接linux 在百度直接搜索下载xshell,通过ssh连接 2.安装wdcp 下载安装wget http://dl.wdlinu ...

  2. Ubuntu14.04下安装Hadoop2.5.1 (单机模式)

    本文地址:http://www.cnblogs.com/archimedes/p/hadoop-standalone-mode.html,转载请注明源地址. 欢迎关注我的个人博客:www.wuyudo ...

  3. 二、Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)

    在Ubuntu14.04下安装Hadoop2.4.0 (单机模式)基础上配置 一.配置core-site.xml /usr/local/hadoop/etc/hadoop/core-site.xml ...

  4. Mysql系列三:Centos6下安装Mysql和Mysql主从复制的搭建

    一.Centos6下安装Mysql 检测下系统有没有自带的mysql:yum list installed | grep mysql, 如果已经有的话执行命令yum -y remove mysql-l ...

  5. 【转】CentOS6下安装mysql后,重置root密码方法

    本文转自:CentOS6下安装mysql后,重置root密码方法 centos下安装mysql,居然不知道root用户密码,本想重装,不过还是先度娘了一些,发现这篇文章,刚好解决我的燃眉之急,太赞了. ...

  6. centos6下安装部署hadoop2.2

    环境准备1.操作系统:centos6.0 64位2.hadoop版本:hahadoop-2.2.0 安装和配置步骤具体如下:1.主机和ip分配如下     ip地址                  ...

  7. 一、Ubuntu14.04下安装Hadoop2.4.0 (单机模式)

    一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创 ...

  8. Ubuntu 14.04下安装Hadoop2.4.0 (单机模式)

    转自 http://www.linuxidc.com/Linux/2015-01/112370.htm 一.在Ubuntu下创建Hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增 ...

  9. OS X Yosemite下安装Hadoop2.5.1伪分布式环境

    最近开始学习Hadoop,一直使用的是公司配好的环境.用了一段时间后发现对Hadoop还是一知半解,故决定动手在本机上安装一个供学习研究使用.正好自己用的是mac,所以没啥说的,直接安装. 总体流程 ...

随机推荐

  1. Android Studio获取SHA1和MD5方法

    1,点击Build > Generate Signed APK. 2,打开命令进入C:\Program Files\Java\jdk1.6.0_39\bin(任何已安装的Java目录) 3,键入 ...

  2. 5.Struts.xml标签中的一些小技巧

    1.为Action属性注入值如给actions包下的test.java类中变量username赋值为"xingyun"在struts.xml中添加下面这段代码: <strut ...

  3. SSE指令集优化学习:双线性插值

    对SSE的学习总算迈出了第一步,用2天时间对双线性插值的代码进行了优化,现将实现的过程梳理以下,算是对这段学习的一个总结. 1. 什么是SSE 说到SSE,首先要弄清楚的一个概念是SIMD(单指令多数 ...

  4. Python 3.4 send mail

    #coding=utf-8 #Python 3.4 https://docs.python.org/3.4/library/ #IDE:Visual Studio 2015 Window10 impo ...

  5. 第 3 章 VBScript流程控制

    学习导航 if...then...else...end if select case...select end for...next do while ... while wend 3.1 认识流程控 ...

  6. svg.js教程及使用手册详解(二)

    上篇简要介绍了svg.js的基本信息和基本用法,这篇开始详细讲解svg.js的用法. SVG元素 SVG元素主要包括各种形状.线条.文本.路径. 矩形——Rect Rects有两个参数,即矩形的宽度和 ...

  7. centos yum Segmentation fault 问题解决办法

    今儿在centos 使用yum 安装软件时出现了 ”Segmentation fault“ 错误提示,google一大把执行 yum clean all 命令后,再执行还是没用,最后把 zlib.x. ...

  8. Code First :使用Entity. Framework编程(8) ----转发 收藏

    第8章 Code First将走向哪里? So far, this book has covered all of the Code First components that reached the ...

  9. 字体属性设置(一):谷歌浏览器12px以下字体的显示;方法和原理

    前言: chrome 谷歌浏览器默认的字体大小为16px:可以通过设置font-size来设置字体大小但是当设置到12px以下的时候字体大小不再改变:对于想设置其他大小的字体就很头疼,本文参考网上的方 ...

  10. 第一次react-native项目实践要点总结

    今天完成了我的第一个react-native项目的封包,当然其间各种环境各种坑,同时,成就感也是满满的.这里总结一下使用react-native的一些入门级重要点(不涉及环境).注意:阅读需要语法基础 ...