集群至少可由三台机器组成,Master、Slave1、Slave2;且建立互信关系。

一、搭建两台Slave服务器,

1、挂起当前主机,找到当前主机路径,把Master镜像复制成两台Slave镜像;

2台服务器怎么搭建docker集群 两台服务器怎么做集群_hadoop


直接复制CentOS_6.5文件夹两边

2台服务器怎么搭建docker集群 两台服务器怎么做集群_2台服务器怎么搭建docker集群_02


2、重命名为Slave1、Slave2;

3、用vm加载这两个镜像;打开虚拟机->打开虚拟机

2台服务器怎么搭建docker集群 两台服务器怎么做集群_2台服务器怎么搭建docker集群_03


4、同时运行三台虚拟机,对虚拟机重命名:右击标签->设置->选项->虚拟机名称(Master、Slave1、Slave2);

5、检查三台虚拟机ip,以及是否可以上网;三台ip是一样的,ip冲突,这时候slave机器不能上网;修改slave的ip为11和12

cd /etc/sysconfig/network-scripts/
su
vim ifcfg-eth0

分别更改为

IPADDR=192.168.92.11
和
IPADDR=192.168.92.12

重启网络

/etc/init.d/network restart

6、重新添加网卡:

1、检查ip ifconfig 后IP已经改变,此时依然上不了网因为三台机器用的同一个网卡(HWaddr);需要将salve的网卡先卸载:

2、点击vm右下角双电脑图标->硬件->网络适配器->移除

3、添加->网络适配器->nat模式->完成,再次ifconfig 网卡自动改为eth1 eth1(查看网卡HWaddr不是同一个网卡),这时候就可以上网了,而且不会影响master工作

二、使用secureCRT链接三台服务器

1、将之前的链接复制两份,改名字即可
2、同时右键properties 分别设置hostname;
3、分别链接三台机器;检查ip及网卡,是否可以上网

三、安装java的jdk

1、通过vm共享目录安装导入jsk文件

右击虚拟机标签->设置->选项->共享文件夹->总是启动->添加(选择文件所在文件夹)->更改名称为英文,下一步,启动此共享,完成。确定。

2台服务器怎么搭建docker集群 两台服务器怎么做集群_2台服务器怎么搭建docker集群_04


在终端进入/mnt/hgfs/

cd /mnt/hgfs/

查看所共享的文件夹

2台服务器怎么搭建docker集群 两台服务器怎么做集群_Hadoop_05


2、把jdk 和hadoop复制到/usr/local/src/下然后进入此目录确认文件是否都有可执行权限,直接执行jdk

su
[root@bogon Tools]# cp
jdk-6u45-linux-x64.bin /usr/local/src/
[root@bogon Tools]# cp
hadoop-1.2.1-bin.tar.gz /usr/local/src/
[root@bogon Tools]# cd
/usr/local/src/
[root@bogon Tools]# ./jdk-6u45-linux-x64.bin

3、查看java安装路径pwd

[root@bogon jdk1.6.0_45]#pwd
/usr/local/src/jdk1.6.0_45

4、为可执行程序/usr/local/src/jdk1.6.0_45/bin/java添加环境变量

打开bashrc文件,

Vim ~/.bashrc

添加环境变量;

export JAVA_HOME=/usr/local/src/jdk1.6.0_45
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

执行bash

在执行java正常,java环境安装完成,

5、复制本机jdk的bin文件到两台slave,同样配置环境变量

scp -rp jdk-6u45-linux-x64.bin 192.168.92.12:/usr/local/src/

经检测,三台机器均正常。

四、安装hadoop

1、进入master的/usr/local/src/ 下解压hadoop包(需要su权限)

tar zxvf ha…

进入解压文件,

2、创建tmp文件夹,用来存放hadoop运气的临时文件

mkdir tmp

3、进入conf目录

1)、修改masters

2台服务器怎么搭建docker集群 两台服务器怎么做集群_hadoop_06


2)、修改slaves

2台服务器怎么搭建docker集群 两台服务器怎么做集群_Hadoop_07


3)、修改core-site.xml配置临时文件目录以及端口

2台服务器怎么搭建docker集群 两台服务器怎么做集群_JAVA_08


4)、配置mapred-site.xml文件配置job.tracker端口 注意一定要http开头

2台服务器怎么搭建docker集群 两台服务器怎么做集群_hadoop_09


5)、配置hdfs-site.xml文件 数据在hdfs存储的副本数 默认3个

2台服务器怎么搭建docker集群 两台服务器怎么做集群_JAVA_10


6)、配置hadoop-env.sh

在文件最后配置java路径

export JAVA_HOME=/usr/local/src/jdk1.6.0_45

2台服务器怎么搭建docker集群 两台服务器怎么做集群_JAVA_11


以上共配置6个文件,

7)、配置本地文件

vim /etc/hosts  配置访问映射

2台服务器怎么搭建docker集群 两台服务器怎么做集群_hadoop_12

hostname master
hostname

可看到master已生效(临时生效)

2台服务器怎么搭建docker集群 两台服务器怎么做集群_hadoop_13

②、配置hostname永久生效

vim /etc/sysconfig/network

2台服务器怎么搭建docker集群 两台服务器怎么做集群_Hadoop_14

以上又修改了两个文件,指定了当前机器的hostname以及hostname和当前机器ip的映射关系;至此master配置完成;

8)、接下来配置slave 分别远程拷贝hadoop的解压文件到slave机器上

scp –rp Hadoop-1.2.1 192.168.92.11:/usr/local/src/
scp –rp Hadoop-1.2.1 192.168.92.12:/usr/local/src/

①、进入两个slave,查看修改过的6个文件是否正常

然后分别修改两台机器的hosts文件和network文件

hosts内容一致

2台服务器怎么搭建docker集群 两台服务器怎么做集群_2台服务器怎么搭建docker集群_15

network文件中hostname不同

分别修改为各自的name就行

2台服务器怎么搭建docker集群 两台服务器怎么做集群_Hadoop_16

2台服务器怎么搭建docker集群 两台服务器怎么做集群_hadoop_17

②、分别执行hostname slave1 和hostname slave2让各自hostname生效(这种方法是临时生效,重启机器后会失效,所以要配置network文件永久生效)可执行hostname查看是否已生效

现在三个机器的hostname都已经生效;

9)、关闭防火墙:

/etc/init.d/iptables stop

检查命令

iptables -L

10)、关闭selinux

setenforce 0 关闭
getenforce 检查(permissive)

五、建立互信关系

配置机器之间的互信关系,相互之间访问不再需要密码,直接ssh ip:

执行

ssh-keygen回车回车
 cd~/.ssh/
ls

其中id_rsa.pub为公钥文件 id_rsa 为私钥文件,

1、将公钥内容拷贝给authorized_keys

cat id_rsa.pub> authorized_keys

cat  # 打印两个文件,看是否相同。

2、分别在两台slave执行ssh-keygen

2台服务器怎么搭建docker集群 两台服务器怎么做集群_JAVA_18


3、将两个slave的公钥内容复制到master的authorized_keys中

记住回车,别连起来

4、拷贝master的authorized_keys文件到slave

scp –rp authorized_keys slave1:~/.ssh/
scp –rp authorized_keys slave2:~/.ssh/

cat打印检查是否正常,此时三台机器都有了对方的公钥,

5、此时在其他节点访问不再需要密码

比如在master节点登录slave1

ssh slave1

无需密码直接登录,exit退出
六、启动hadoop

1、进入安装目录bin目录

cd hadoop-1.2.1/bin

2、第一次启动需要对namenode进行格式化操作

./hadoop namenode –format 回车
./start-all.sh启动,jps查看进程

2台服务器怎么搭建docker集群 两台服务器怎么做集群_Hadoop_19

3、slave上边jps发现也启动成功

4、回到master检查环境是否可用

./Hadoop fs –ls / 注意这斜杠前边有空格

测试正常,

5、上传一个文件试试

./Hadoop fs –put /etc/passwd /   未报错,正常
./Hadoop fs –ls /查看,
./Hadoop fs –cat /passwd 打印,正常显示

目前为止,hadoop环境搭建成功