基于Ubuntu 12.04+Hadoop1.2.0 的Hadoop集群搭建

(一) 环境准备

首先准备5台电脑。我这里使用的是OpenStack虚拟出来的五台电脑。每个实例安装的系统是Ubuntu 12.04.2 LTS,虚拟配置如下:

基于Ubuntu 12.04+Hadoop1.2.0 的Hadoop集群搭建  

 

相关阅读:

Hadoop部署在RedHat Linux 5上常见错误及解决方案 http://www.linuxidc.com/Linux/2013-07/87080.htm

Ubuntu 13.04上搭建Hadoop环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Hadoop+ZooKeeper+HBase集群配置 http://www.linuxidc.com/Linux/2013-06/86347.htm

(二) 修改机器名

打开/etc/hostname文件;

sudo vi/etc/hostname

分别改为hadoop1、hadoop2和hadoop3等等

(三) 域名和ip配置

设置的IP分别是:

192.168.10.1 hadoop1

192.168.10.2 hadoop2

192.168.10.3 hadoop3

192.168.10.4 hadoop4

192.168.10.5 hadoop5

然后使用vi/etc/hosts修改各个主机的/etc/hosts中的内容,将上边的内容编缉进去。注意:

(1)所有节点都需要配置成上述内容。如果不配置,此后的工作将使用IP操作,比较繁琐。扩展性比较差。

(2)需要使用root权限。如果没有root权限,可以使用:sudovi /etc/hosts命令进入编辑。

(四) 创建用户,分配权限

(1)先创建hadoop用户组:sudo addgrouphadoop

(2)然后创建用户hadoop:sudo adduser-ingroup hadoop hadoop

注:

(i)当你没有root权限的时候,所有的命令可以加上sudo前缀。

(ii)在CentOS 和 redhat下直接创建用户就行,会自动生成相关的用户组和相关文件,而ubuntu下直接创建用户,创建的用户没有根目录。

(3)给hadoop用户添加权限,打开/etc/sudoers文件;

sudo vi /etc/sudoers

按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。

在root ALL=(ALL:ALL) ALL下添加下面的内容:

hadoop ALL=(ALL:ALL) ALL

注意:

(i)千万不要写错了。这个文件一旦修改错误,后果严重。这里创建的用户名也可以不是hadoop,比如ubuntu等都可以。ubuntu系统会在/home目录下生成一个以用户名命名的文件夹。

(ii)所有虚拟机上,都必须使用相同的用户名。

(iii)如果没有权限修改/etc/sudoers。可以输入sudovisudo 即可,此命令直接修改该文件,按照提示修改保存和推出。

(五) 本机(hadoop1)和子节点(son..)安装ssh服务

主要为ubuntu安装,centos和redhat系统自带。ubuntu下:

sudo apt-get installssh openssh-server

(六) 建立ssh无密码登录环境

做这一步之前首先建议所有的机子全部转换为hadoop用户,以防出现权限问题的干扰。

所有机器执行一下操作:

(1)ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。

创建ssh-key,这里我们采用rsa方式;

ssh-keygen -t rsa -P “”

(注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)

(2)切换到~/.ssh/目录下,然后将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的;

cd ~/.ssh

cat id_rsa.pub>> authorized_keys

(3)用root用户登录服务器修改SSH配置文件”/etc/ssh/sshd_config”的下列内容。

RSAAuthenticationyes

PubkeyAuthenticationyes

AuthorizedKeysFile %h/.ssh/authorized_keys

设置完之后记得重启SSH服务,才能使刚才设置有效。(centos里的命令:service sshd restart)但这里是ubuntu里。输入命令:

/etc/init.d/sshrestart

退出root登录,使用hadoop普通用户验证是否成功。

ssh localhost。

如果无错误提示,本地无密码登录就配置成功!

(七) 配置集群无密码登录

首先配置Slave节点登录MASTER比较方便,即hadoop2~hadoop5实现无密码访问Master节点。

以hadoop2为例子:

(1) 远程复制文件”id_rsa.pub”,目标位置是主机hadoop1的用户为”hadoop”的”/home/hadoop/”:

scp~/.ssh/id_rsa.pub hadoop@hadoop1:~/

因为并没有建立起无密码连接,所以在连接时,仍然要提示输入输入Hadoop1服务器用户hadoop的密码。为了确保确实已经把文件传过去了,登录Hadoop1查看”/home/hadoop/”下是否存在这个文件。

(2) 把刚复制来的Hadoop2的公钥追加到Hadoop1 的授权文件”authorized_keys”中去。

cat~/id_rsa.pub >> ~/.ssh/authorized_keys

必要的话,使用下面命令进行追加并修改”authorized_keys”文件权限:

chmod 600~/.ssh/authorized_keys

记得把”/home/hadoop/”目录下的”id_rsa.pub”文件删除掉。

rm –r~/id_rsa.pub

(3) 重复上面的步骤把剩余的Slave服务器(hadoop3~hadoop5)进行配置。这样,我们就完成了”配置Slave无密码登录Master”.

(4) 用hadoop用户登录到MASTER节点,就是主机hadoop1。输入命令:

scpauthorized_keys hadoop@hadoop2:~/.ssh/

分别修改命令中的hadoop2为hadoop3到hadoop5并执行。此命令是复制主节点authorized_keys到其余各个节点的.ssh目录。

在hadoop1主机,登录其余各个节点。输入命令:

ssh hadoop2

如果登录失败。可能尝试一下几个方法:

a) 删除各个节点的known_hosts,输入命令:rm~/.ssh/known_hosts。再连接看看。

b) 如果出现一下错误提示,注意红色提示。那我们可以按照提示,输入命令,比如:

ssh-keygen -f”/home/ubuntu/.ssh/known_hosts” -R hadoop2

此命令的hadoop2,就是连接目标,如果提示给的是 ip地址,就要输入ip地址。

基于Ubuntu 12.04+Hadoop1.2.0 的Hadoop集群搭建  

c) 其实,只要各个节点曾经连接成功就可以。在hadoop运行过程中,可以使用hadoop-daemon.sh start datanode 等命令动态的将当前节点加入到集群中。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值