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

[经验分享] VM下Hadoop集群配置

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2016-12-6 11:06:32 | 显示全部楼层 |阅读模式
hadoop集群的教程网上很多,看起来不难,但自己动手时,却总是遇到这样那样的问题,今天终于成功运行了3台集群,稍微有点紧张,先记录下来。
期间主要参考这位兄弟的文章:
http://blog.csdn.net/hguisu/article/details/7237395
1. 安装JDK、hadoop
在/etc/profile中,添加hadoop的bin和主目录。
2. 3台centos 6.2的集群要ssh无密码访问。
因为是用vmware虚拟出来的3台服务器,所以最好是先配好一台后,用克隆,克隆多两台,这样会节省很多时间。
虽然生成rsa并且无密码访问另外几台机器,但第一次ssh另外机器是,还是会询问是否把对方机器添加到本机,要手动输入yes。所以,机器少的情况下,最笨最保险的方法是手动ssh另外机器的ip和名字,记住,如果在/etc/hosts下添加了另外机器的名字,之前的ssh机器ip和ssh机器名是必要的。
3. 机器分工
192.168.128.140 namenode.blackwing.com
192.168.128.141 datanode.blackwing.com
192.168.128.136 jobtracker.blackwing.com
master是namenode这台机。另外两台作为datanode使用。此外,master还是后面hbase连接的机器。
4. 各文件配置(3台机器一样)
core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://namenode.blackwing.com/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/</value>
</property>
</configuration>

其中
hdfs://namenode.blackwing.com
说明,namenode的uri
hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/var/dfs/,/var/dfs2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/var/hadoop/data,/var/hadoop/data2</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>


PS:上面列出的路径,不必预先创建
其中的dfs.name.dir和dfs.data.dir都设置为另个存储目录,是为了备份、冗余,以免其中一个路径下文件发生意外,还可以有备份使用。
而dfs.replication,是因为有两台datanode,所以设置为2。注意,如果这个数字大于实际datanode机器数,会报错。

mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>jobtracker.blackwing.com:8021</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/var/mapred</value>
</property>
</configuration>

这个文件,设置的是进行map reduce 任务的机器uri。

5. masters和slaves文件
masters其实是误导,其中列出是作为namenode冗余而存在的secondary namenode机器名。
这里顺便说明下对应脚本的作用:
start-mapred.sh的作用:
  1. 在启动此脚本的机器上,启动job tracker服务。
  2. 在slaves文件列出的主机中,启动task tracker服务。
start-dfs.sh脚本作用:
  1. 在本机启动namenode
  2. 在slaves列出主机中启动datanode
  3. 在master列出主机中启动secondary namenode
OK,现在需要格式化namenode:
hadoop namenode -format
之后,可以在dfs.name.dir所列出目录下看到相应文件夹。
至此,没意外的话,在namenode上运行start-all.sh则可以后,namenode会在启动本机的jobtracker和namenode进程外,还会启动另外两台机器的datanode和tasktracker。
简单的办法是,在每台机器上,登录对应用户,输入jps则可以看到相应的进程。
hadoop的web界面默认地址是:
http://localhost:50070

补充:
1)如果是以hadoop用户ssh到各台机器,还是会出现需要输入密码的情况(root则不会),这时,记得hadoop用户下的.ssh文件夹,及其下所有文件,都是700权限。
2)看启动log,如果发现启动进程绑定到另外一个不明的host或ip,则需要修改机器hostname,修改成这台机器的节点名,例如这台是jobtracker.blackwing.com,则可以这样修改:
hostname jobtracker.blackwing.com

运维网声明 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.iyunv.com/thread-310480-1-1.html 上篇帖子: Hadoop的调度器 下篇帖子: hadoop平台的搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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