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

[经验分享] 在Redhat AS6上搭建Hadoop集群总结

[复制链接]

尚未签到

发表于 2018-10-30 06:46:12 | 显示全部楼层 |阅读模式
  于本周末在家里的两台电脑上用Vmware+Redhat As6 + hadoop-0.21.0上搭建了一个3节点的Hadoop集群,虽说是原来已经搭建过类似的集群了,也跑过JavaAPI来操作HDFS与Map/reduce,但是这一次依然是受到挑战了,好些小细节,稍有遗漏就会有如坐过山车一般大起大落。故此,记下本次的操作的几个步骤,以供后续参考。
  1、建3个VM的虚拟机,保证互联互通
  IP address:192.168.43.201   hostname :zhangzk01
  IP address:192.168.43.202   hostname :zhangzk02
  IP address:192.168.43.203   hostname :zhangzk03
  以zhangzk01为namenode节点,zhangzk02与zhangzk03为datanode。
  zhangzk01机器的/etc/hosts文件内容修改为如下形式:
  127.0.0.1       localhost       localhost.localdomain   localhost
  192.168.43.201  zhangzk01       zhangzk01.localdomain   zhangzk01
  192.168.43.202  zhangzk02
  192.168.43.203  zhangzk03
  zhangzk02机器的/etc/hosts文件内容修改为如下形式:
  127.0.0.1       localhost       localhost.localdomain   localhost
  192.168.43.202  zhangzk02       zhangzk02.localdomain   zhangzk02
  192.168.43.201  zhangzk01
  192.168.43.203  zhangzk03
  zhangzk03机器的/etc/hosts文件内容修改为如下形式:
  127.0.0.1       localhost       localhost.localdomain   localhost
  192.168.43.203  zhangzk03       zhangzk03.localdomain   zhangzk03
  192.168.43.201  zhangzk01
  192.168.43.202  zhangzk02
  2、保证Master/Slave机器之间可以通过SSH无密钥互相访问
  在3台机器上建立一个相同的用户,zhangzk,家目录为/home/zhangzk。
  zhangzk01:
  以用户zhangzk登录zhangzk01,在家目录下执行下述命令:
  ssh-keygen -t rsa

  一路回车下去即可在目录/home/zhangzk/.ssh/下建立两个文件>  接下来,需要进入/home/zhangzk/.ssh目录,执行如下命令:
  cd .ssh
  再把is_rsa.pub文件复制到zhangzk02和zhangzk03机器上去。

  scp -r>
  scp -r>  zhangzk02:
  以用户zhangzk登录zhangzk02,在目录下执行命令:
  ssh-keygen -t rsa

  一路回车下去即可在目录/home/zhangzk/.ssh/下建立两个文件>  接下来,需要进入/home/zhangzk/.ssh目录,执行如下命令:
  cd .ssh
  再把is_rsa.pub文件复制到zhangzk01机器上去。

  scp -r>  zhangzk03:
  以用户zhangzk登录zhangzk03,在目录下执行命令:
  ssh-keygen -t rsa

  一路回车下去即可在目录/home/zhangzk/.ssh/下建立两个文件>  接下来,需要进入/home/zhangzk/.ssh目录,执行如下命令:
  cd .ssh
  再把is_rsa.pub文件复制到zhangzk01机器上去。

  scp -r>  *******************************************************************************
  上述方式分别为zhangzk01\zhangzk02\zhangzk03机器生成了rsa密钥,并且把zhangzk01的id_rsa.pub复制到zhangzk02\zhangzk03上去了,而把zhangzk02和zhangzk03上的id_rsa.pub复制到zhangzk01上去了。
  接下来还要完成如下步骤:
  zhangzk01:
  以zhangzk用户登录zhangzk01,并且进入目录/home/zhangzk/.ssh下,执行如下命令:

  cat>  cat authorized_keys_zhangzk02 >> authorized_keys
  cat authorized_keys_zhangzk03 >> authorized_keys
  chmod 644 authorized_keys
  zhangzk02:
  以zhangzk用户登录zhangzk02,并且进入目录/home/zhangzk/.ssh下,执行如下命令:

  cat>  cat authorized_keys_zhangzk01 >> authorized_keys
  chmod 644 authorized_keys
  zhangzk03:
  以zhangzk用户登录zhangzk03,并且进入目录/home/zhangzk/.ssh下,执行如下命令:

  cat>  cat authorized_keys_zhangzk01 >> authorized_keys
  chmod 644 authorized_keys
  通过上述配置,现在以用户zhangzk登录zhangzk01即可以无密钥认证方式访问zhangzk02和zhangzk03了,同样也可以在zhangzk02和zhangzk03上以ssh zhangzk01方式连接到zhangzk01上进行访问了。
  3、配置Java虚拟机
  分别在3个机器节点上安装java。
  我安装的是jdk-6u25-linux-x64-rpm.bin。
  在/home/zhangzk/.bashrc中配置如下环境变量:
  export JAVA_HOME=/usr/java/jdk1.6.0_25
  export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
  执行java -version可以看到如下结果则表示成功!
  [zhangzk@zhangzk01 software]$ java -version
  java version "1.6.0_25"
  Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
  Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)
  4、配置Hadoop的配置文件
  先在本地修改好hadoop的配置文件,即hadoop-0.21.0\conf下的文件core-site.xml、hdfs-site.xml、mapred-site.xml、masters、slaves内容。
  core-site.xml:
  
  
  
  
  
  hadoop.tmp.dir
  /home/zhangzk/hadoop-0.21.0/hadooptmp
  
  
  fs.default.name
  hdfs://zhangzk01:9000
  
  
  
  
  
  
  
  hadoop.tmp.dir
  /home/zhangzk/hadoop-0.21.0/hadooptmp
  
  
  fs.default.name
  hdfs://zhangzk01:9000
  
  
  hdfs-site.xml:
  
  
  
  
  
  dfs.name.dir
  /home/zhangzk/hadoop-0.21.0/hadoopname
  
  
  dfs.data.dir
  /home/zhangzk/hadoop-0.21.0/hadoopdata
  
  
  dfs.replication
  2
  
  
  
  
  
  
  
  dfs.name.dir
  /home/zhangzk/hadoop-0.21.0/hadoopname
  
  
  dfs.data.dir
  /home/zhangzk/hadoop-0.21.0/hadoopdata
  
  
  dfs.replication
  2
  
  
  mapred-site.xml:
  
  
  
  
  
  mapred.jobtracker.address
  zhangzk01:9001
  
  
  
  
  
  
  
  mapred.jobtracker.address
  zhangzk01:9001
  
  
  masters:
  zhangzk01
  zhangzk01
  slaves:
  zhangzk02
  zhangzk03
  zhangzk02
  zhangzk03
  5、设置Hadoop环境变量
  将本地配置好的hadoop-0.21.0目录复制到zhangzk01、zhangzk02、zhangzk03上的目录/home/zhangzk下,保证hadoop的配置文件目录conf的物理路径为/home/zhangzk/hadoop-0.21.0/conf。
  分别在上述3个节点机器上配置hadoop的环境变量。
  export HADOOP_HOME=/home/zhangzk/hadoop-0.21.0
  export PATH=$HADOOP_HOME/bin:$PATH
  export HADOOP_HOME=/home/zhangzk/hadoop-0.21.0
  export PATH=$HADOOP_HOME/bin:$PATH
  6、启动HDFS和Mapreduce,并且查看集群状态
  1)格式化文件系统
  [zhangzk@zhangzk01 bin]$ hdfs namenode -format

  注意:格式化时要防止NameNode的namespace>  2)启动hadoop
  [zhangzk@zhangzk01 bin]$ start-dfs.sh
  [zhangzk@zhangzk01 bin]$ start-mapred.sh
  3)用jps命令查看进程,NameNode上的结果如下:
  5334 JobTracker
  5215 SecondaryNameNode
  5449 Jps
  5001 NameNode
  4)查看集群状态
  [zhangzk@zhangzk01 bin]$ hdfs dfsadmin -report
  确保运行的DataNode个数是正确的,我的是2个,这样可以查看哪个DataNode没有运行
  7、遇到的问题与解决办法
  遇到过两个问题:
  (1)zhangzk01上的防火墙没有关闭
  No route to host
  (2)/etc/hosts中的文件被自动修改
  org.apache.hadoop.ipc.RPC: Server at zhangzk01/192.168.43.201:9000 not available yet, Zzzzz.
  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangzhaokun/archive/2011/05/08/6404139.aspx


运维网声明 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-628146-1-1.html 上篇帖子: hadoop各个组件功能 下篇帖子: Spark和Hadoop的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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