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

[经验分享] RedHat安装Hadoop0.20.2小集群

[复制链接]

尚未签到

发表于 2016-5-14 11:43:41 | 显示全部楼层 |阅读模式
  在安装Hadoop之前先确保每台机器都装有jdk,版本什么路径什么的最好一样,然后配置好master对其他slavers的SSH无密码访问<可以参考:http://blog.csdn.net/hqshaozhu/article/details/11788025>
  确保上述条件满足之后就可以开始安装Hadoop了
  首先我的版本信息:
  LinuxOS:RedHat Enterprise 6.0 两台(VMWare虚拟机),一台master,两台slave,master也是slave
  Hadoop:0.20.2<下载地址:http://archive.apache.org/dist/hadoop/core/>
  系统配置:master 主机名:rh01 ip:192.168.1.8
  slave 主机名:rh02 ip:192.168.1.9
  得确保机器之间能够互相访问
  

  下面开始Hadoop安装
  1.将下载hadoop文件解压,tar文件使用tar -zxvf file_name 可以在后面加上-C指定解压路径,最好放到一个固定地方,所有机器路径必须保证一直
  2.解压之后在hadoop-0.20.2(安装根目录)下会看到一个conf文件夹,所有的hadoop配置都在这个文件夹下,也是最主要的
  3.配置Hadoop环境变量:
  

export JAVA_HOME=/develop/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/develop/hadoop/hadoop-0.20.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
4.配好环境变量之后可以选择重启机器让prfile文件生效,或者执行source /etc/profile也可  
  5.下面开始配置Hadoop配置文件,有hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves6个文件需要修改
  (1)hadoop-env.sh:在hadoop-env.sh后面添加JAVA_HOME值,这个值被注释掉了,可以直接去掉注释然后将值改成你jdk安装路径即可
  (2)core-site.xml:在configuration节点中添加,其中ip为master ip,9000为端口,注意必须是以hdfs开头,不是http
  

<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.8:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/develop/hadoop/tmp</value>
</property>
(3)hdfs-site.xml:在configuration节点中添加,其中dfs.replication值需要注意,如果你的salves机器数<3,那就写1或者2,大于2就写3就可以了,
我这里是两个slave,所以写2
<!-- dfs.replication,设置数据块的复制次数,默认是3,如果slave节点数少于3,则写成相应的1或者2 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>   
<!-- DFS中存储文件命名空间信息的目录 -->   
<name>dfs.name.dir</name>   
<value>/develop/hadoop/dfs/name</value>   
</property>   
<property>   
<!-- DFS中存储文件数据的目录 -->   
<name>dfs.data.dir</name>     
<value>/develop/hadoop/dfs/data</value>   
</property>   
<property>   
<!-- 是否对DFS中的文件进行权限控制(测试中一般用false)-->   
<name>dfs.permissions</name>   
<value>false</value>   
</property>(4)mapred-site.xml:没有这个文件就新建一个即可,其中mapred.job.tracker 是配置jobtracker,ip为master ip,端口 9001,注意必须是以hdfs开头,不是http<configuration>
<property>   
<!-- JobTracker节点 -->   
<name>mapred.job.tracker</name>   
<value>hdfs://192.168.1.8:9001</value>   
</property>   
<property>   
<!-- map/reduce的系统目录(使用的HDFS的路径) -->   
<name>mapred.system.dir</name>   
<value>/develop/hadoop/mapred/system</value>   
</property>   
<property>   
<!-- map/reduce的临时目录(可使用“,”隔开,设置多重路径来分摊磁盘IO) -->   
<name>mapred.local.dir</name>   
<value>/develop/hadoop/mapred/local</value>   
</property>   
</configuration>
  (5)master:这个文件中写的是master ip(也有资料说是应该写SecondaryNameNode,新手我们就不管吧,反正只要写master ip就可以了)
  (1)hosts第一行127.0.0.1后面不要写主机名,也就是HOSTNAME值
  

(6)slaves:这个文件写的是slave ip,有几个写几个,分行写,master也可以作为slave节点,同master最好都写ip,不要写hostname


6.将hadoop安装目录整个copy到所有salve主机上,使用scp -r命令即可,同时也可以将/etc/profile文件也copy过去,反正profile和hadoop都得保证完全一致,路径也是

7.到这里配置应该就完成了,再启动hadoop前我们需要先格式化namenode:#hadoop namenode -format,这里如果如果提示没有hadoop命令,则先到profile中确认$HADOOP_HOME/bin加入到path中,其次可以进入到hadoop安装目录下使用:#bin/hadoop namenode -format试试,如果还是不行就那检查你的上面配置的文件是否

有错.

8.格式化成功之后就可以启动hadoop了,可以直接启动start-all.sh(配置完全正确情况下这个命令无论在什么目录下都可以执行),之后就可以看到hadoop启动了,你会发现显示将启动日志保存到一个路径下,这些日志在hadoop安装目录的logs文件夹下,是很重要的,但是当你出错时可以清空logs下所有文件,然后重新启动机器让他生成日志,在查看日志信息,因为日志比较多,看起来就不方便,嘿嘿。如果日志没问题那就OK。

9.在每台机器上使用:#jps 可以查看hadoop进程情况,启动成功slave应该显示:tasktracker jps datanode三个进程,master显示:jobtracker namenode sencondarynamenode jps要是master也是slave的话会多tasktracker datanode两个进程

10.一切OK之后可以使用浏览器访问http://192.168.1.8:50030/ ip是master ip,查看hadoop运行情况,之后可以试着做hadoop自带的小测试,自己去网上找吧


我知道一次安装成功可以性很小,你是新手的话,所以会出现各种各样的问题,在这里说下可能会出现的问题吧,也是我遇到的问题

java.io.IOException: Call to /192.168.1.8:9000 failed on local exception: java.net.NoRouteToHostException: No route to host

(1)hadoop版本问题,劝新手不要一开始就是用2.0版本及以上的,首先2.0的资料较少,其他不是很稳定貌似,配置也比较繁琐,我反正弄了一周没搞好,然后果断换了0.20.2才搞定。

(2)如果启动失败,log中显示无法连接master什么的,那问题就出在/etc/hosts文件中,这里配置了主机信息,hosts文件配置有点怪,下面是我的master hosts和slave hosts

master:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

HOSTNAME=rh01

192.168.1.8 rh01

192.168.1.9 rh02


slave:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

HOSTNAME=rh02

192.168.1.9 rh02


192.168.1.8 rh01


注意之处在于
  (1)hosts第一行127.0.0.1后面不要写主机名,也就是HOSTNAME值
  (2)在HOSTNAME后面写ip与主机名映射的时候一定要先写本机ip

(3)防火墙,这个坑爹的货在hadoop中始终是个麻烦,在启动hadoop之前需要将所有机器防火墙关闭,使用:#service iptables stop,也可以直接使用:#chkconfig iptables off命令设置防火墙不自启动,这样下次防火墙就不会自启动了


我就总结出这三点可能会影响hadoop启动的,错误都是无法连接主机,要是其他错误那就好好看看conf下的那些配置文件是否有错了


好了,安装吧,启动吧,开心吧,查看吧,失望吧,排错吧,绝望吧,总之坚持住你就能搞定 嘻嘻~~~


申明有参考网上其他文章

运维网声明 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-216902-1-1.html 上篇帖子: redhat 企业版5上安装oracle11g 下篇帖子: 为redhat增加apt软件包管理工具 shanyou(原作)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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