Hadoop配置

Hadoop配置

1、简单介绍

  1. 分布式系统常见的组织形式

    • 去中心化模式:没有明确中心,大家协调工作
    • 中心化模式:有明确的中心,基于中心节点分配工作
  2. 什么是主从模式(Master-Slaves)

    主从模式就是中心化模式,表示有一个主节点来作为管理者,管理协调下属一批从节点工作

  3. HDFS是Hadoop三大组件(HDFS,MapReduce,YARN)之一

    • 全称是:Hadoop Distributed File System(Hadoop分布式文件系统)
    • 是Hadoop技术栈内提供的分布式数据存储解决方案
    • 可以在多台服务器上构建存储集群,存储海量的数据
  4. HDFS中的角色

    • NameNode
      • HDFS的主角色,是一个独立的进程
      • 负责管理HDFS整个文件系统
      • 负责管理DataNode
    • DataNode
      • HDFS系统的从角色,是一个独立的进程
      • 主要负责数据的存储,即存入数据和取出数据
    • SecondaryNameNode
      • NameNode的辅助,是一个独立的进程
      • 主要帮助NameNode完成元数据整理工作

2、安装Hadoop

1.上传hadoop压缩包并解压到相应目录

tar -zxvf hadoop-3.3.1.tar.gz -C /export/server/

2.构建软链接

ln -s /export/server/hadoop-3.3.1 /export/server/hadoop

3.进入hadoop文件,各个文件介绍

  • bin:存放Hadoop的各类程序(命令)
  • etc:存放Hadoop的配置文件
  • include:C语言的一些头文件
  • lib:存放Linux系统的动态链接库(.so文件)
  • libexec:存放配置Hadoop系统的脚本文件(.sh和.cmd)
  • licenses-binary:存放许可证文件
  • sbin:管理员程序(super bin)
  • share:存放二进制源代码(java jar包)

4.配置HDFS集群,我们主要涉及到如下文件的修改

  • workers:配置从节点(DataNode)有哪些
  • hadoop-env.sh:配置Hadoop的相关环境变量
  • core-site.xml:Hadoop的核心配置文件
  • hdfs-site.xml:HDFS核心配置文件

这些配置文件均存在于**$HADOOP_HOME/etc/hadoop**文件夹中

$HADOOP_HOME是后续我们要设置的环境变量,其指代Hadoop安装文件夹,即/export/server/hadoop

5.配置workers文件

# 打开workers配置文件
vim /export/server/hadoop/etc/hadoop/workers
# 删除localhost,输入以下内容
node01
node02
node03

6.配置hadoop-env.sh文件

# 打开hadoop-env.sh配置文件
vim /export/server/hadoop/etc/hadoop/hadoop-env.sh
# 输入以下内容
export JAVA_HOME=/export/server/jdk  # 指明JDK环境的位置
export HADOOP_HOME=/export/server/hadoop  # 指明Hadoop安装位置
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop  # 指明Hadoop配置文件目录位置
export HADOOP_LOG_DIR=$HADOOP_HOME/logs  # 指明Hadoop运行日志目录位置

7.配置core-site.xml文件

# 打开core-site.xml配置文件
vim /export/server/hadoop/etc/hadoop/core-site.xml
# 删除<configuration></configuration>,输入以下内容
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node01:8020</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
</configuration>
  • key:fs.defaultFS
  • 含义:HDFS文件系统的网络通讯路径
  • 值:hdfs://node01:8020
    • 协议为hdfs://
    • NameNode为node01
    • NameNode通讯端口为8020
  • key:io.file.buffer.size
  • 含义:io操作文件缓冲区大小
  • 值:131072 bit

hdfs://node01:8020为整个HDFS内部的通讯地址,应用协议为hdfs://(Hadoop内置协议),表明DataNode将和node01的8020端口通讯,node01是NameNode所在机器,此配置固定了node01必须启动NameNode进程

8.配置hdfs-site.xml文件

# 打开hdfs-site.xml配置文件
vim /export/server/hadoop/etc/hadoop/hdfs-site.xml
# 删除<configuration></configuration>,输入以下内容
<configuration>
    <property>
        <name>dfs.datanode.data.dir.perm</name>
        <value>700</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/nn</value>
    </property>
    <property>
        <name>dfs.namenode.hosts</name>
        <value>node01,node02,node03</value>
    </property>
    <property>
        <name>dfs.blocksize</name>
        <value>268435456</value>
    </property>
    <property>
        <name>dfs.namenode.handler.count</name>
        <value>100</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/dn</value>
    </property>
</configuration>
  • key:dfs.datanode.data.dir.perm
  • 含义:hdfs文件系统,默认创建的文件权限设置
  • 值:700
  • 含义:即 rwx- - - - - -
  • key:dfs.namenode.name.dir
  • 含义:NameNode元数据的存储位置
  • 值:/data/nn
  • 含义:在node01节点的/data/nn目录下
  • key:dfs.namenode.hosts
  • 含义:NameNode允许哪几个节点的DataNode连接(即允许加入集群)
  • 值:node01,node02,node03
  • 含义:这三台服务器被授权
  • key:dfs.blocksize
  • 含义:hdfs默认块大小
  • 值:268435456
  • 含义:256MB
  • key:dfs.namenode.handler.count
  • 含义:NameNode处理的并发线程数
  • 值:100
  • 含义:以100个并行度处理文件系统的管理任务
  • key:dfs.datanode.data.dir
  • 含义:从节点DataNode的数据存储目录
  • 值:/data/dn
  • 含义:数据存放在node01,node02,node03,三台机器的/data/dn内

9.创建数据目录

  • 在node01节点

    mkdir -p /data/nn
    mkdir -p /data/dn
    
  • node02node03节点

    mkdir -p /data/dn
    

10.分发Hadoop文件夹

  • 分发

    scp -r hadoop-3.3.1 node02:`pwd`/
    scp -r hadoop-3.3.1 node03:`pwd`/
    
  • node02,node03执行,为Hadoop配置软链接

    ln -s /export/server/hadoop-3.3.1/ /export/server/hadoop
    
  • 在node01,node02,node03节点配置环境变量

    # 打开profile配置文件
    vim /etc/profile
    # 在文件最后添加
    export HADOOP_HOME=/export/server/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    

11.由于我们是root用户,所以还需要配置如下

# 打开环境变量配置文件
vim /etc/profile
# 添加以下内容,配置启动hadoop用户可以为root
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
# 重新加载配置文件
source /etc/

12.在node01节点格式化namenode

hadoop namenode -format

13.Hadoop的启动与关闭

# 在NameNode节点上实现启动与关闭
# 启动
start-all.sh
# 关闭
stop-all.sh

14.在web页面查看

# 在网址中输入IP加9870端口号
192.168.173.10:9870
# 在hosts文件中配置了主机名映射也可使用主机名加9870端口号
node01:9870
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值