实施hadoop大集群(一)

来源:互联网 发布:男性特点知乎 编辑:程序博客网 时间:2024/06/05 05:23

本文从云计算的实际项目中总结,具有很好的参考价值;

1,hadoop大集群的设备选取:

普通pc就可以了,硬盘足够大,多块硬盘就可以;CPU只要四核以上;专门的存储是不需要的;实施hadoop集群的指导思想,我们用廉价的PC集群来代替高大上的小型机和存储;

2,用虚拟机部署,设备需要从下面指标考量

如果用虚拟机部署的话,内存要足够大,如果机器有很多CPU,利用虚拟机可以充分利用CPU的效率;虚拟机最好不要共用同一个物理硬盘,共用同一个物理硬盘很容易IO冲突;多个物理硬盘可以降低IO冲突;当然,还要考虑IO通道的问题;硬盘的个数,性能(包括传输速度,缓存,转速),IO通道的个数和速度都是应该考虑的指标;

3,在hadoop集群中名字解析的考虑,使用dns或者hosts文件:

在规模较小的集群中可以直接使用hosts文件解析;在大规模的集群中我们采用DNS解析域名;linux下可以用bind建立DNS;安装好bind后, 在/etc/resolve.conf中添加nameserver;

[root@rhmn ~]# cat /etc/resolv.conf
nameserver 12.1.0.1

使用nslookup测试DNS:

[root@rhmn ~]# nslookup
> www.baidu.com
Server:         12.1.0.1
Address:        12.1.0.1#53

Non-authoritative answer:
www.baidu.com   canonical name =www.a.shifen.com.
Name:   www.a.shifen.com
Address: 115.239.210.27
Name:   www.a.shifen.com
Address: 115.239.210.26
>

4,建立免密码登陆;ssh 免密码登陆;

把~/.ssh/下面的公钥追加到对应机器的~/.ssh/authorized_keys中;

如果没有公钥,使用ssh-keygen生成

5,把hadoop目录整体复制到其他节点, 命令:

scp -rp ./hadoop hadoop@vm2:/home/hadoop

如果在大规模的环境下用脚本统一把hadoop目录拷贝到每个节点,例如向vm1-vm8的slave节点上拷贝hadoop文件夹:

创建文件包括vm1-vm8:

[root@rhmn ~]#cat slaves

vm1

vm2

vm3

vm4

vm5

vm6

vm7

vm8

生成脚本,拷贝hadoop目录:

cat slaves|awk '{print "scp -rp ./hadoop hadoop@"$1":/home/hadoop"}' > ./test.sh

chmod 755 ./test.sh

sh ./test.sh

或者是:

for i in `cat slaves`;do scp -rp ./hadoop hadoop@$i:/home/hadoop;  done

6,分布式模式的安装的整个过程:

配置域名解析,DNS或者/etc/hosts

建立hadoop运行账号

java环境的搭建;

配置ssh免密码登陆

下载并解压hadoop安装包

配置namenode,修改site文件

配置hadoop-env.sh文件

配置master和slaves文件

向各个节点复制hadoop文件夹

在namenode上格式化namenode

启动hadoop

用JPS检验进程是否成功启动

 

0 0
原创粉丝点击