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,所以没啥说的,直接安装. 总体流程 ...
随机推荐
- 解读SDN的东西、南北向接口
北向接口(Northbound Interface)是为厂家或运营商进行接入和管理网络的接口,即向上提供的接口. 南向接口(Southbound Interface)是提供对其他厂家网元的管理功能,支 ...
- 使用 PowerShell 自动化 CloudServices 发布
在软件的开发过程中,自动化的编译和部署能够带来很多的优势.如果可以通过一个脚本实现软件的自动化部署,那么就可以节省大量的时间去做其它事情. 下面介绍如何将云应用程序通过 PowerShell 自动发布 ...
- 谈一谈SQL Server中的执行计划缓存(上)
简介 我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径.当我们写的SQL语句传到SQL Server的时候,查询分析器会将语句依次进行解析(Parse).绑定(Bind).查询 ...
- JQuery的ajax
JQuery-AJAX: jQuery load() 方法是简单但强大的 AJAX 方法. $(selector).load(URL,data,callback);(这三个参数可以随意设置几个) @ ...
- Difficult Melody(映射)
题目链接 http://vjudge.net/contest/137242#problem/D Description You're addicted to a little game called ...
- 数据见50条常用sql
问题及描述: --1.学生表 Student(Sid,Sname,Sage,Ssex) --Sid 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course ...
- nhibernate 中 lazy="no-proxy" 时的问题
在 nhibernate,如果将实体的一个关联属性配置为 lazy="no-proxy",那么,从其他属性计算出来的属性不能正确更新.例如,将以下代码中 Foo.Bar 配置为 l ...
- 取出session中的所有属性与值的方法
如果你想取出session中所有的属性和值,可以通过getAttributeNames()方法来实现,具体代码如下 //获取session HttpSession session = request. ...
- Git分布式版本控制学习
git和SVN都是版本控制系统.git是命令行操作,不喜欢的就算了,看完如果有身体不适还请及时就医~ git WIN32百度网盘下载地址:http://pan.baidu.com/s/1c1AeY9 ...
- jQuery对表单、表格的操作及更多应用
<head> <style type="text/css"> .even { background-color: #fff38f;/*偶数行样式*/ ...