大数据技术之Hadoop入门一

1. 从Hadoop框架讨论大数据生态

名字起源

该项目的创建者,Doug Cutting解释Hadoop的得名 :“这个名字是我孩子给一个棕黄色的大象玩具命名的

项目起源

Hadoop由 Apache Software Foundation 公司于 2005 年秋天作为Lucene的子项目Nutch的一部分正式引入。它受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发

Google是Hadoop的思想之源(Google在大数据方面的三篇论文)

GFS ====> HDFS

Map-Reduce ====> MR

BigTable ====> HBase

Hadoop的优势

高可靠性

因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。

高扩展性

在集群间分配任务数据,可方便的扩展数以千计的节点。

高效性

在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

高容错性

自动保存多份副本数据,并且能够自动将失败的任务重新分配。

Hadoop组成

HDFS :  一个高可靠,高吞吐的分布式文件系统

MapReduce:  一个分布式的离线并行计算框架。

YARN: 作业调度与集群资源管理的框架

Common:  支持其他模块的工具模块(Configuration  RPC  序列化机制  日志操作).

HDFS架构概述

NameNode:存储元数据

DataNode:存储数据的节点,会对数据块进行校验

SecondaryNameNode: 监控NameNode 的元数据,每隔一定的时间进行元数据的合并

YARN架构概述

ResourceManager(rm)

处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度

NodeManager(nm)

单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令

ApplicationMaster

数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错

Container

对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息

MapReduce架构概述

MapReduce将计算过程分为两个阶段:Map和Reduce

Map阶段并行处理输入数据

Reduce阶段对Map结果进行汇总

2. Hadoop运行环境搭建

关闭防火墙

关闭防火墙: systemctl stop firewalld.service

禁用防火墙: systemctl disable firewalld.service

查看防火墙: systemctl status firewalld.service

关闭Selinux: vi /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled

修改IP

Tab键补全

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.X.51

GATEWAY=192.168.X.2

DNS1=8.8.8.8

DNS2=8.8.4.4

NETMASK=255.255.255.0

vi /etc/resolv.conf

nameserver8.8.8.8

nameserver8.8.4.4

重启网卡 : service network restart

修改主机名

hostnamectl set-hostname 主机名

IP和主机映射

vi /etc/hosts

192.168.1.111 bigdata111

192.168.1.112 bigdata112

192.168.1.113 bigdata113

windows的映射:C:\Windows\System32\drivers\etc 路径下找到hosts并添加

192.168.1.111 bigdata111

192.168.1.112 bigdata112

192.168.1.113 bigdata113

连接X Shell

输入IP  用户名  和密码即可连接

安装JDK

卸载现有JDK

查询是否安装Java相关软件

rpm-qa|grepjava

如果安装的版本低于1.7,卸载该JDK:

rpm -e 软件包名

在/opt目录下创建两个子文件

mkdir/opt/mod /opt/soft

解压JDK到/opt/module目录下

tar-zxvfjdk-8u144-linux-x64.tar.gz-C/opt/module/

配置JDK环境变量

vi /etc/profile

exportJAVA_HOME=/opt/mod/jdk1.8.0_144

exportPATH=$PATH:$JAVA_HOME/bin

source /etc/profile  刷新环境变量配置

测试JDK是否安装成功

java -version

javaversion"1.8.0_144"

Java(TM)SERuntimeEnvironment(build1.8.0_144-b01)

JavaHotSpot(TM)64-BitServerVM(build25.144-b01,mixedmode)

安装成功

4. Hadoop运行模式

伪分布式/完全分布式部署Hadoop

SSH无密码登录

生成公钥和私钥:ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要免密登录的目标机器上

ssh-copy-id 主机名1

ssh-copy-id 主机名2

ssh-copy-id 主机名3

注:在另外两台机器上分别执行,共执行9遍

.ssh文件夹下的文件功能解释

(1)~/.ssh/known_hosts :记录ssh访问过计算机的公钥(public key)

(2)id_rsa :生成的私钥

(3)id_rsa.pub :生成的公钥

(4)authorized_keys :存放授权过得无秘登录服务器公钥

配置集群(表格版)

集群部署规划

bigdata111bigdata112bigdata113

HDFSNameNode,SecondaryName,DataNodeDataNodeDataNode

YARNNodeManagerResourceManager,NodeManagerNodeManager

配置文件

core-site.xml

    fs.defaultFS

    hdfs://主机名1:9000

    hadoop.tmp.dir

    /opt/module/hadoop-2.X.X/data/tmp

hdfs-site.xml

dfs.replication

3

    dfs.namenode.secondary.http-address

    主机名1:50090

    dfs.permissions

    false

yarn-site.xml


yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.resourcemanager.hostname

主机名1

yarn.log-aggregation-enable

true

    yarn.log-aggregation.retain-seconds

    604800

mapred-site.xml

mapreduce.framework.name

yarn

mapreduce.jobhistory.address

主机名1:10020

mapreduce.jobhistory.webapp.address

主机名1:19888

hadoop-env.sh  yarn-env.sh  mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144(注:是自己安装的路径)

slaves

bigdata111

bigdata112

bigdata113(自己设置的主机名)

你可能感兴趣的:(大数据技术之Hadoop入门一)