赞
踩
hadoop可以使用不同的模式部署,适用于不同的场景。
单机模式:无需任何守护进程,所有的程序都运行在同一个JVM上执行,一般用于调试MapReduce程序时使用(多用在Windows环境下)。
伪分布式模式:守护进程运行在本地机器上,模拟一个小规模的集群,只有一个NameNode和一个DataNode实例,数据都存放在同一个节点上。“伪”体现在如何本节点出现故障,则数据丢失,而完全分布式可以使用副本机制保证一个节点故障时数据正常访问。伪分布模式也多用在程序调试中。
完全分布式模式:守护进程运行在一个集群上,有一个NameNode和多个DataNode,利用副本机制可以保证当其中一个DataNode节点故障时数据还能正常访问。利用SecondaryNameNode和高可用机制,还可保证整个集群不间断地提供服务。企业应用中hadoop的部署必然是完全分布式模式。
伪分布模式的优势
(1)节省硬件资源:使用一个节点就可以完成集群的搭建。
(2)便于调试:在程序调试阶段可以省去很多服务维护工作,专注于业务研发。
Linux:CentOS 7.2(如果没有实体机可使用虚拟机代替)
JDK:1.8(openjdk或oracle jdk均可,能运行java命令即可)
java -version
命令输出如下:
[root@node1 hadoop]# java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
设置节点名称为node1
hostnamectl set-hostname node1
在/etc/hosts
文件中写入节点名称和ip的对应信息
192.168.21.20 node1
hostname
命令执行结果为node1
systemctl stop firewalld
setenforce 0
# 等效于手动修改/etc/sysconfig/selinux,将其中的SELINUX=enforcing改成SELINUX=disabled
sed 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
配置免密的目的是让Hadoop的NameNode和DataNode能在没有密码的情况下互相通信。
# 有提示的地方一路按回车
ssh-keygen -t rsa
# 提示输入root用户密码
ssh-copy-id node1
测试:如果执行ssh node1
不需要密码,即为成功。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。