hadoop分布式集群搭建集群,怎么才能让两部电脑上的虚拟机p

没有更多推荐了,
不良信息举报
举报内容:
Hadoop实战(虚拟多台电脑)
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!一台x86计算机搭建Hadoop的全分布式集群_服务器应用_Linux公社-Linux系统门户网站
你好,游客
一台x86计算机搭建Hadoop的全分布式集群
来源:Linux社区&
作者:记忆天空fly
基本的软硬件配置:
x86台式机,Windows 7 64位系统
vb虚拟机(x86的台式机至少是4G内存,才能开3台虚机)
6.4操作系统
-1.1.2.tar.gz
jdk-6u24-linux-i586.bin
WinScp 远程文件传输工具,很好用。可以用于windows和虚拟机Linux之间文件相互拷贝。
一、root下的配置
a) 修改主机名:vi /etc/sysconfig/network
Master,slave1,slave2
b) 解析Ip: vi /etc/hosts
192.168.8.100 master
192.168.8.101 slave1
192.168.8.102 slave2
c) 调试网络:
采用网桥连接网络,配置网络。
修改后记得调用 service network restart
确保三台虚拟机能够相互ping通。
d) 关闭防火墙
查看:service iptables status
关闭:service iptables stop
查看防火墙有无自启动:
Chkconfig &-list | grepiptables
关闭自启动:
Chkconfig iptables off
二、yao用户下的配置
a) 创建用户yao,设置密码,进入用户
useradd yao
passwd 123456
b) master创建公私秘钥
ssh-keygen &t rsa
1)将id_rsa.pub复制给authorized_keys
Cp id_rsa.pub authorized_keys
2)将master中的authorized_keys复制给slave1的/home下
scp id_rsa.pub root@192.168.8.101:/home
3)将master拷贝过来的authorized_keys复制到slave1本身所创的authorized_keys下,同理slave2的也是。最后达到任一个authorized_keys中都包含所有机组的公钥。
4)将hadoop拷贝复制到对应的机子中/home/yao/Documents/
在root下配置环境变量:vi /etc/profile
export HADOOP_HOME=/home/yao/Documents/hadoop
export HADOOP_HOME_WARN_SUPPRESS=1
export PATH=.:$PATH:$HADOOP_HOME
注:su + 用户名实现切换用户。
5)安装jdk,解压时需要授权;
Chmod u+x jdk。。。
配置环境变量:vi /etc/profile
6)修改/hadoop/conf下的配置文件
修改core-site.xml
修改hdfs-site.xml
更多详情见请继续阅读下一页的精彩内容:
--------------------------------------分割线 --------------------------------------
13.04上搭建Hadoop环境
Ubuntu 12.10 +Hadoop 1.2.1版本集群配置
Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)
Ubuntu下Hadoop环境的配置
单机版搭建Hadoop环境图文教程详解
Hadoop LZO 安装教程
Hadoop集群上使用Lzo压缩
--------------------------------------分割线 --------------------------------------
相关资讯 & & &
& (02月01日)
& (12/28/:36)
& (01月28日)
& (11/27/:14)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款求hadoop集群可以用虚拟机吗_百度知道
求hadoop集群可以用虚拟机吗
我有更好的答案
1)将虚拟机A1和B1的网络连接设置成桥接(估计你目前是NAT模式),2)在A1下配置网络,配置可参考A(Win7),除IP不同,其它如子网掩码,默认网关或者DNS服务器都相同,在B1下配置网络,配置可参考B(Win7),除IP不同,其它如子网掩码,默认网关或者DNS服务器都相同,
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。在VMWare中建立Hadoop虚拟集群的详细步骤(使用CentOS)
最近在学习Hadoop,于是想使用VMWare建立一个虚拟的集群环境。网上有很多参考资料,但参照其步骤进行设置时却还是遇到了不少问题,所以在这里详细写一下我的配置过程,以及其中遇到的问题及相应的解决方法。一来做个记录,二来也希望能帮到大家。
我们要建立一个具有如下配置的集群:
ip address
192.168.224.100
192.168.224.201
192.168.224.202
其中master为name node和job tracker节点,slaveN为data node和task tracker节点。
1. 配置虚拟网络
如果你对VMWare和网络配置比较熟悉,可以忽略这一步,但是后面配置IP地址时具体的参数可能和我说的不一样。如果你想通过一步一步操作就能成功的话,就需要这些设置
通过VMWare -& Edit -& Virtual Network Editor打开如下对话框:
在上面的列表中选中VMnet8 NAT那一行,然后按图设置所有内容,之后点击NAT Setting按钮,打开如下对话框,确保各个参数如图中所示设置。
2. 创建虚拟机
虚拟机命名为master,创建过程中网络模式可以任意选择,下面假设选择的是NAT方式。需要额外注意的是去【控制面板/管理工具/服务】中看一下VMWare相关的服务是否都已经启用,我就曾因为NAT服务没有启用,而造成各个虚拟机之间无法ping通,而浪费了很多时间。
到http://www.centos.org/中下去CentOS的iso镜像,使用minimal版本就可以,这样能效的控制虚拟机的大小。
然后就是虚拟机安装的过程了,我们不需要安装VMWare Tools。而且这时不需要创建多台虚拟机,我们将统一配置一台虚拟机,然后复制出其它虚拟机,后面的详细的说明。
后面的步骤中我们假设使用root登录虚拟机,密码假设为hadoop。
2. 配置网络
关掉SELINUX:vi /etc/selinux/config ,设置SELINUX=disabled,保存退出。
关闭防火墙:/sbin/schkconfig --level 35 iptables off
修改IP地址为静态地址:vi /etc/sysconfig/network-scripts/ifcfg-eth0,将其内容改为如下图所示,注意HWADDR那一行,你所创建的虚拟机的值很可能与之不同,保持原值,不要修改它!
修改主机名称: vi /etc/sysconfig/network,将其内容改为如下图所示:
修改hosts映射:vi /etc/hosts,将其内容改为如下图所示。我们在这里就加入了slave1和slave2的映射项,以简化后面的步骤。
执行:service network restart 以重启网络。
3. 安装putty
我使用这个工具将windows中的文件传到虚拟机中,因为使用wget下载相应的软件包比较困难。
从http://www.putty.org/下载putty套件,解压到你喜欢的目录就可以了,确保里面有pscp.exe。
4. 安装JDK
从下面的地址下载JDK,文件名是jdk-6u26-linux-i586.bin,如果这个地址已经失效,你可以在oracle的网站上下载最新的版本。
http://download.oracle.com/otn/java/jdk/6u26-b03/jdk-6u26-linux-i586.bin
我是在windows下用迅雷下载的,假设下载后文件放在 e:\jdk-6u26-linux-i586.bin 这个位置,在虚拟机开机的状态下从windows中打开命令提示符,运行如下命令(其中的pscp就是putty中的pscp.exe,所以你可能需要到相应的目录中去执行,或者将其所在的目录添加到PATH中):
pscp e:\jdk-6u26-linux-i586.bin root@192.168.224.100:~/
如果提示输入密码,就输入虚拟机中root帐户的密码(假设为hadoop)。
然后进入虚拟机,执行如下命令:
mkdir -p ~/binmv ~/jdk-6u26-linux-i586.bin ~/bincd ~/bin./jdk-6u26-linux-i586.bin
然后修改环境变量:vi ~/.bash_profile,在最后添加
export JAVA_HOME=/root/bin/jdk1.6.0_26export PATH=$PATH:$JAVA_HOME/bin
保存退出后,执行 source ~/.bash_profile 使配置生效,之后可以执行java命令以判断是否已经配置成功。
5. 安装Hadoop
从http://labs.renren.com/apache-mirror/hadoop/common/hadoop-0.20.2/中下载hadoop-0.20.2.tar.gz,放到~/bin目录下(如果你是在windows下下载的,就通过上面的方法将其复制到虚拟机中)。执行下列命令:
tar -xzvf hadoop-0.20.2.tar.gzcd ~/bin/hadoop-0.20.2/confvi hadoop-env.sh
将JAVA_HOME一行的注释去掉,并改为如下设置:
export JAVA_HOME=/root/bin/jdk1.6.0_26
然后添加环境变量 vi ~/.bash_profile ,使其内容如下所示(已经合并了前面关于JAVA的设置)
export JAVA_HOME=/root/bin/jdk1.6.0_26export HADOOP_HOME=/root/bin/hadoop-0.20.2export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
现在就可以在shell中运行hadoop,以确定能正常执行了。下面还要对hadoop进行设置,所有要设置的文件都在~/bin/hadoop-0.20.2/conf目录下。如果你足够懒的话,可以在windows下创建这几个文件,把相应的内容复制到文件中,然后通过pscp.exe复制到虚拟机中去。
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://master:9000&/value&
&/property&
&property&
&name&Hadoop.tmp.dir&/name&
&value&/tmp/hadoop-root&/value&
&/property&
&/configuration&
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.replication&/name&
&value&3&/value&
&/property&
&/configuration&
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&master:9001&/value&
&/property&
&/configuration&
masters的内容为空,此文件用于配置secondary name node,我这次建立的集群不需要此节点,如果需要的话可以将其主机名加入此文件中(别忘了在/etc/hosts中加入相应的条目)。
6. 复制虚拟机
使用VMWare中clone功能,复制出另外两台虚拟机,分别命名为slave1和slave2。因为克隆出的虚拟机网卡地址已经改变,所以要分别在复制出的两台虚拟机中执行以下操作:
执行:rm -f /etc/udev/rules.d/70-persistent-net.rules
执行:reboot 重启虚拟机
执行:vim /etc/sysconfig/networking/devices/ifcfg-eth0 将其中的 HWADDR修改为新虚拟机的网卡地址,具体查看方式为:在虚拟机设置中选中Network Adapter,如下图所示,选择Advanced,如下图红框中所示即为网卡地址。
同样在此文件中将IPADDR改为192.168.224.201(对于slave1)或192.168.224.202(对于slave2)。
修改slave1和slave2的/etc/sysconfig/network文件,将主机名改为slave1或者slave2。
7. 设置SSH
打开三台虚拟机,登录到master中,执行如下命令:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub && ~/.ssh/authorized_keysssh slave1 "mkdir ~/.ssh"scp ~/.ssh/id_dsa.pub slave1:~/.ssh/authorized_keysssh slave2 "mkdir ~/.ssh"scp ~/.ssh/id_dsa.pub slave2:~/.ssh/authorized_keys
中间可能需要输入密码 ,按提示输入即可。现在分别执行如下命令
ssh localhostssh slave1ssh slave2
不需要再输入密码就对了。
8. 启动Hadoop
执行HDFS格式化命令:hadoop namenode -format
在master虚拟机中进入/root/hadoop-0.20.2/bin目录,执行 ./start-all.sh 就OK了。
你可以在宿主机中打开浏览器,指向 192.168.224.100:50070 查看HDFS的信息。
如果你是一步一步操作下来的,应该不会遇到什么问题,如果有问题,欢迎一起来讨论。&script type="text/javascript"&&!--
google_ad_client = "ca-pub-8447";
/* cnblogs 首页横幅 */
google_ad_slot = "";
google_ad_width = 728;
google_ad_height = 90;
//--&&/script&&script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&&/script&
没有更多推荐了,
不良信息举报
举报内容:
在VMWare中建立Hadoop虚拟集群的详细步骤(使用CentOS)
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!虚拟机名称 & & &机器名 & & & & & & & IP & & & & & & & & & & & & 作用
namenode & & master & & &192.168.50.131 & & & & & &Namenode、master、jobtracker
datanode01 & slave1 & & & 192.168.50.128 & & & & & &Datanode、slave、tasktracker
datanode02 & slave2 & & & 192.168.50.129 & & & & & &Datanode、slave、tasktracker
1.首先,克隆另外两台完全一模一样的虚拟机。
分别在3台虚拟机上做一下更新:#yum - y update &&后面要安装软件时,如果没有更新,在安装所需软件时,可能会说找不到软件,安装不上。注意选择软件源时不要仅仅是一个网站,建议使用&&中国&的服务器&。
2.修改机器名和hosts文件。
第一步:修改三台虚拟机的机器名。
#vim /etc/profile & &#source /etc/profile &将namenode的机器名改为master &
#vim /etc/profile & &#source /etc/profile &将datanode01的机器名改为slave1
#vim /etc/profile & &#source /etc/profile &将datanode02的机器名改为slave2
可以使用hostname来查看。
第二步:修改三台虚拟机的/etc/hosts文件。
分别在master、slave1、slave2下修改:
#vim /etc/profile
  进入文件后原内容删除加入如下内容。
&&&&127.0.0.1 localhost
&&&&192.168.50.131 master master
&&&&192.168.50.128 slave1 slave1
&&&&192.168.50.129 slave2 slave2
3.在三台虚拟机上分别配置ssh无密码登录。
在三台虚拟机的/home/hadoop目录下都建立一个.ssh目录(隐藏的)
a.[root@master ~]#ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
b.[root@master ~]#cat ~/.ssh/id_dsa.pub && ~/.ssh/authorized_keys验证ssh,#ssh localhost,不需要输入密码即可登录。 c.//将id_dsa.pub&文件传送到slave1&这台虚拟机上。slave2&同理。scp ~/.ssh/id_dsa.pub hadoop@slave1:/home/hadoop/.ssh/
scp ~/.ssh/id_dsa.pub hadoop@slave2:/home/hadoop/.ssh/d.到slave1&这台虚拟机上执行b的操作。slave2&同理。至此master就可以无密码登录到slave1&和slave2&上了。如果想要slave1&和slave2&都可以无密码登录到master上必须在slave1&和slave2上也生成自己的密钥对而且要将密钥对追加到三台机器的authorized_keys文件里。
至此各个机器上的SSH配置已经完成,可以测试一下了,比如master向slave1发起ssh连接
4.在三台虚拟机上分别安装jdk1.8.0_45
a.将jdk-8u45-linux-x64.gz拷到/home/hadoop目录下。
b.查看当前jdk版本。
    #java -version
    这里我卸载了自带的openjdk: 
  [root@master ~]# rpm -qa|grep jdk
  java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
  java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
  [root@master ~]# rpm -qa|grep gcj
  java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
  libgcj-4.1.2-48.el5
  [root@master ~]# yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
  [root@master ~]# yum -y remove java java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
  [root@master ~]# yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
  [root@master ~]# yum -y remove libgcj-4.1.2-48.el5
c.解压准备的JDK文件,解压路径/opt。
    [root@master ~]# tar -zxvf /home/hadoop/jdk-8u45-linux-x64.gz -C /opt
d.修改配置系统变量。
    [root@master ~]#vim /etc/profile
    #set jdk    export JAVA_HOME=/opt/jdk1.8.0_45    export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
    保存退出,运行。
    #source /etc/profile
e.运行命令。
update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_45/bin/java 60
update-alternatives --config java
  输入新配置的jdk序号:1
  至此,JDK安装完成。
  你可以在slave1和slave2&上执行同样的操作,也可以使用$
  scp&&r&将jdk1.8.0_45文件夹拷到其它两台虚拟机上,然后配置环境变量就OK了。
  这里我选择分别在slave1、slave2上面按上面方法配置。
5.在三台虚拟机上分别安装Hadoop-1.2.1
第一步:将hadoop-1.2.1-bin.tar.gz文件拷贝到/home/hadoop目录下。第二步:解压Hadoop,解压路径/opt。[root@master ~]#tar -zxvf /home/hadoop/hadoop-1.2.1-bin.tar.gz -C /opt第三步:配置系统变量
[root@master ~]#vim /etc/profile
    #set hadoop path
    export HADOOP_HOME=/opt/hadoop-1.2.1
    export&PATH=$PATH:$HADOOP_HOME/bin
 [root@master ~]#source /etc/profile
第四步:更改conf目录下的conf/core-site.xml, conf/hdfs-site.xml, conf/mapred-site.xml,conf/hadoop-env.sh,conf/masters,conf/slaves&文件。
[root@master ~]#vim /opt/hadoop-1.2.1/conf/hadoop-env.sh
    添加内容:
    export JAVA_HOME=/opt/jdk1.8.0_45
    export PATH=$JAVA_HOME/bin:$PATH
    export HADOOP_CLASSPATH=$JAVA_HOME/lib/tools.jar
  保存退出。
[root@master ~]#vim /opt/hadoop-1.2.1/conf/masters
  进入文件加入如下信息:192.168.50.131
[root@master ~]#vim /opt/hadoop-1.2.1/conf/slaves
  进入文件加入如下信息:
  192.168.50.128
  192.168.50.129
[root@master ~]#vim /opt/hadoop-1.2.1/conf/core-site.xml
  进入文件加入如下信息。&&
    &configuration&
&&&&&    &property&
&&&&&&      &name&hadoop.tmp.dir&/name&
&&&&&      &&value&/home/hadoop/tmp&/value&
&&&&&&      &description&A base for other temporary directories.&/description&
      &/property&
      &!-- file system properties --&
      &property&
&&&&&&      &name&fs.default.name&/name&
&&&&&&      &value&hdfs://192.168.50.131:9000&/value&
      &/property&
    &/configuration&
[root@master ~]#vim /opt/hadoop-1.2.1/conf/hdfs-site.xml
  进入文件加入如下信息。(replication默认是3,如果不修改,datanode少于三台就会报错)。
    &configuration&
&&&&&    &property&
&&&&&&      &name&dfs.replication&/name&
&&&&&&      &value&2&/value&
&&&&&    &/property&
    &/configuration&
[root@master ~]#vim /opt/hadoop-1.2.1/conf/mapred-site.xml
  进入文件加入如下信息。
    &configuration&
      &property&
&&&&&&    &name&mapred.job.tracker&/name&
&&&&&&    &value&192.168.50.131:9001&/value&
      &/property&
    &/configuration&
  第五步:可以使用scp将hadoop-1.2.1拷贝到其它两个虚拟机上。但是这里我选择在slave1和slave2上按上述方法配置。
至此hadoop安装完成。
6.运行hadoop自带的例程&wordcount。
第一步:&hadoop namenode&&format
//格式化文件系统,新建一个文件系统。
第二步:&start-all.sh
//启动hadoop的所有守护进程。
第四步:&jps&&&
//查看进程,master虚拟机上的结果。
在slave1&和&slave2&虚拟机上&jps
&&&&第四步:(1)先在本地磁盘建立两个输入文件file01&和file02:
第五步:&echo&&Hello World Bye World&&& file01
&echo&&Hello Hadoop Goodbye Hadoop&&& file02
//在本地磁盘建立两个输入文件file01&和file02。将Hello World Bye World语句和Hello Hadoop Goodbye Hadoop语句分别加到file01文件和file02&文件里面。
第六步:在hdfs&中建立一个input&目录
第七步:将file01&和file02&拷贝到hdfs&中。
第八步:&hadoop jar hadoop-1.2.1-examples.jar wordcount input output
//执行wordcount。
第九步:&hadoop fs -cat output/part-r-00000
//完成之后,查看结果:
至此hadoop运行环境已经全部搭建完成。
阅读(...) 评论()}

我要回帖

更多关于 hadoop分布式集群搭建 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信