设为首页 收藏本站
查看: 881|回复: 0

[经验分享] VMware Workstation 9下基于Ubuntu 12.10服务器版本的Hadoop集群的配置

[复制链接]

尚未签到

发表于 2018-5-6 09:40:19 | 显示全部楼层 |阅读模式
  (主要参照http://os.51cto.com/art/201211/363116.htm)
一、概述
其实,网上关于Hadoop集群的配置的资料不可谓不少,但是,细细找来,多半是在有图形桌面的环境下搭建的。而我们知道,真正要运行Hadoop集群,我们想要更多的资源用来集中数据的处理与稳定,最理想的莫过于用类UNIX系统的服务器版本,更好面对要核心——要解决的问题,而不用浪费资源去做可视化,去显示什么。但是真正要用服务器版类UNIXOS,面对无图形界面的操作系统,要想像平时用OS那么自然,可也绝非易事,好在网上资源不少,东找西凑,也算是最终完成了任务。
好了,言归正转,还是就核心要解决的问题来讲述吧
搭建Hadoop集群的大致步骤都一样;
1、      选择好虚拟机,下载并安装好,然后在用中熟悉下,虚拟机有很多:VirtualBox,KVMVMare公司的一系列的,什么ESXi(自己还想去弄清楚的,目前还不清楚)、WorkstationvSphere(自己还想去弄清楚的,目前还不清楚)等等;在这里,我选择了VMware Workstation9.0,是出于与前辈的虚拟镜像兼容,个人也推祟VirtualBox,一是其开源,二是因为其体积比VMware Workstation小得多,对于硬件资源紧张的人来说,尤其如此。
2、      下载好客户机要用的OS,并用虚拟机装入和新建虚拟机。这里,我先选择的是最新的Ubuntu12.10服务器版(64),因为个人PC上内存还算较大,主机OS也是64位版的。
3、      在装好的虚拟机的客户机OS中下载和安装好JDKHadoop的相应版本,安装JDK是因为Hadoop是用JAVA写的,运行肯定需要JAVA支持,至于JDK,用的最广的是Sun公司的JDK,但是据《Hadoop:The definitive guide》的附录Apage:656)所说,其它版本的JDK也行,所以,这里就直接用Ubuntu资源库里所提供的OpenJDK
4、      配置好SSHJAVA_HOME(指向JDK的路径)和Hadoop的几个核心文件的配置——在hadoop-env.sh中指出JDK的路径、配置好Hadoopconf目录下的core-site.xml  HadoopHDFS的配置(conf目录下的hdfs-site.xml)和HadoopMapReduce 的配置(conf目录下的mapred-site.xml
5、      确认好这台客户机的所有环境配置好后,再将其复制(克隆)到其它客户机中,然后各机IP/etc/hosts/etc/hostname作相应的改动
6、      测试Hadoop集群是否运行正常
二、详细步骤
1、搭建环境前的准备、计划:
VM中虚拟了4台机子,分别起名为:
master        (ubuntu 12.10 64bit,内存:2G,硬盘:80G),
son-1         (ubuntu 12.10 64bit,内存:1G,硬盘:80G)
son-2         (ubuntu 12.10 64bit,内存:1G,硬盘:80G)
son-3         (ubuntu 12.10 64bit,内存:1G,硬盘:80G)
修改本机的host文件,

sudo   gedit /etc/hosts


在后面添加内容为:

192.168.200.104   master
192.168.200.105 son-1
192.168.200.106 son-2
192.168.200.107 son-3


         当然,本机的hostname,即在/etc/hostname文件中,应是
master


2、选择虚拟机,下载并安装好。
这个一般是傻瓜式的,如果能汉化,就汉化吧,这样对于我们的工作也轻松多了,这里,我选择的是VMware Workstation9.0;
3、下载好客户机要用的OS,并用虚拟机装入。
这里,我先选择的是最新的Ubuntu12.10服务器版(64)。这里,VMware对其设置网卡为采用NATBridged,反正只要是为了使客户机OS能够连接外网,这样,我们的客户机的服务器OS就可以直接下载SSHOpenJDKHadoop等相关资源;
4、为本机(master)和子节点(son..)分别创建hadoop用户和用户组,
其实ubuntu和centos下创建用户还多少还是有点区别的。

ubuntu下创建:

先创建hadoop用户组:

sudo addgroup hadoop


然后创建hadoop用户:

sudo adduser -ingroup hadoop hadoop


centos 和 redhat 下创建:

sudo adduser hadoop


注:在centos 和 redhat下直接创建用户就行,会自动生成相关的用户组和相关文件,而ubuntu下直接创建用户,创建的用户没有家目录。

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

sudo gedit /etc/sudoers


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

在root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL,

hadoop  ALL=(ALL:ALL) ALL


5、客户机OS中下载和安装好JDKSSHHadoop的相应版本
(1)为本机(master)和子节点(son..)安装JDK环境。
ubuntu下一条命令即可:

sudo apt-get install openjdk-7-jre


centos和redhat建议下载源码安装。

详见:http://www.db89.org/post/2012-07-02/centosjava

(2) 修改 本机(master)和子节点(son..)机器名

打开/etc/hostname文件;

sudo   gedit /etc/(相应的hostname)


分别修改为:master   son-1   son-2   son-3  son-4。这样有利于管理和记忆!

请参照http://os.51cto.com/art/201211/363116.htm中相应章节

6、客户机的所有环境配置好后,再将其复制(克隆)到其它客户机
先将这个客户OS——master克隆出son-1son-2son-3
要将master机器上的文件一一复制到datanode机器上(son-1,son-2,son-3都要复制):(这里以son-1为例子)
1. 公钥的复制

scp   ~/.ssh/id_rsa.pub hadoop@son-1:~/.ssh/id_rsa.pub.master


2. hostname文件的修改

打开/etc/hostname,这时去掉原来的内容,填入:son-1


3. hadoop文件夹的复制,其中的配置也就一起复制过来了!

scp   -r /home/hadoop/hadoop hadoop@son-1:~


并且要将所有节点的hadoop的目录的权限进行如下的修改:

sudo   chown -R hadoop:hadoop hadoop


这些东西都复制完了之后,datanode机器还要将复制过来的公钥追加到收信任列表:

在每个子节点的自己种都要操作。

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


这样环境已经基本搭建好了,现在开始测试一下。

7、            测试Hadoop集群是否运行正常
检验Hadoop 集群的固定步骤是——
(1)       先运行hadoop version命名,看是否出现Hadoop的版本信息,如果未出现,一般是JDK没装好或者是指向JDK的路径错误,路径指向没错误的话,就看是不是你对应所属的用户和组有没有相应权限;
(2)       再运行hadoop namenode –format命令,这个如果不能运行,尤其是出现找不到main class类的话,最直接的办法就是换一个版本的Hadoop试试,因为有可能你的Hadoop源来自不太完备的版本;最后运行start-dfs.sh命令和start-mapred.sh命令,如果出现相应的问题,建议首先不要忙着去Google、百度,即使要去,也先要将问题定位清楚,即看看DataNode logs目录中的日志,再去找解决办法,比如我就碰到一种情况是:各namenodedatanodetasktrackerjobtracker运行正常,但hadoop dfsadmin –report却报告没有datanode活着,最后看了日志后去找相应问题的解决办法
http://serverfault.com/questions/392733/hadoop-slave-nodes-not-connecting,原来,这种情况理多的是出自ip设置的问题(而不是Hadoop的配置问题),最后我将/etc/network/interfaces中相应的127.0.1.1 master注释掉即解决了,这些问题解决了基本就没问题了;
(3)       最后就是运行下wordcount而已
效果如图(命令也可参照)

DSC0000.png

DSC0001.png

DSC0002.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-456443-1-1.html 上篇帖子: Ubuntu 安装 .bundle 文件 下篇帖子: 修改Ubuntu字符编码格式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表