Hadoop系列-分布式集群

一 分布式集群机器规划

本机物理机:

内存32G,硬盘1T, CPUi7 四核

我规划三台虚拟机参与集群,每一台分配3G内存,30G硬盘,CPU 单核。

 

 

 

二 克隆虚拟机

clone--> 修改机器名称-->Full Done --> clone

然后vim/etc/udev/rules.d/70-persistent-net.rules

把第一行删掉

把第二条记录NAME="eth1"改成eth0

然后复制MAC 地址;

sudovim /etc/sysconfig/network-scripts/ifcfg-eth0

然后把刚才复制的MAC地址给粘过去替换掉之前的

然后修改IP地址

重启网络服务

sudoservice network restart

 

修改主机名:

sudovim /etc/sysconfig/network

HOSTNAME=hadoop-cluster-02

 

然后添加IP映射在/etc/hosts

sudovim /etc/hosts

192.168.3.100hadoop-cluster-01

192.168.3.101hadoop-cluster-02

192.168.3.102hadoop-cluster-03

重启机器

第三台机器机器也是如此配置

 

三 Hadoop 分布式集群


我们需要先配好一台机器,然后将配置文件分发到其他节点上。

3.1 先检查环境

JDK是否安装好,如果没装,需要先安装JDK;

安装时确保防火墙是关闭的,否则可能会报错:
No Route to Host from  CDH-Office-Hadoop-02/192.168.199.211 to CDH-Office-Hadoop-01:8020 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host; For more details see:  http://wiki.apache.org/hadoop/NoRouteToHost

3.2 新建目录 /opt/app

sudomkdir -pv /opt/app

 

3.3 解压hadoop-2.5.0.tar.gz

tar-zxf hadoop-2.5.0.tar.gz -C /opt/app/

 

3.4 删掉/opt/app/hadoop-2.5.0/share下面的doc

因为这个文件很大,到时分发配置到其他节点的时候很慢。

rm-fr /opt/app/hadoop-2.5.0/share/doc

 

3.5 设置hadoop-env.sh,mapred-env.sh,yarn-env.shJAVA_HOME路径

cd/opt/app/hadoop-2.5.0/etc/Hadoop

vim hadoop-env.sh

 

vim yarn-env.sh



vim mapred-env.sh

 

3.6 配置slaves

192.168.3.100hadoop-cluster-01

192.168.3.101hadoop-cluster-02

192.168.3.102hadoop-cluster-03

 

 

3.7 配置core-site.xml

 

 

 

3.8 配置 hdfs-site.xml

 

3.9 配置yarn-site.xml

 

 

3.10 配置mapred-site.xml

首先先从模板拷贝一份,然后重新命名为mapred-site.xml

cpmapred-site.xml.template mapred-site.xml

 

3.11 发当前服务器这个已经配置好的安装包到其他2台服务器

现在其他两个节点新建目录/opt/app

cd/opt/app

scp-r hadoop-2.5.0/ hadoop@hadoop-cluster-02:/opt/app/

scp-r hadoop-2.5.0/ hadoop@hadoop-cluster-03:/opt/app/

 

3.12 格式化NM

进入到第一台机器hadoop-cluster-01

cd/opt/app/hadoop-2.5.0/bin/

./hdfsnamenode –format

 

3.13 启动各个节点

hadoop-cluster-01:

cd/opt/app/hadoop-2.5.0/sbin

./hadoop-daemon.shstart namenode

./hadoop-daemon.shstart datanode

./yarn-daemon.shstart nodemanager

./mr-jobhistory-daemon.shstart historyserver

hadoop-cluster-02:

cd/opt/app/hadoop-2.5.0/sbin

./yarn-daemon.shstart resourcemanager

./yarn-daemon.shstart nodemanager

./hadoop-daemon.shstart datanode

hadoop-cluster-03:

cd/opt/app/hadoop-2.5.0/sbin/

./hadoop-daemon.shstart secondarynamenode

./yarn-daemon.shstart nodemanager

./hadoop-daemon.shstart datanode


四 安装ssh无密钥登录

4.1 检查是否已经装过,如果装过删除

cd/home/hadoop/.ssh

ls-l


如果没有东西,就忽略此步骤,继续往下走;如果已经装过,删除:

rm-rf ./*

4.2 执行ssh-keygen 所有交互的东西都用默认的


此时就会多出来id_rsa和id_rsa.pub两个文件

 

4.3 用ssh-copy-id将公钥复制到其他机器

#ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host

如果不加公钥路径也可以,会自动加上。

ssh-copy-idhadoop-cluster-01

ssh-copy-idhadoop-cluster-02

ssh-copy-idhadoop-cluster-03

 

然后hadoop-cluster-02& hadoop-cluster-02也按照4.1-4.3的步骤配好

配好之后,我们会发现每一个机器.ssh文件下面都有这几个文件

 

测试一下,hadoop-cluster-01到其它机器是否需要输入密码

测试成功

 

五 测试Hadoop分布式集群

5.1 start 所有节点dfs

在hadoop-cluster-01:

/opt/app/hadoop-2.5.0/sbin/start-dfs.sh

查看各节点进程:

 

5.2 测试 HDFS

创建文件夹

./hdfsdfs -mkdir -p /var/hadoop/input

 

上传文件

./hdfsdfs -put /opt/app/hadoop-2.5.0/etc/hadoop/core-site.xml

/var/hadoop/input/

 

查看文件

./hdfsdfs -text /var/hadoop/input/core-site.xml

 

5.3 测试YARN

./yarnjar /opt/app/hadoop-2.5.0/share/hadoop/mapreduce/hadoop-

mapreduce-examples-2.5.0.jarwordcount /var/hadoop/input /var/Hadoop

/output2


查看生成结果:

./hdfsdfs -cat /var/hadoop/output2/part-r-00000

 

 至此,Hadoop 分布式集群搭建完毕。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

莫言静好、

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

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

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

打赏作者

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

抵扣说明:

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

余额充值