我的电脑是64位win7、320G硬盘、4GB内存,最近打算把hadoop捡回来,决定搭一环境。
搭建顺序:VMware Player-》ubuntu-》hadoop。
1、安装VMwarePlayer
官网下载地址:
https://my.vmware.com/web/vmware/downloads
自选一个与自己系统配套的版本,下载,安装。
2、安装Ubuntu虚拟机
官网下载地址:
http://www.ubuntu.com/download/desktop
我下载了Ubuntu 12.04 LTS 64位的版本。
在VMware Player中新建了一个Linux虚拟机。分了40G硬盘,1GB内存,安装了ubuntu操作系统。
运行这个虚拟机的时候报了个错“提示:软件虚拟化与此平台上的长模式不兼容.禁用长模式. 没有长模式支持, 虚拟机将不能运行 64 位程序. ”百度了一把,64位win7虚拟化默认是关闭的。重启电脑进BIOS,在“Configuration”菜单中,找到“Intel(R) Virtual Technology”选项,将其改为“Enabled”,保存退出后登录系统。搞定。
百度一把“Ubuntu 12.04源”,替换国内的源,不然装个东西等死人。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo gedit /etc/apt/sources.list
sudo apt-get update
3、搭建hadoop
官网下载地址:
http://apache.dataguru.cn/hadoop/common/
我下载了目前比较稳定的1.2.1版本。
解压,直奔docs/index.pdf。hadoop分为3部分,MapReduce、HDFS、common。我还是先从getting started开始吧。。。
单节点设置
支持的平台:
Linux可作为开发和产品平台。Hadoop已证实可支持2000个节点的集群。
Win32仅可作为开发平台。
预装软件:
1、最好装sun的java1.6.X。
2、ssh必须装,sshd必须已启用。
sudo apt-get install ssh
sudo apt-get install rsync
准备开启hadoop集群:
在conf/hadoop-env.sh中定义JAVA_HOME。
Hadoop集群有三种模式:单机模式、伪分布式、全分布式
单机模式:
Hadoop默认是以非分布式的模式运行,仅一个java进程。用于debug。
伪分布式:
一个节点也可以伪分布式的方式运行。每一个hadoop守护进程运行在一个独立的java进程中。
配置:
conf/core-site.xml:
<configuration>
</configuration>
conf/hdfs-site.xml:
<configuration>
</configuration>
conf/mapred-site.xml:
<configuration>
</configuration>
设置不需要密码的ssh:
检查能否不要密码ssh连接localhost
$ssh localhost
如果不行,请执行:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
运行:
格式化一个新的分布式文件系统:
$ bin/hadoop namenode -format
启动hadoop守护进程:
$ bin/start-all.sh
默认可以通过以下网页查看NameNode和JobTracker:
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
关闭守护进程:
$ bin/stop-all.sh
至此,hadoop单机环境搭建完成。