一、概述

概念:

是一个可靠的、可伸缩的、分布式计算的开源软件。
是一个框架,允许跨越计算机集群的大数据及分布式处理,使用简单的编程模型(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<<EOF
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-3.b14.el6_9.x86_64
export CLASSPATH=.:\$JAVA_HOME/jre/lib/rt.jar:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
source /etc/profile.d/java.sh

b.修改主机名添加hosts

hostname hadoop-1
cat >>/etc/hosts<<EOF
172.20.2.203    hadoop-1
172.20.2.204    hadoop-2
172.20.2.205    hadoop-3
EOF

c.创建用户及目录

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

d.配置hadoop环境变量

cat>/etc/profile.d/hadoop.sh<<EOF
export HADOOP_PREFIX=/usr/local/hadoop
export PATH=\$PATH:\$HADOOP_PREFIX/bin:\$HADOOP_PREFIX/sbin
export HADOOP_COMMON_HOME=\${HADOOP_PREFIX}
export HADOOP_HDFS_HOME=\${HADOOP_PREFIX}
export HADOOP_MAPRED_HOME=\${HADOOP_PREFIX}
export HADOOP_YARN_HOME=\${HADOOP_PREFIX}
EOF
source /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/local
ln -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 rsa
for num in `seq 1 3`;do ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-$num;done

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 <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-1:8020</value>
<final>true</final>
</property>
</configuration>
EOF

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

cat >/usr/local/hadoop/etc/hadoop/hdfs-site.xml <<EOF
<?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>hadoop-2:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/dn</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
</configuration>
EOF

添加mapred-site.xml

cat >/usr/local/hadoop/etc/hadoop/mapred-site.xml <<EOF
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
EOF

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

cat >/usr/local/hadoop/etc/hadoop/yarn-site.xml<<EOF
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop-3:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop-3:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop-3:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop-3:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop-3:8088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
</configuration>
EOF

slaves(定义数据节点)

cat >/usr/local/hadoop/etc/hadoop/slaves<<EOF
hadoop-1
hadoop-2
hadoop-3
EOF

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

2.3.2 格式化namenode

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

hdfs namenode -format



2.3.3 启动服务

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


hadoop-2服务查看

hadoop-3服务查看

2.3.4 运行测试程序

yarn jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar pi 2 10

2.3.5 查看web界面

HDFS-NameNode

url:http://172.20.2.203:50070

YARN-ResourceManager

url:http://172.20.2.205:8088

转载于:https://blog.51cto.com/kaliarch/2119093

Hadoop完全分布式部署相关推荐

  1. Hadoop全分布式部署 - CentOS(结尾附视频)

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  2. Hadoop伪分布式部署及常用操作

    hadoop伪分布式部署 之前有做过hadoop 2.x的部署,现在再做一下hadoop 3.x的部署. hadoop有三个组件:hdfs用来存储数据,mapreduce 用来计算(作业) ,yarn ...

  3. [Hadoop]-YARN-伪分布式部署-hadoop-2.6.0-cdh5.7.0

    前面已经部署好了HDFS, YARN比较容易了 1.修改配置文件 官方已经提供了一个配置文件,直接拿来用 #cp ~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/mapr ...

  4. hadoop 全分布式部署

    cd $HADOOP_HOME 在/etc/profile中设置过了 1.设置JDK目录 hadoop-env.sh vim /usr/local/hadoop-2.8.4/etc/hadoop/ha ...

  5. Hbase完全分布式部署

    前言 关于hadoop完全分布式部署,我在https://blog.csdn.net/zisefeizhu/article/details/84317520已经有详细步骤 接https://blog. ...

  6. 完全分布式部署Hadoop

    完全分布式部署 Hadoop 分析: 1)准备 3 台客户机(关闭防火墙.静态 ip.主机名称) 2)安装 jdk 3)配置环境变量 4)安装 hadoop 5)配置环境变量 6)安装 ssh 7)配 ...

  7. 用 Hadoop 进行分布式并行编程, 第 3 部分 部署到分布式环境

    一 前言 在本系列文章的第一篇:用 Hadoop 进行分布式并行编程,第 1 部分: 基本概念与安装部署中,介绍了 MapReduce 计算模型,分布式文件系统 HDFS,分布式并行计算等的基本原理, ...

  8. 用 Hadoop 进行分布式并行编程, 第 1 部分 基本概念与安装部署

    Hadoop 简介 Hadoop 是一个开源的可运行于大规模集群上的分布式并行编程框架,由于分布式存储对于分布式编程来说是必不可少的,这个框架中还包含了一个分布式文件系统 HDFS( Hadoop D ...

  9. Hadoop伪分布式集群的安装部署

    Hadoop伪分布式集群的安装部署Hadoop伪分布式集群的安装部署 首先可以为Linux虚拟机搭建起来的最初状态做一个快照,方便后期搭建分布式集群时多台Linux虚拟机的准备. 一.如何为虚拟机做快 ...

最新文章

  1. 一个超牛的东东:专门删除牛皮文件和文件夹
  2. PHP内置函数生成随机数的方法汇总
  3. c++ 准确计时_C++精确计时
  4. 高性能MySQL(二)
  5. 中交叉的线_表现力一绝!用交叉线构图拍出来的照片,竟然可以这么吸睛!
  6. html显示hdf5文件,python读取hdf5文件
  7. POS机C井例子代码(2)
  8. setTimeout保证浏览器可以实时接收到输入框内容
  9. java不同进程的相互唤醒_JAVA多线程之线程间的通信方式
  10. mysql不使用swapp的原因_SolidWorks不能使用的原因
  11. android java调用c_Android JNI简单实例(android 调用C/C++代码)
  12. python自动化测试-python自动化测试
  13. python简单代码示例-python3简单代码示例
  14. Win10禁用驱动程序强制签名方法
  15. OSM地图本地发布-如何生成各省市矢量地图
  16. javascript 代码转换为 typescript 代码
  17. phyton做年历和月历
  18. 解决鼠标右键失效(响应极慢)
  19. python 自动发送微信消息 (win)
  20. 如何使用Tenderly在Moonbeam上构建更优秀的Dapp

热门文章

  1. vue-cli 中stylus写样式莫名报错?
  2. 使用NPO依赖的一些类库文件介绍
  3. _DataStructure_C_Impl:稀疏矩阵三元组
  4. NET分页实现及代码
  5. MOS管正确选择的步骤
  6. 没有钱,能做什么呢?(转载)
  7. dwr 登录实现 (入门知识)
  8. JAVA设计模式-适配器模式(Adapter)
  9. Jmeter HTTP Cookie管理器的使用
  10. 计算机应用技术专业毕业论文,计算机应用技术专科毕业论文范文