hadoopq集群搭建

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

疑难小结

1:HDFS进入安全模式: Name node is in safemode mode

退出安全模式, 执行命令: hadoop dfsadmin -safemode leave

2:INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable -- hadoop的本地库加载失败。

检查native库的版本信息,32bit的版本和64bit的版本在不匹配的机器上会加载失败,检查的命令是file

native库依赖的glibc的版本问题。如果在高版本gcc(glibc)的机器上编译的native库,放到低版本的机器上使用,会由于glibc版本不一致导致该错误。

3:

maps to localhost, but this does not map back

解决:

原因: 因为DNS服务器把 192.168.x.x 的地址都反向解析成 localhost ,而DNS服务器不是自己的,不能改。

办法: 编辑ssh 客户端的 /etc/hosts 文件,把出问题的IP 地址和主机名加进去,就不会报这样的错了。

4:

jps命令正常,但是8088端口的WEB页面无法访问

解决方案:

检查一下防火墙和selinux状态, 将防火墙和selinux关闭

防火墙:

service iptables status

永久修改:

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

5:

8088端口访问正常,但是看不到datanode节点

解决方案:

可能出现的问题和解决方案:

1.8080端口没有打开, 手动启动yarn

2.8080端口被其他进程占用, kill掉占用该端口的进程, 然后重启yarn

过程:

1 先决条件

确保在你集群中的每个节点上都安装了所有必需软件:sun-JDK ,ssh,Hadoop

JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本。

ssh 必须安装并且保证sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。

2 实验环境搭建

2.1 准备工作

操作系统:Ubuntu

部署:Vmvare

在vmvare安装好一台Ubuntu虚拟机后,可以导出或者克隆出另外两台虚拟机。

说明:

保证虚拟机的ip和主机的ip在同一个ip段,这样几个虚拟机和主机之间可以相互通信。

为了保证虚拟机的ip和主机的ip在同一个ip段,虚拟机连接设置为桥连。

准备机器:一台master,若干台slave,配置每台机器的/etc/hosts保证各台机器之间通过机器名可以互访。

为保证环境一致先安装好JDK和ssh:

2.2 安装JDK

#安装JDK

$ sudo apt-get install sun-java6-jdk1.2.3

这个安装,java执行文件自动添加到/usr/bin/目录。

验证shell命令:java -version 看是否与你的版本号一致。

2.3下载、创建用户

$ useradd hadoop

$ cd /home/hadoop

在所有的机器上都建立相同的目录,也可以就建立相同的用户,最好是以该用户的home路径来做hadoop的安装路径。

例如在所有的机器上的安装路径都是:/home/hadoop/hadoop-0.20.203,这个不需要mkdir,在/home/hadoop/下解压hadoop包的时候,会自动生成)

(当然可以安装/usr/local/目录下,例如/usr/local/hadoop-0.20.203/

chown -R hadoop /usr/local/hadoop-0.20.203/

chgrp -R hadoop /usr/local/hadoop-0.20.203/

(最好不要使用root安装,因为不推荐各个机器之间使用root访问)

2.4 安装ssh和配置

1)安装:sudo apt-get install ssh

这个安装完后,可以直接使用ssh命令了。

执行$ netstat -nat 查看22端口是否开启了。

测试:ssh localhost。

输入当前用户的密码,回车就ok了。说明安装成功,同时ssh登录需要密码。

(这种默认安装方式完后,默认配置文件是在/etc/ssh/目录下。sshd配置文件是:/etc/ssh/sshd_config):

注意:在所有机子都需要安装ssh。

2)配置:

3) 首先设置namenode的ssh为无需密码的、自动登录。

切换到hadoop用户( 保证用户hadoop可以无需密码登录,因为我们后面安装的hadoop属主是hadoop用户。)

$ su hadoop

cd /home/hadoop

$ ssh-keygen -t rsa

然后一直按回车

完成后,在home跟目录下会产生隐藏文件夹.ssh

测试:

$ssh localhost

发现链接成功,并且无需密码。

4 ) 复制authorized_keys到node2 和node3 上

为了保证node1可以无需密码自动登录到node2和node3,先在node2和node3上执行

$ su hadoop

cd /home/hadoop

$ ssh-keygen -t rsa

相关文档
最新文档