详解搭建ubuntu版hadoop集群

用到的工具: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

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

è点击完成

修改/etc/hostname

vim hostname

保存退出

修改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地址及网关

配置/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

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

配置好后执行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/

安装共享文件夹

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

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

执行./vmware-install.pl文件

Enter键执行

安装完成

拷贝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

配置环境变量

?
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

?
1
$>hadoop version

配置/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 -keygen -t rsa -P '' -f ~/. ssh /id_rsa

导入公钥数据到授权库中

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

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

其中root一样执行即可

?
1
$> ssh localhost

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

修改slaves文件

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

?
1
2
3
4
s101
s102
s103
s105

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

塔建完成后

格式化hdfs文件系统

?
1
$>hadoop namenode – format

启动所有进程

?
1
start-all.sh

最终结果:

自定义脚本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 $cuser@s$host:$pdir
done

测试

xsync hello.txt

自定义脚本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 $@
done

测试 xcall rm –rf hello.txt

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

?
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 /

也可以进入浏览器查看

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DisFney

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值