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

[经验分享] 虚拟机搭建hadoop环境

[复制链接]

尚未签到

发表于 2017-12-17 07:37:45 | 显示全部楼层 |阅读模式
  这里简单用三台虚拟机,搭建了一个两个数据节点的hadoop机群,仅供新人学习。零零碎碎,花了大概一天时间,总算完成了。
  环境

  •   Linux版本:CentOS 6.5
  •   VMware虚拟机
  •   jdk1.6.0_45
  主要分为一下几步完成
  一、安装CentOS 6.5
  当然了,如果没有虚拟机,需要先安装VMware,然后新建虚拟机,选择系统镜像即可,复制几台,比如我的机器4G内存,最多复制两台,一共三台。
  建议这时候把所有机器进入管理员root权限:
  [iyunv@blue bin]#su
  输入密码即可
  二、修改IP
  复制的三台机器ip一样的,需要配置/etc/sysconfig/network-scripts/ifcfg-eth0文件,有几台修改几次,vim命令打开:
  [iyunv@blue bin]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
  修改为:
DSC0000.png

  主机修改为:192.168.183.3
  三台机器ip随便都行,比如改为
  192.168.183.3
  192.168.183.4
  192.168.183.5
  三、免登陆
  我们需要让三台机器能互相进入、控制对方。
  1、配置hostname
  [iyunv@blue bin]#vim /etc/hosts
DSC0001.png

  所有机器都得有,所以可以直接复制过去
  [iyunv@blue bin]#scp -rp /etc/hosts 192.168.183.4:/etc
  [iyunv@blue bin]#scp -rp /etc/hosts 192.168.183.5:/etc
  2、配置network文件
  [iyunv@blue bin]#vim /etc/sysconfig/network
  编辑HOSTNAME的值,就是给机器取名字:
DSC0002.png

  另外两台机器也要编辑network文件,比如三台机器分别取名blue、blue2、blue3。
  重启机器,命令输入hostname:
  就会出现刚才设置的名字.
  四、生成key
  1、Ssh-keygen命令
  [iyunv@blue bin]#ssh-keygen

  会生成文件,保存在/root/.ssh/id_rsa,到时候会有提示的,里面有cat>  2、对于blue这台机器:

  [iyunv@blue bin]#cat>  生成authorized_keys文件
  在blue2、blue3都执行
  [iyunv@blue bin]#ssh-keygen命令
  会生成同样文件,里面包含了控制该机器的钥匙信息
  打开blue2、blue3的id_rsa.pub文件会有形如下面内容,
DSC0003.png

  鼠标选中(自动进入剪贴板),粘贴到blue机器的authorized_keys文件里面,这样blue(主机)的authorized_keys里面就是三台机器的钥匙,有了钥匙,就可以访问了。
  authorized_keys里面是这样:
DSC0004.png

  3、复制钥匙
  把authorized_keys文件远程复制到blue2、blue3机器里面,这样每台机器都有其它机器和自己的钥匙了。
  [iyunv@blue bin]#scp –r authorized_keys 192.168.183.4:~/.ssh
  [iyunv@blue bin]#scp –r authorized_keys 192.168.183.4:~/.ssh
  4、检查
  对于blue:
  [iyunv@blue bin]#ssh blue2
  [iyunv@blue bin]#ssh blue3
  会发现不需要密码,如果还需要密码,那就失败了。重新检查,大不了从头再来。
  对于另外两台机器blue2、blue3也同样ssh命令检查,不需要密码,就ok!
  五、Hadoop环境配置
  1、关闭防火墙
  这就需要关闭三台机器防火墙:
  关闭:[iyunv@blue bin]#service iptables stop
  检查:[iyunv@blue bin]#iptables –L
  会出现:
DSC0005.png

  表明防火墙成功关闭
  2、安装hadoop
  在blue机器里面操作
  保存hadoop文件,这里是压缩包,放到共享目录里面,将其复制到虚拟机blue的/usr/local/src文件夹下面
  [iyunv@blue bin]#cp /mnt/hgfs/share/hadoop-1.2.1-bin.tar.gz /usr/local/src
  然后进入虚拟机的/usr/local/src下面:
  解压文件
  [iyunv@blue bin]#tar -xzvf hadoop-1.2.1-bin.tar.gz
  3、修改配置文件
  进入/usr/local/src/hadoop-1.2.1/conf文件夹,下面有需要配置的文件
  (1)、修改masters文件
  修改为:blue
  (2)、修改slaves文件
  修改为:
  blue2
  Blue3
  (3)、修改core-site.xml文件
DSC0006.png

  (4)、修改mapred-site.xml
DSC0007.png

  (5)、修改hdfs-site.xml
DSC0008.png

  (6)、配置环境修改文件hadoop-env.sh
  I:安装java
  由于hadoop是基于java的,这里安装java,并且配置JAVA_HOME环境变量
  修改这个文件:
  [iyunv@blue bin]#vim ~/.bashrc
  如下
DSC0009.png

  JAVA_HOME值就是jdk的安装路径,这里安装在/usr/local/src下面
  Ii:[iyunv@blue bin]#source ~/.bashrc 刷新文件,因为刚才修改过,除非重启
  命令:
  [iyunv@blue bin]#Java
  如果出现一些信息,表明配置java环境成功!
  Iii:[iyunv@blue bin]#vim Hadoop-env.sh
  末尾加一行
  export JAVA_HOME= /usr/local/src/jdk1.6.0_45
  以上几步需要细心,保证不敲错一个字符!
  4、复制hadoop到另外两台机器blue2、blue3
  [iyunv@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 192.168.183.4:/usr/local/src
  或者:
  [iyunv@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 blue2:/usr/local/src
  因为配置了network文件,每台机器ip与hostname唯一对应,并且重启生效了,所以用ip与名字是一样的,如果没有重启,需要设置临时名字:
  [iyunv@blue bin]#hostname blue
  [iyunv@blue bin]#hostname blue2
  [iyunv@blue bin]#hostname blue3
  [iyunv@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 192.168.183.5:/usr/local/src
  或者:
  [iyunv@blue bin]#scp -rp /usr/local/src/hadoop-1.2.1 blue3:/usr/local/src
  建议这里再检查一下三台机器的防火墙是否关了,命令:
  [iyunv@blue bin]#Setenforce 0
  [iyunv@blue bin]#Getenforce
  如果出现Permissive,表明关掉了,否则service iptables stop关掉防火墙。
  5、格式化节点
  进入目录:
  [iyunv@blue bin]#cd /usr/local/src/hadoop-1.2.1/bin
  执行hadoop命令:
  [iyunv@blue bin]#./hadoop namenode –format
  6、启动hadoop
  [iyunv@blue bin]#./start-all.sh
  7、这时执行命令:
  首先在父亲(blue)里面,如果父亲都有问题,肯定有问题。
  [iyunv@blue bin]#jps
DSC00010.png

  出现的四个与上面图片的必须一样,否则表明有前面的5个配置文件有问题,返回去检查。
  如果没有问题,再对blue2、blue3两台机器执行命令:
  [iyunv@blue bin]#jps
  哈哈,会发现错误:bash:jps:command not found
  其实是不能发现java的环境变量,前面只配置了父亲blue的java环境变量。
  需要把主机blue的环境变量文件.bashrc复制到两台孩子机器blue2、blue3的对应位置下面,覆盖原有的.bashrc文件。需要三台机器jdk位置安装一样哦,这里前面都统一安装在/usr/local/src目录下面。
  [iyunv@blue bin]#scp -rp ~/.bashrc blue2:~/
  [iyunv@blue bin]#scp -rp ~/.bashrc blue3:~/
  
  还要分别在blue2、blue3里面,记得source ~/.bashrc,重新加载文件,才能生效
  8、停止hadoop
  [iyunv@blue bin]#./stop-all.sh
  继续5、6步,即在blue里面的hadoop的bin目录下面,这里所有执行的文件都在bin目录,下面。
  然后在孩子节点机器blue2、blue3命令:
  [iyunv@blue bin]#jps:
DSC00011.png

  英文意思是:4609数据节点、4700任务节点
  出现的三个必须一样,否则表明前面的5个配置文件有问题,返回去检查。然后重复8——5——6——7步骤。
  如果不出意外,按照这种步骤是可以配置成功的!

运维网声明 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-424918-1-1.html 上篇帖子: hadoop worldcount小程序 下篇帖子: hadoop下安装mahout
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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