大数据之Hadoop知识点总结

本文详细介绍了Hadoop HDFS的各个方面,包括HDFS的概念、优缺点、架构,以及Client、写数据和读数据流程、机架感知、NameNode工作机制、SecondaryNameNode、集群安全模式操作和DataNode工作机制等。还涵盖了动态节点上下线和HDFS-HA的自动故障转移机制,是理解Hadoop分布式文件系统的全面指南。
摘要由CSDN通过智能技术生成

Hadoop 的组成

  1. Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统
  2. Hadoop MapReduce:一个分布式的离线并行计算框架
  3. Hadoop Yarn:作业调度系统与集群管理框架
  4. Hdoop Common:支持其他模块的工具模块。
    下面我们首先来阐述环境搭建之后开始逐一的回顾上述模块的知识。

Hadoop 的环境搭建

  1. 将虚拟机的网络模式切换到NAT
  2. 克隆多台虚拟机
  3. 修改虚拟机静态ip
    1、在终端命令窗口输入下面代码:
vim /etc/udev/rules.d/70-persistent-net.rules
	2、进入如下页面操作如下图:

在这里插入图片描述
3、修改ip地址:命令为:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

需要修改的内容有五个:

IPADDR=192.168.1.101
GATEWAY=192.168.1.2
ONBOOT=yes
BOOTPROTO=static
DNS1=192.168.1.2
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

  1. 执行 service network restart 如果报错,那就重启虚拟机
  2. 修改主机名称:vim /etc/sysconfig/network,之后在vim /etc/hosts 进行ip和主机名称映射
  3. 关闭防火墙:
  • 查看防火墙状态:chkconfig iptables --list

  • 关闭防火墙:chkconfig iptables off
    7、安装hadoop:

  • 解压hadoop: tar -zxf hadoop-2.7.2.tar.gz -C /opt/module/

  • 在/opt/module/hadoop-2.7.2/etc/hadoop 路径下配置 hadoop-env.sh(添加jdk路径)

  • 将hadoop添加到环境变量:vim /etc/profile 文件添加如下:
    ##HADOOP_HOME
    export HADOOP_HOME=/opt/module/hadoop-2.7.2
    export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin
    export PATH= P A T H : PATH: PATH:HADOOP_HOME/sbin
    8、让修改生效: source /etc/profile,如果不管有就重启
    至此hadoop安装完成。

hadoop的运行模式

1、本地模式:不需要启动单独进程,直接运行,测试和开发时候使用
2、伪分布式模式:等同于完全分布式,但是只有一个节点。
3、完全分布式,多个节点
主要回忆一下完全分布式环境的部署:

hadoop完全分布式部署

1、准备 3 台客户机(关闭防火墙、静态 ip、主机名称)
2、用scp命令从第一台虚拟机中拉取hadoop程序包

  • scp命令有三种方式举例:
    假设我们的数据在hadoop102上面
    a、推,假设我们现在在hadoop101上:scp -r /opt/software/ root@hadoop102:/opt ,-r为递归拉取(拉取文件夹),root为用哪么用户权限拉,hadoop102为地址:/后边为从哪个目录拉取
    b、拉,假设我们在hadoop102上,要将101上的数据同步到102上,拉的时候即此时我在scp -r root@hadoop101:/etc/profile /etc/profile
    c、我们假设现在在hadoop102上,我们要将103的数据拷贝到104中那么如下:
    scp -r root@hadoop103:/opt/test root@hadoop104:/opt/
    我们可以看出,数据在那第一个地址就填那个,如果数据不再本机上那么就要加上用户和ip如果在直接写带复制文件路径即可。

3、设置ssh无密登录

  • 进入home目录:cd ~/.ssh

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

  • 将公钥拷贝到免密登录的目标机器上
    ssh-copy-id hadoop103
    ssh-copy-id hadoop104
    其大概过程如下图:
    在这里插入图片描述

  • .ssh 文件夹下的文件功能解释
    a、~/.ssh/known_hosts :记录ssh访问过的公钥
    b、id_rsa:私钥
    c、id_rsa.pub:公钥
    d、authorized_keys:存放授权过的无密登录的公钥

4、同步节点一的配置编写了一个xsync其是根据rsync编写的,rsync和scp的不同之处在于其可以避免复制相同的内容。
在构建之前我们大概来设计一下hadoop的节点分配:
在这里插入图片描述
因为namenode、resourceManager、和secondarynamenode都是比较耗费资源的所以最好将他们分开在不同的节点放置。
5、配置文件:

  • 首先配置hadoop-env.sh配置jdk环境变量上面提到过
  • 其次配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值