Hadoop完全分布式部署

一、概述

概念:

是一个可靠的、可伸缩的、分布式计算的开源软件。
是一个框架,允许跨越计算机集群的大数据及分布式处理,使用简单的编程模型(mapreduce)
可从单台服务器扩展至几千台主机,每个节点提供了计算和存储功能。
不依赖于硬件处理HA,在应用层面实现

特性4V:

volumn    体量大
velocity    速度快
variaty 样式多
value   价值密度低

模块:

hadoop common   公共类库,支持其他模块
HDFS            hadoop distributed file system,hadoop分布式文件系统
Hadoop yarn     作业调度和资源管理框架
hadoop mapreduce    基于yarn系统的大数据集并行处理技术。

二、安装部署

2.1 主机规划

主机名称 IP地址 安装节点应用
hadoop-1 172.20.2.203 namenode/datanode/nodemanager
hadoop-2 172.20.2.204 secondarynode/datanode/nodemanager
hadoop-3 172.20.2.205 resourcemanager/datanode/nodemanager

2.2 部署

2.2.1 基础环境配置

a.配置java环境

yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel -y
cat >/etc/profile.d/java.sh< 
  

b.修改主机名添加hosts

hostname hadoop-1cat >>/etc/hosts< 
  

c.创建用户及目录

useradd hadoop
echo "hadoopwd" |passwd hadoop --stdinmkdir -pv /data/hadoop/hdfs/{nn,snn,dn}chown -R hadoop:hadoop /data/hadoop/hdfs/mkdir -p /var/log/hadoop/yarnmkdir -p /dbapps/hadoop/logschmod g+w /dbapps/hadoop/logs/chown -R hadoop.hadoop /dbapps/hadoop/

d.配置hadoop环境变量

cat>/etc/profile.d/hadoop.sh< 
  

e.下载并解压软件包

mkdir /software 
cd /software 
wget -c http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz
tar -zxf hadoop-2.6.5.tar.gz -C /usr/localln -sv /usr/local/hadoop-2.6.5/ /usr/local/hadoop
chown hadoop.hadoop /usr/local/hadoop-2.6.5/ -R

f.hadoop用户免密钥配置

su - hadoop
ssh-keygen -t rsafor num in `seq 1 3`;do ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-$num;done

Hadoop完全分布式部署_第1张图片

2.3 配置hadoop

2.3.1 配置各节点

配置master节点

hadoop-1节点运行namenode/datanode/nodemanager,修改hadoop-1的hadoop配置文件

core-site.xml(定义namenode节点)

cat>/usr/local/hadoop/etc/hadoop/core-site.xml <fs.defaultFShdfs://hadoop-1:8020trueEOF

hdfs-site.xml修改replication为data节点数目   (定义secondary节点)

cat >/usr/local/hadoop/etc/hadoop/hdfs-site.xml <dfs.namenode.secondary.http-addresshadoop-2:50090dfs.replication2dfs.namenode.name.dirfile:///data/hadoop/hdfs/nndfs.datanode.data.dirfile:///data/hadoop/hdfs/dnfs.checkpoint.dirfile:///data/hadoop/hdfs/snnfs.checkpoint.edits.dirfile:///data/hadoop/hdfs/snnEOF

添加mapred-site.xml

cat >/usr/local/hadoop/etc/hadoop/mapred-site.xml <mapreduce.framework.nameyarnEOF

yarn-site.xml修改对应values为master的主机名(定义resourcemanager节点)

cat >/usr/local/hadoop/etc/hadoop/yarn-site.xml<yarn.resourcemanager.addresshadoop-3:8032yarn.resourcemanager.scheduler.addresshadoop-3:8030yarn.resourcemanager.resource-tracker.addresshadoop-3:8031yarn.resourcemanager.admin.addresshadoop-3:8033yarn.resourcemanager.webapp.addresshadoop-3:8088yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.auxservices.mapreduce_shuffle.classorg.apache.hadoop.mapred.ShuffleHandleryarn.resourcemanager.scheduler.classorg.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerEOF

slaves(定义数据节点)

cat >/usr/local/hadoop/etc/hadoop/slaves< 
  

同样的步骤操作hadoop-2/3,建议将hadoop-1的文件直接分发至hadoop-2/3

2.3.2 格式化namenode

在NameNode机器上(hadoop-1)执行格式化:

hdfs namenode -format

Hadoop完全分布式部署_第2张图片
Hadoop完全分布式部署_第3张图片
Hadoop完全分布式部署_第4张图片

2.3.3 启动服务

在namenode hadoop-1执行start-all.sh启动服务
在hadoop-3启动resourcemanager服务``

Hadoop完全分布式部署_第5张图片
hadoop-2服务查看
Hadoop完全分布式部署_第6张图片
hadoop-3服务查看
Hadoop完全分布式部署_第7张图片

2.3.4 运行测试程序

yarn jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar pi 2 10
Hadoop完全分布式部署_第8张图片
Hadoop完全分布式部署_第9张图片

2.3.5 查看web界面

HDFS-NameNode

url:http://172.20.2.203:50070
Hadoop完全分布式部署_第10张图片
Hadoop完全分布式部署_第11张图片

YARN-ResourceManager

url:http://172.20.2.205:8088

Hadoop完全分布式部署_第12张图片