大数据分布式集群搭建(5)

来源:互联网 发布:威客网络兼职可靠吗 编辑:程序博客网 时间:2024/06/06 01:24

下面我们来操作大数据中的重头戏Hadoop
1. HADOOP背景介绍
1.1 什么是HADOOP
1.HADOOP是apache旗下的一套开源软件平台
2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理
3.HADOOP的核心组件有
A.HDFS(分布式文件系统)
B.YARN(运算资源调度系统)
C.MAPREDUCE(分布式运算编程框架)
4.广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈
1.2 HADOOP产生背景
1.HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
2.2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。
——分布式文件系统(GFS),可用于处理海量网页的存储
——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。
3.Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展期。
1.3 HADOOP在大数据、云计算中的位置和关系
1.云计算是分布式计算、并行计算、网格计算、多核计算、网络存储、虚拟化、负载均衡等传统计算机技术和互联网技术融合发展的产物。借助IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等业务模式,把强大的计算能力提供给终端用户。
2.现阶段,云计算的两大底层支撑技术为“虚拟化”和“大数据技术”
3.而HADOOP则是云计算的PaaS层的解决方案之一,并不等同于PaaS,更不等同于云计算本身。

一、安装Hadoop及配置
目标配置:
hdp01: Namenode ResourceManager SecondaryNameNode
hdp02: Datanode NodeManager
hdp03: Datanode NodeManager
hdp04: Datanode NodeManager
Step1:
首先依旧上传压缩包到root目录下面
这里写图片描述

tar -zxvf centos-6.5-hadoop-2.6.4.tar.gz -C /apps/
解压到apps下面
cd hadoop-2.6.4/etc/hadoop/
vi hadoop-env.sh
修改如下:
# The java implementation to use.
export JAVA_HOME=/apps/jdk1.8.0_60
这里写图片描述

(补充上回的zookee批量启动方法)
编辑一个批量启动shell脚本
vi zkStart.sh


#!bin/bash
for host in hdp01 hdp02 hdp03 hdp04
do
ssh $host “source /etc/profile;/apps/zookeeper/bin/zkServer.sh start”
done


chmod u+x zkStart.sh
sh zkStart.sh启动
言归正传,接下来vi core-site.xml
设置如下:

<configuration><property><name>fs.defaultFS</name><value>hdfs://hdp01:9000</value></property><property><name>hadoop.tmp.dir</name><value>/apps/hadoop-2.6.4/tmp</value></property></configuration>

接着

vi  hdfs-site.xml<configuration><property><name>dfs.namenode.name.dir</name><value>/apps/hdpdata/name</value></property><property><name>dfs.datanode.data.dir</name><value>/apps/hdpdata/data</value></property><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.blocksize</name><value>128m</value></property><property><name>dfs.secondary.http.address</name><value>hdp01:50090</value></property></configuration>

接着
vi mapred-site.xml

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapred.job.tracker</name><value>hdfs://hdp01:9001</value></property></configuration>

接着
vi yarn-site.xml

<configuration><property><name>yarn.resourcemanager.hostname</name><value>hdp01</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property></configuration>

slaves文件指定datanodes列表
vi slaves
hdp02
hdp03
hdp04

分发到其他3台机器上面
scp -r /apps/hadoop-2.6.4 root@hdp02:/apps/
scp -r /apps/hadoop-2.6.4 root@hdp03:/apps/
scp -r /apps/hadoop-2.6.4 root@hdp04:/apps/

启动集群

初始化HDFS
bin/hadoop namenode -format

单独启动namenode或者datanode
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
启动HDFS
sbin/start-dfs.sh

单独启动resourcemanager或者nodemanager
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager

启动YARN
sbin/start-yarn.sh

最终完成启动效果
hdp01 master
这里写图片描述
hdp02 slaves
这里写图片描述
。。。
我们可以通过hdp01:50070查看Namenode information
这里写图片描述
这里写图片描述
这里写图片描述

可以通过hdp01:8088查看Nodes of the Cluster
这里写图片描述

大数据文档:http://www.superkingdom.cn/bigdata