hadoop集群部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop集群部署相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

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

Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。

Hadoop官网:http://hadoop.apache.org/
二、部署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
技术分享图片
②解压到指定目录
tar zxvf hadoop-2.8.4.tar.gz -C /home/hadoop/
③配置hadoop-env.sh文件
技术分享图片
④配置yarn.sh文件
技术分享图片
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>
技术分享图片
⑥修改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>
技术分享图片
⑦修改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>
技术分享图片
⑧配置节点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的配置文件夹下,并创建对应目录。
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 [email protected]:/home/hadoop
scp -r /home/hadoop/ hadoop-2.8.4 [email protected]:/home/hadoop
?在master初始化NameNode
/home/hadoop/hadoop-2.8.4//bin/hdfs namenode –format*
tree /home/hadoop/hadoop-2.8.4/name 查看是否格式化ok
技术分享图片
?启动hadoop集群
sh /home/hadoop/hadoop/sbin/start-all.sh
echo "/home/hadoop/hadoop/sbin/start-all.sh" >> /etc/rc.d/rc.local
技术分享图片

以上是关于hadoop集群部署的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记Hadoop—— Hadoop集群的安装与部署—— 配置Hadoop集群

学习笔记Hadoop—— Hadoop集群的安装与部署—— Hadoop集群部署模式配置固定IP

Hadoop系列之:使用Cloudera部署,管理Hadoop集群

阿里云ECS服务器部署HADOOP集群:Sqoop 安装

学习笔记Hadoop—— Hadoop集群的安装与部署—— Hadoop配置参数介绍Hadoop集群启动与监控

Hadoop集群部署-Hadoop 运行集群后Live Nodes显示0