用到的工具:VMware、hadoop-2.7.2.tar、jdk-8u65-linux-x64.tar、ubuntu-16.04-desktop-amd64.iso

1、 在VMware上安装ubuntu-16.04-desktop-amd64.iso

单击“创建虚拟机”è选择“典型(推荐安装)”è单击“下一步”

详解搭建ubuntu版hadoop集群

详解搭建ubuntu版hadoop集群

详解搭建ubuntu版hadoop集群

详解搭建ubuntu版hadoop集群

è点击完成

详解搭建ubuntu版hadoop集群

修改/etc/hostname

vim hostname

保存退出

详解搭建ubuntu版hadoop集群

修改etc/hosts

1
2
3
4
5
6
7
127.0.0.1 localhost
192.168.1.100 s100
192.168.1.101 s101
192.168.1.102 s102
192.168.1.103 s103
192.168.1.104 s104
192.168.1.105 s105

配置NAT网络

查看window10下的ip地址及网关

详解搭建ubuntu版hadoop集群

配置/etc/network/interfaces

1
2
3
4
5
6
7
8
9
10
11
12
#interfaces(5) file used by ifup(8) and ifdown(8)
#The loopback network interface
auto lo
iface lo inet loopback
#iface eth0 inet static
iface eth0 inet static
address 192.168.1.105
netmask 255.255.255.0
gateway 192.168.1.2
dns-nameservers 192.168.1.2
auto eth0

也可以通过图形化界面配置

详解搭建ubuntu版hadoop集群

详解搭建ubuntu版hadoop集群

配置好后执行ping www.baidu.com看网络是不是已经起作用

当网络通了之后,要想客户机宿主机之前进行Ping通,只需要做以下配置

修改宿主机c:\windows\system32\drivers\etc\hosts文件

文件内容

1
2
3
4
5
6
7
127.0.0.1 localhost
192.168.1.100 s100
192.168.1.101 s101
192.168.1.102 s102
192.168.1.103 s103
192.168.1.104 s104
192.168.1.105 s105

安装ubuntu 163 14.04 源

1
2
3
$>cd /etc/apt/
$>gedit sources.list

切记在配置之前做好备份

1
2
3
4
5
6
7
8
9
10
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

更新

1
$>apt-get update

在家根目录下新建soft文件夹 mkdir soft

但是建立完成后,该文件属于root用户,修改权限 chown enmoedu:enmoedu soft/

安装共享文件夹

详解搭建ubuntu版hadoop集群

将该文件放到桌面,右键,点击“Extract here”

详解搭建ubuntu版hadoop集群

切换到enmoedu用户的家目录,cd /Desktop/vmware-tools-distrib

详解搭建ubuntu版hadoop集群

执行./vmware-install.pl文件

Enter键执行

详解搭建ubuntu版hadoop集群

安装完成

详解搭建ubuntu版hadoop集群

拷贝hadoop-2.7.2.tar、jdk-8u65-linux-x64.tar到enmoedu家目录下的/Downloads

1
$> sudo cp hadoop-2.7.2.tar.gz jdk-8u65-linux-x64.tar.gz ~/Downloads/

分别解压hadoop-2.7.2.tar、jdk-8u65-linux-x64.tar到当前目录

1
2
3
4
5
6
7
$> tar -zxvf hadoop-2.7.2.tar.gz
$>tar -zxvf jdk-8u65-linux-x64.tar.gz
$>cp -r hadoop-2.7.2 /soft
$>cp -r jdk1.8.0_65/ /soft

建立链接文件

1
2
3
4
5
$>ln -s hadoop-2.7.2/ hadoop
$>ln -s jdk1.8.0_65/ jdk
$>ls -ll

详解搭建ubuntu版hadoop集群

配置环境变量

1
$>vim /etc/environment
1
2
3
JAVA_HOME=/soft/jdk
HADOOP_HOME=/soft/hadoop
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/soft/jdk/bin:/soft/hadoop/bin:/soft/hadoop/sbin"

让环境变量生效

1
$>source environment

检验安装是否成功

1
$>java –version

详解搭建ubuntu版hadoop集群

1
$>hadoop version

详解搭建ubuntu版hadoop集群

配置/soft/hadoop/etc/hadoop/ 下的配置文件

[core-site.xml]

1
2
3
4
5
6
7
8
9
10
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://s100/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/enmoedu/hadoop</value>
</property>
</configuration>

[hdfs-site.xml]

1
2
3
4
5
6
7
8
9
10
11
12
13
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>s104:50090</value>
<description>
The secondary namenode http server address and port.
</description>
</property>
</configuration>

[mapred-site.xml]

1
2
3
4
5
6
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

[yarn-site.xml]

1
2
3
4
5
6
7
8
9
10
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>s100</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

配置ssh无密码登录

安装ssh

1
$>sudo apt-get install ssh

生成秘钥对

在enmoedu家目录下执行

1
$>ssh-****** -t rsa -P '' -f ~/.ssh/id_rsa

导入公钥数据到授权库中

1
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

详解搭建ubuntu版hadoop集群

测试localhost成功后,将master节点上的供钥拷贝到授权库中

其中root一样执行即可

1
$>ssh localhost

详解搭建ubuntu版hadoop集群

从master节点上测试是否成功。

详解搭建ubuntu版hadoop集群

修改slaves文件

[/soft/hadoop/etc/hadoop/slaves]

1
2
3
4
s101
s102
s103
s105

其余机器,通过克隆,修改hostname和网络配置即可

塔建完成后

格式化hdfs文件系统

1
$>hadoop namenode –format

启动所有进程

1
start-all.sh

最终结果:

详解搭建ubuntu版hadoop集群

自定义脚本xsync(在集群中分发文件)

[/usr/local/bin]

循环复制文件到所有节点的相同目录下。

[usr/local/bin/xsync]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
pcount=$#
if (( pcount<1 ));then
echo no args;
exit;
fi
p1=$1;
fname=`basename $p1`
#echo $fname=$fname;
pdir=`cd -P $(dirname $p1) ; pwd`
#echo pdir=$pdir
cuser=`whoami`
for (( host=101;host<106;host=host+1 )); do
echo ------------s$host----------------
rsync -rvl $pdir/$fname [email protected]$host:$pdir
done

测试

xsync hello.txt

详解搭建ubuntu版hadoop集群

详解搭建ubuntu版hadoop集群

自定义脚本xcall(在所有主机上执行相同的命令)

[usr/local/bin]

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
pcount=$#
if (( pcount<1 ));then
echo no args;
exit;
fi
echo -----------localhost----------------
for (( host=101;host<106;host=host+1 )); do
echo ------------s$host-------------
ssh s$host [email protected]
done

测试 xcall rm –rf hello.txt

详解搭建ubuntu版hadoop集群

详解搭建ubuntu版hadoop集群

集群搭建完成后,测试次运行以下命令

1
2
3
4
5
touch a.txt
gedit a.txt
hadoop fs -mkdir -p /user/enmoedu/data
hadoop fs -put a.txt /user/enmoedu/data
hadoop fs -lsr /

详解搭建ubuntu版hadoop集群

也可以进入浏览器查看

详解搭建ubuntu版hadoop集群

详解搭建ubuntu版hadoop集群

相关文章: