ARCHITECTURE:Hadoop

大数据

  • 大数据5V特性是什么?
    (V)olume(大体量)
    可从数百TB到数十数百PB,甚至EB的规模
    (V)ariety(多样性)
    大数据包括各种格式和形态的数据
    (V)elocity(时效性)
    很多大数据需要在一定的时间限度下得到及时处理
    (V)eracity(准确性)
    处理的结果钥保证一定的准确性
    – `(V)alue(大价值)
    大数据包含很多深度的价值,大数据分析挖掘和利用将带来巨大的商业

Hadoop

  • Hadoop
    – 是一种分析和处理海量数据的软件平台
    – 是一款开源软件,使用JAVA开发
    – 可以提供一个分布式基础架构
  • 特点
    – 高可靠性,高扩展性,高效性,高容错性,低成本

Hadoop组件

  • 核心组件
    – HDFS:Hadoop分布式文件系统
    – MapReduce:分布式计算机框架
    – Yarn:集群资源管理系统
  • 组件
    – Zookeeper:分布式协作服务
    – Hbase:分布式列存数据库
    – Hive:基于Hadoop的数据仓库
    – Sqoop:数据同步工具
    – Pig:基于Hadoop的数据流系统
    – Mahout:数据挖掘算法库
    – Flume:日志收集工具
    在这里插入图片描述

HDFS结构

  • Hadoop体系中数据存储管理的基础,是一个高度容错的系统,用于在低成本的通用硬件上运行
  • 构成
    – client
    – Namenode
    – Secondarynode
    – Datanode
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

MapReduce结构

在这里插入图片描述

  • 源于Google的MapReduce论文,JAVA实现的分布式计算框架
  • 构成
    – JobTracker
    – TaskTracker
    – Map Task
    – Reducer Task
    在这里插入图片描述
    在这里插入图片描述

Yarn结构

在这里插入图片描述

  • 是Hadoop的一个通用的资源管理系统
  • 构成
    – Resourcemanage
    – Nodemanager
    – ApplicationMaster
    – container
    – Client
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Had安装与配置

单机模式

  • 安装java环境
yum -y install java-1.8.0-openjdk-devel
java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
jps
1235 Jps
  • 安装hadoop
cd hadoop/
ls
hadoop-2.7.7.tar.gz  

tar -xf hadoop-2.7.7.tar.gz 
mv hadoop-2.7.7 /usr/local/hadoop
cd /usr/local/hadoop
ls
bin  include  libexec      NOTICE.txt  sbin
etc  lib      LICENSE.txt  README.txt  share

./bin/hadoop   //报错,JAVA_HOME没有找到
Error: JAVA_HOME is not set and could not be found.
  • 解决报错问题
rpm -ql java-1.8.0-openjdk
cd /usr/local/hadoop/etc/hadoop/
vim hadoop-env.sh
25 export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre"
33 export HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop"

cd /usr/local/hadoop/
mkdir /usr/local/hadoop/input
cp *.txt /usr/local/hadoop/input
./bin/hadoop jar  \
 share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar  wordcount input output  
cat   output/part-r-00000    #查看,成功

伪分布式

  • 与安全分布式类似,区别是所有角色安装在一台机器上,使用本地磁盘,一般生产环境都会使用完全分布式,伪分布式一般是用来学习和测试Hadoop的功能的
  • 为分布式的配置和完全分布式配置类似

完全分布式

  • 系统规划
主机角色软件
192.168.1.60 hadoop1NameNode和SecondaryNameNodeHDFS
192.168.1.61 node1DAtaNodeHDFS
192.168.1.62 node2DAtaNodeHDFS
192.168.1.63 node3DAtaNodeHDFS
  • 基础环境准备
    – 禁用selinux SELINUX=disabled
    – 禁用firewalld
    systemctl stop firewalld
    systemctl mask firewalld
#4台机器都做
vim /etc/hosts
192.168.1.60  nn01
192.168.1.61  node1
192.168.1.62  node2
192.168.1.63  node3

yum -y install java-1.8.0-openjdk-devel

在hadoop上:布置SSH信任关系

vim /etc/ssh/ssh_config  #第一次登陆不需要输入yes
Host *
        GSSAPIAuthentication yes
        StrictHostKeyChecking no

ssh-keygen -f /root/.ssh/id_rsa -N ''

for i in 60 61 62 63; do  ssh-copy-id  192.168.1.$i; done  
  • 修改配置文件
    – 环境配置文件:hadoop-env.sh
    – 核心配置文件:core-site.xml
    – HDFS配置文件:hdfs-site.xml
    – 节点配置文件:slaves
# 修改slaves文件
cd  /usr/local/hadoop/etc/hadoop
vim slaves
node1
node2
node3
# 修改hadoop的核心配置文件core-site
# 不同可以看hadoop官网文档http://hadoop.apache.org/docs找
vim core-site.xml
<configuration>
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://nn01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/hadoop</value>
    </property>
</configuration>

mkdir /var/hadoop   #hadoop的数据根目录
# 配置hdfs-site文件
vim hdfs-site.xml
<configuration>
 <property>
        <name>dfs.namenode.http-address</name>
        <value>nn01:50070</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>nn01:50090</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

同步配置到node1,node2,node3

for i in 62 63 61 
do 
rsync -aXSH --delete /usr/local/hadoop 192.168.1.$i:/usr/local/ & 
done
  • 格式化
cd /usr/local/hadoop/
./bin/hdfs namenode -format   #格式化 namenode
./sbin/start-dfs.sh   #启动
jps   #验证角色
23408 NameNode
23700 Jps
23591 SecondaryNameNode
 ./bin/hdfs dfsadmin -report  #查看集群是否组建成功
Live datanodes (3):   #有三个角色成功
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值