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

[经验分享] 虚拟机搭建Hadoop-zhj789的博客

[复制链接]

尚未签到

发表于 2018-10-28 13:29:04 | 显示全部楼层 |阅读模式
  最近学习搭建hadoop,通过边查资料边搭建,花了半天也搭建好了,借此写下搭建总结,在这里感谢博友【数据放大镜】的文章,很不错,就是按照他的步骤搭建下来的,在这里,自己完善了一下,不说了,直接开搞:Ps:由于自己的本本配置略差,所以只装了3个虚拟机
  1:工具列表
  Linux        这里使用的是:CentOS 6.5
  Hadoop   这里使用的是:hadoop-1.2.1-bin.tar.gz
  JDK         这里使用的是:jdk-8u172-linux-x64.tar.gz
  2:通过VMware装3个Linux系统的虚拟机,这里就不做介绍了(这里使用的是CentOS 6.5版本)
  装好系统以后,下面的步骤建议在root用户下操作
  3 :配置网络
  将3台机器的IP配置成固定IP, 网络设置成NET方式
  

        配置固定IP  cd  /etc/sysconfig/network-scripts;  vi  ifcfg-eth0
  

  DEVICE="eth7"
  BOOTPROTO="static"        #这里是设置固定IP模式的: static固定,  DHCP自动获取#
  HWADDR="00:0C:29:2A:0E:89"
  IPV6INIT="yes"
  NM_CONTROLLED="yes"
  ONBOOT="yes"
  TYPE="Ethernet"
  UUID="8ffaa06d-8057-43a1-bb93-1302400da0b9"
  IPADDR=192.168.183.130      #这里是设置IP
  GATEWAY=192.168.183.2      #网关
  

  我这里设置的是192.168.183.130(父)
  其他两个环境分别设置成: 192.168.183.128(子)
  192.168.183.129(子)
  

  设置虚拟机登录方式:(这里我个人设置的NET连接方式,其他的应该也可以,可以尝试一下)
  

  NET联网设置
  虚拟机(编辑----.>虚拟网络编辑器),选择NET模式     下面的子网IP  设置成 192.168.183.0    进入NET设置,里面将网关设置成192.168.183.2
  

  然后进入自己本机的网络设置页面: 打开网络与共享中心----->更改适配器设置------>  进入VMware Network Adapter VMnet8的属性IPv4设置
  默认网关设置成192.168.183.2
  

  然后重启虚拟机的网络连接(虚拟机右下角的电脑图标,断开连接,再重新连接)
  虚拟机的设置里面    设置--->硬件-----> 网络适配器-----> 网络连接(选择自定义,复选VMnet8(NET模式))
  重启虚拟机
  

  4:配置hostname 和 免密互相访问
  

  配置hostname  cd   /etc;    vi  hosts
  

  在文件内容下面追加
  192.168.183.130 blue
  192.168.183.129 blue2
  192.168.183.128 blue3
  

  注: 要对3个环境分别修改操作
  

  配置network文件
  

  cd  /etc/sysconfig ;  vi  network
  编辑network的值,分别修改成blue    blue2    blue3
  

  重启虚拟机,执行hostname   命令,会发现hostname修改成功了
  

  设置免密互相访问
  

  生成秘钥key
  首先建立目录:   mkdir  /root/.ssh
  执行命令    ssh-keygen     (过程中出现需要确认情况,直接回车跳过----这些确认步骤是提示设置密码的)

  执行结束后会在  /root/.ssh 目录下生成2个文件  >  不通的机器生成的文件内容不同:
  比如:

  192.168.183.130环境生成的>  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxxuQrPBqE09NVjfHbquem5abgu7htljA7bNddQsAP/7wuko7dy6JC5lc1+oant4TrDSu+QTEEMt4anIyp3dk2FAP1FrSlyZvioC0oPhcAfXlVUe/WOLaoVsXvXc7BaRx/DVeWBoadYoVN/zb/jrgBiVSN0mklawrZou+GkNs0I2EtOL8URx6ZGO5H5pyfy8tZeebCoE2BgMw7nZBHccnL1InCc38Hpn90cyu5vA9xNT0Akp1npCGKmLYMkoWnCdSqPwwM69ZkRHAo4gL/0ZeyAkPzSa6cyFAQa40wTxq5ye8M2eCGBmjhKhauRgyo8SdN7A9sJ63FXMGCJkzI48aIw== root@blue
  


  192.168.183.128环境生成的>  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAucpajUU3o6XCk6V6JxPT7fgUDJ7Cw/tItDEFB9EMDSoCfua+tARPUdickq6qdqcrzE0JS2sB1Clil4p8nO7DL0HPQwK4ER3CEzXUDB9uoUeuDKNDpRHJFZvvDHs1Lqo+OPMZ6hbWVGh1DE+yFLOKBQ3DtbfGYZhePXryqhh/W2FrI/3LjT1DLSTckGa7ZgqaPh5t4YmktpLGzue3KjWzRAb2BPdKqgK5f67w5RSv4s3ttZbAMOGebg/PNdl9M77oSX7HsMIDkvbkogIZDHV+2LWIyHpaCAvBNDzHQd/67+XlRH1GJummFQjFrl3wJ1epJFl2rPhZjmT+37CCnMUbAQ== root@blue3

  192.168.183.129环境生成的>  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzkKeSoDQx9AnAKkBoygiWLH25Pp6GlwjaqqG9LnbCwif5LcUX4N2mfWyXrgpJ3C5PB0r4xq7T776U1Q+VUj43/JEBmlFzpzIiQt0k0yB10mzDVdJwHSWspjQGNkCsiCF9gnuUpcxU5QO0J9gCvJhgfoK6mbVM+xBjF3B5pBaIdnSLZJTqlAlG62SH+kOQQWjkhiFzrxJdfViAcq4Leyg5WP+rBs7tKXysmwnFtpbn6Tok4V+p3VGFqg9/p8OB2HwWokHPV/ZISGbo4G6UpEtYp2hfcLJyo8JjJ1LCDszMyyvIrAZwo/wm6HCNuQU5kG4glghpUrhIEwPqivTeKq4eQ== root@blue2
  

  将id_rsa.pub写入authorized_keys

  在父节点执行命令:  cat>  然后将子节点的id_rsa.pub 文件追加到authorized_keys,最后追加后的内容的root 改成blue.  最终的authorized_keys文件内容为:
  

  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxxuQrPBqE09NVjfHbquem5abgu7htljA7bNddQsAP/7wuko7dy6JC5lc1+oant4TrDSu+QTEEMt4anIyp3dk2FAP1FrSlyZvioC0oPhcAfXlVUe/WOLaoVsXvXc7BaRx/DVeWBoadYoVN/zb/jrgBiVSN0mklawrZou+GkNs0I2EtOL8URx6ZGO5H5pyfy8tZeebCoE2BgMw7nZBHccnL1InCc38Hpn90cyu5vA9xNT0Akp1npCGKmLYMkoWnCdSqPwwM69ZkRHAo4gL/0ZeyAkPzSa6cyFAQa40wTxq5ye8M2eCGBmjhKhauRgyo8SdN7A9sJ63FXMGCJkzI48aIw== root@blue
  

  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzkKeSoDQx9AnAKkBoygiWLH25Pp6GlwjaqqG9LnbCwif5LcUX4N2mfWyXrgpJ3C5PB0r4xq7T776U1Q+VUj43/JEBmlFzpzIiQt0k0yB10mzDVdJwHSWspjQGNkCsiCF9gnuUpcxU5QO0J9gCvJhgfoK6mbVM+xBjF3B5pBaIdnSLZJTqlAlG62SH+kOQQWjkhiFzrxJdfViAcq4Leyg5WP+rBs7tKXysmwnFtpbn6Tok4V+p3VGFqg9/p8OB2HwWokHPV/ZISGbo4G6UpEtYp2hfcLJyo8JjJ1LCDszMyyvIrAZwo/wm6HCNuQU5kG4glghpUrhIEwPqivTeKq4eQ== blue@blue2
  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAucpajUU3o6XCk6V6JxPT7fgUDJ7Cw/tItDEFB9EMDSoCfua+tARPUdickq6qdqcrzE0JS2sB1Clil4p8nO7DL0HPQwK4ER3CEzXUDB9uoUeuDKNDpRHJFZvvDHs1Lqo+OPMZ6hbWVGh1DE+yFLOKBQ3DtbfGYZhePXryqhh/W2FrI/3LjT1DLSTckGa7ZgqaPh5t4YmktpLGzue3KjWzRAb2BPdKqgK5f67w5RSv4s3ttZbAMOGebg/PNdl9M77oSX7HsMIDkvbkogIZDHV+2LWIyHpaCAvBNDzHQd/67+XlRH1GJummFQjFrl3wJ1epJFl2rPhZjmT+37CCnMUbAQ== blue@blue3
  将authorized_keys 文件分发到2个子节点:
  在父节点执行命令:
  scp –r authorized_keys 192.168.183.128:~/.ssh
  scp –r authorized_keys 192.168.183.129:~/.ssh
  该步骤结束后,会发现三个环境可以可以免密互相访问了
  5: 配置安装Hadoop (中间需要安装JDK,配置环境变量)
  

首先对环境进项配置:  关闭3个环境的防火墙
  命令:  service  iptables  stop
  查看状态:  service  iptables  status
  出现这种提示:iptables: Firewall is not running. 表明防火墙已经关闭
  或者执行   iptables   -L
  出现下面的这种提示,也表明防火墙已经关闭
  Chain INPUT (policy ACCEPT)
  

  target     prot opt source               destination
  Chain FORWARD (policy ACCEPT)
  target     prot opt source               destination
  Chain OUTPUT (policy ACCEPT)
  target     prot opt source               destination
  

安装JDK(我这里使用的是jdk-8u172-linux-x64.tar.gz):将下载好的软件包解压到指定目录: (这里的目录是  安装部署目录为 /usr/local/src)  

  tar  -zxvf   jdk-8u172-linux-x64.tar.gz
  解压后当前目录下生成  jdk1.8.0_172目录
  

  配置环境变量:
  vi   /root/.bashrc
  在文件中追加内容:
  #set java path
  

  export JAVA_HOME=/usr/local/src/jdk1.8.0_172
  export JRE_HOME=${JAVA_HOME}/jre

  export>  export PATH=${JAVA_HOME}/bin/:$PATH
  然后让环境变量生效
  source  .bashrc
  执行命令:  java   可以查看环境变量是否生效。
  按照相同的方法在其他两个环境中分别安装JDK,配置环境变量。
  

********************************************************************************************************************************************************************************************  

  安装Hadoop软件(我这里使用的是hadoop-1.2.1-bin.tar.gz):  将下载好的软件包解压到指定目录:(这里的目录是  安装部署目录为 /usr/local/src)
  解压包
  

  tar  -zxvf  hadoop-1.2.1-bin.tar.gz
  

  对解压后的目录    hadoop-1.2.1 进行修改   mv   hadoop-1.2.1   hadoop     (也可以不修改,只要保证这个目录名跟下面的配置文件的目录名保持一致就OK,只是笔者有强迫症)
  修改Hadoop工具配置文件:
  cd  /usr/local/src/hadoop/conf;
  修改的配置文件有6个
  分别为
  masters
  slaves
  core-site.xml
  mapred-site.xml
  hdfs-site.xml
  hadoop-env.sh
  

开始配置:  vi  masters
  将内容修改成:
  blue
  

  +++++++++++++++++++++++++++++++
  

  vi  slaves
  将内容修改成
  blue2
  blue3
  

  +++++++++++++++++++++++++++++++
  

  vi  core-site.xml
  
补充configuration内的内容
  
修改后的文件内容
  

  

  
  
  hadoop.tmp.dir
  /usr/local/src/hadoop/tmp
  
  
  fs.default.name
  hdfs://192.168.183.130:9000
  
  
  +++++++++++++++++++++++++++++++++++
  vi   mapred-site.xml
  补充configuration内的内容
  修改后的文件内容

mapred.job.trackerhttp://192.168.183.130:9001
++++++++++++++++++++++++++++++++++
vi      hdfs-site.xml
补充configuration内的内容
修改后的文件内容
dfs.replication3
++++++++++++++++++++++++++++++++++++++
vi  hadoop-env.sh
在配置文件中追加一行内容:
export JAVA_HOME= /usr/local/src/jdk1.8.0_172
+++++++++++++++++++++++++++++++++++++++++++
配置完成后将Hadoop目录分发到其他两个环境:
scp -rp /usr/local/src/hadoop 192.168.183.128:/usr/local/src
scp -rp /usr/local/src/hadoop 192.168.183.129:/usr/local/src
再次检查防火墙状态:
service   iptables  status
启动Hadoop
启动之前需要格式换节点(以下操作均在父节点操作):
cd   hadoop/bin ;     ./hadoop   namenode  -format
输出:
18/05/13 06:32:14 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = blue/192.168.183.130
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG:   java = 1.8.0_172
************************************************************/
Re-format filesystem in /usr/local/src/hadoop/tmp/dfs/name ? (Y or N) y
Format aborted in /usr/local/src/hadoop/tmp/dfs/name
18/05/13 06:32:20 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at blue/192.168.183.130
************************************************************/
********************************************************************************************************************************************************************************************
启动Hadoop
./start-all.sh
输出:
starting namenode, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-namenode-blue.out
blue3: starting datanode, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-datanode-blue3.out
blue2: starting datanode, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-datanode-blue2.out
blue: starting secondarynamenode, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-secondarynamenode-blue.out
starting jobtracker, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-jobtracker-blue.out
blue2: starting tasktracker, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-tasktracker-blue2.out
blue3: starting tasktracker, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-tasktracker-blue3.out
********************************************************************************************************************************************************************************************
执行命令:   
jps
输出:
3889 SecondaryNameNode
4194 Jps
3971 JobTracker
3740 NameNode
********************************************************************************************************************************************************************************************
在2个子节点执行命令:
jps
分别输出:
3859 DataNode
3932 TaskTracker
4030 Jps
2998 TaskTracker
3096 Jps
2925 DataNode
这就表示搭建配置成功了。
********************************************************************************************************************************************************************************************
如果执行jps的时候出现:
bash:jps:command not found
表示环境变量的问题,检查一下环境变量设置
********************************************************************************************************************************************************************************************


运维网声明 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-627541-1-1.html 上篇帖子: Apache Hadoop 入门教程第四章 下篇帖子: Hadoop产品简介
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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