Hadoop集群搭建文档
环境:
Win7系统装虚拟机 虚拟机VMware-workstation-full-9.0.0-812388.exe
Linux系统 Ubuntu12.0.4
JDK jdk-7u17-linux-i586.tar.gz
搭建步骤:
- 首先在win系统装虚拟机,执行VMware-workstation-full-9.0.0-812388.exe;
- 其次需要在虚拟机上装Ubuntu10.4;
- 安装完成Ubuntu12.0.4之后,需要安装JDK,(注意:安装JDK需要处理一些其他问题,JDK必须是Linux版本的,还有就是JDK要和操作系统的位数相符合,比如32位、64位都有对应的安装包):
JDk的安装路径,我直接解压到/opt/jdk这个目录下;
- 安装完JDK需要配置环境变量,具体如下截图所示:
需要修改两个地方environment 和 profile文件;
- 由于Ubuntu中一般安装有默认的JDK,如openjdk,所以,为了使默认使用的是我们安装的jdk,还要进行如下工作。 sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_17/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac/opt/jdk/jdk1.7.0_17/bin/javac 300 - 在终端输入java –version / javac测试安装JDK是否成功;
- 每当Ubuntu安装成功时,我们的机器名都默认为:Ubuntu,但为了以后集群中能够容易分辨各台服务器,需要给每台机器取个不同的名字。机器名由 /etc/hostname文件决定。
输入此命令,在打开的文件中修改机器名,我的机器名是Master;
- 安装SSH服务,实现无密码登陆;sudo apt-get install ssh openssh-server 安装完成SSH后,可以查看SSH是否启动等;
- 安装SSH服务完成后就需要配置无密码登录,具体如下图所示:
进入安装目录:
刚开始可能没有authorized_keys和known_hosts文件,需要执行该命令;
将产生的公钥加入到该文件中,可以打开看id_rsa.pub文件:
有关ssh公钥与密钥的具体问题可以百度;执行如下命令将authorized_keys文件分发给其他节点;
注意每个节点都需要生成公钥,然后将三个节点的公钥合并在一个文件中,三个节点的authorized_keys必须一致。如下图所示:
注意文件的权限修改有可能导致ssh无密码登录配置失效,此处修改文件需要慎重;配置完成后就可实现无密码登陆;如下图所示:
- 安装hadoop,安装包拷贝到安装目录下;如下图所示:
将安装包解压到该目录;执行如下命令:
- 安装完成后,需要配置hadoop,具体操作如下所示:需要修改的文件都在/opt/hadoop/hadoop-0.20.2/conf/目录下:
- 修改hadoop-env.sh文件:
加入JDK的路径;
- 修改core-site.xml:
- 修改hdfs-site.xml:
- 修改mapred-site.xml:
- 配置masters文件:
节点机上需要配置Slaves文件,与该文件类似;
- 此时已完成hadoop配置;
- 在虚拟机的Manager-àClone中克隆新的节点,也可以不克隆,自己安装,安装完成需要将Master中的JDK、hadoop的文件拷贝过去。
- 我采用的是分布式;一个电脑安装了一个虚拟机做为Master,另外一个电脑安装了虚拟机,在虚拟机上安装的两个Ubuntu,即该机器模拟了两个节点,此实验需要三个节点。
Master | 10.18.12.47 |
|
Slave1 | 10.18.12.48 |
|
Slave2 | 10.18.12.254 |
|
- 虚拟机之间需要能ping通;
此结果代表可以ping通;
- 做完所有的准备工作现在就可以启动hadoop集群,执行命令如下:
启动:
- 查看集群是否启动;
- 也可以用该命令查看:
- 通过jsp页面查看:http://10.18.12.47:50030/jobtracker.jsp http://10.18.12.47:50070/dfshealth.jsp
- 至此关于集群搭建结束。