hadoop集群部署

1、Hadoop框架简介
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。java

HDFS(Hadoop Distribution File System),称为Hadoop分布式文件系统,主要特色:node

HDFS最小以64MB的数据块存储文件,相比其余文件系统中的4KB~32KB分块大得多。 HDFS在时延的基础上对吞吐量进行了优化,它可以高效处理了对大文件的读请求流,但不擅长对众多小文件的定位请求 HDFS对普通的“一次写入,屡次读取”的工做负载进行了优化。 每一个存储节点运行着一个称为DataNode的进程,它管理着相应主机上的全部数据块。这些存储节点都由一个称为NameNode的主进程来协调,该进程运行于一台独立进程上。 与磁盘阵列中设置物理冗余来处理磁盘故障或相似策略不一样,HDFS使用副原本处理故障,每一个由文件组成的数据块存储在集群众的多个节点,HDFS的NameNode不断监视各个DataNode发来的报告。
(1)MapReduce工做原理
客户端,提交MapReduce做业;jobtracker,协调做业的运行,jobtracker是一个java应用程序,它的主类是JobTracker;tasktracker。运行做业划分后的任务,tasktracker是一个java应用程序,TaskTracker是主类。web

(2)Hadoop优势
Hadoop是一个可以让用户轻松架构和使用的分布式计算平台。用户能够轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有如下几个优势:apache

高可靠性:Hadoop按位存储和处理数据的能力值得人们信赖。服务器

高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇能够方便地扩展到数以千计的节点中。网络

高效性:Hadoop可以在节点之间动态地移动数据,并保证各个节点的动态平衡,所以处理速度很是快。架构

高容错性:Hadoop可以自动保存数据的多个副本,而且可以自动将失败的任务从新分配。app

低成本:与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本所以会大大下降。框架

Hadoop带有用Java语言编写的框架,所以运行在 Linux 生产平台上是很是理想的。Hadoop 上的应用程序也可使用其余语言编写,好比 C++。webapp

Hadoop官网:http://hadoop.apache.org/
2、部署hadoop集群
①下载安装包
mkdir /root/software
mkdir /home/hadoop 我将全部的服务都放在了home下,具体状况根据磁盘情况而定
cd /root/software
wget http://s***.hc-yun.com:10081/down/hadoop-2.8.4.tar.gz
hadoop集群部署
②解压到指定目录
tar zxvf hadoop-2.8.4.tar.gz -C /home/hadoop/
③配置hadoop-env.sh文件
hadoop集群部署
④配置yarn.sh文件
hadoop集群部署
Hadoop 3种运行模式

本地独立模式:Hadoop的全部组件,如NameNode,DataNode,Jobtracker,Tasktracker都运行在一个java进程中。

伪分布式模式:Hadoop的各个组件都拥有一个单独的Java虚拟机,它们之间经过网络套接字通讯。

彻底分布式模式:Hadoop分布在多台主机上,不一样的组件根据工做性质的不一样安装在不通的Guest上。

⑤修改core-site.xml文件
#配置彻底分布式模式
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>13107200</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.8.4/tmp</value>
</property>
</configuration>
hadoop集群部署
⑥修改hdfs-site.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.8.4/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.8.4/data</value>
</property>
</configuration>
hadoop集群部署
⑦修改mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:19888</value>
</property>
</configuration>
hadoop集群部署
⑧配置节点yarn-site.xml
#该文件为yarn架构的相关配置
<?xml version="1.0"?>

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
hadoop集群部署
⑨复制配置文件到hadoop的配置文件夹下,并建立对应目录。
cp -r /root/software/hdp_config/hadoop/ /home/hadoop/hadoop-2.8.4/etc/hadoop/
mkdir -p /home/hadoop/hadoop-2.8.4/{name,data,logs,tmp}
⑩将hadoop文件夹拷贝到两台slave服务器上
scp -r /home/hadoop/ hadoop-2.8.4 root@slave01:/home/hadoop
scp -r /home/hadoop/ hadoop-2.8.4 root@slave02:/home/hadoop
⑪在master初始化NameNode
/home/hadoop/hadoop-2.8.4//bin/hdfs namenode –format*
tree /home/hadoop/hadoop-2.8.4/name 查看是否格式化ok
hadoop集群部署
⑫启动hadoop集群
sh /home/hadoop/hadoop/sbin/start-all.sh
echo "/home/hadoop/hadoop/sbin/start-all.sh" >> /etc/rc.d/rc.local
hadoop集群部署

相关文章
相关标签/搜索