Centos6下安装Hadoop2.6 问题总结
一. 安装背景: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 问题总结的更多相关文章
- centos6下安装dedecms
几经波折,终于安装成功!!! 一.centos6下安装WDCP 1.连接linux 在百度直接搜索下载xshell,通过ssh连接 2.安装wdcp 下载安装wget http://dl.wdlinu ...
- Ubuntu14.04下安装Hadoop2.5.1 (单机模式)
本文地址:http://www.cnblogs.com/archimedes/p/hadoop-standalone-mode.html,转载请注明源地址. 欢迎关注我的个人博客:www.wuyudo ...
- 二、Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)
在Ubuntu14.04下安装Hadoop2.4.0 (单机模式)基础上配置 一.配置core-site.xml /usr/local/hadoop/etc/hadoop/core-site.xml ...
- Mysql系列三:Centos6下安装Mysql和Mysql主从复制的搭建
一.Centos6下安装Mysql 检测下系统有没有自带的mysql:yum list installed | grep mysql, 如果已经有的话执行命令yum -y remove mysql-l ...
- 【转】CentOS6下安装mysql后,重置root密码方法
本文转自:CentOS6下安装mysql后,重置root密码方法 centos下安装mysql,居然不知道root用户密码,本想重装,不过还是先度娘了一些,发现这篇文章,刚好解决我的燃眉之急,太赞了. ...
- centos6下安装部署hadoop2.2
环境准备1.操作系统:centos6.0 64位2.hadoop版本:hahadoop-2.2.0 安装和配置步骤具体如下:1.主机和ip分配如下 ip地址 ...
- 一、Ubuntu14.04下安装Hadoop2.4.0 (单机模式)
一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创 ...
- Ubuntu 14.04下安装Hadoop2.4.0 (单机模式)
转自 http://www.linuxidc.com/Linux/2015-01/112370.htm 一.在Ubuntu下创建Hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增 ...
- OS X Yosemite下安装Hadoop2.5.1伪分布式环境
最近开始学习Hadoop,一直使用的是公司配好的环境.用了一段时间后发现对Hadoop还是一知半解,故决定动手在本机上安装一个供学习研究使用.正好自己用的是mac,所以没啥说的,直接安装. 总体流程 ...
随机推荐
- 微信小程序小技巧系列《一》幻灯片,tab导航切换
作者:gou-tian 来自:github 幻灯片 使用微信小程序原生组件swiper实现. <swiper indicator-dots="{{indicatorDots}}&quo ...
- solr教程
转载请注明出处:http://www.cnblogs.com/zhuxiaojie/p/5764680.html 本教程基于solr5.5 前言 至于为什么要用solr5.5,因为最新的6.10,没有 ...
- 解决ASP.NET Core Mvc文件上传限制问题
一.简介 在ASP.NET Core MVC中,文件上传的最大上传文件默认为20MB,如果我们想上传一些比较大的文件,就不知道怎么去设置了,没有了Web.Config我们应该如何下手呢? 二.设置上传 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4
系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...
- iOS查看3D效果的手势交互
公司项目中用到的,仿的人家厂子的效果,看起来还是挺高大上的,其实实现起来很简单,是一种伪3D;用手势滑动查看一个商品的3D展示. 在手机上手指左右滑动可以360°无死角查看这个商品,有兴趣的可以下de ...
- 【C#】New操作符所做的事情
1.它计算类型以及所有基类型(一直到System.Object,虽然它没有定义自己的实例字段)中定义的所有实例字段需要的字节数.堆上的每个对象都需要一些额外的成员---即“类型对象指针”和“同步块索引 ...
- 使用AOP+Annotation实现操作日志记录
先创建注解 OperInfo @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @ ...
- 【转】Windows 窗口层次关系
原文链接:undefined! 相信在Windows 下面编程的很多兄弟们都不是很清楚Windows 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所 ...
- Lind.DDD.UoW工作单元的实现
回到目录 工作单元UoW我们几乎在任务一个像样的框架里都可以找到它的足迹,是的,对于大型系统来说,他是很重要的,保持数据一致性,维持事务状态这都是它要为系统实现的功能,而在不同的框架里,实现UoW的机 ...
- Netty(四)分隔符与定长解码器的使用
TCP以流的形式进行数据传输,上层的应用协议为了对消息进行划分,往往采用如下的4种方式. (1)消息长度固定,累计读到长度总和为定长len的报文后,就认为读取到了一个完整的消息:然后重新开始读取下一个 ...