百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

「大数据」「Hadoop」HDFS的配置与管理

nanshan 2024-11-21 18:51 12 浏览 0 评论

HDFS(Hadoop Distributed File System)是Hadoop三个基础组件之一,为另外的组件以及大数据生态中的其他组件提供了最基本的存储功能,具有高容错、高可靠、可扩展、高吞吐率等特点。HDFS运行在java环境中,因此我们都需要安装JDK。安装完成之后是一个分布式网络文件系统,需要多节点协同组成Master/Slave模式。

安装

Hadoop版本的历史是2011年1.0+版,2012年2.0+可用,目前最新已经是3.0在2017年就发布了。安装包中包括了HDFS与Yarn组件,以及MapReduce计算框架,还有其他的基础工具包和 RPC 框架。

  • 下载安装包,可以在官网https://hadoop.apache.org/releases.html,国内也有镜像。然后解压到一个目录。
  • 安装JDK,新版的需要JDK1.8及以上。yum -y install jdk。
  • JDK依赖配置,配置etc/hadoop/hadoop-env.sh文件的JAVA_HOME,默认是export JAVA_HOME=${JAVA_HOME}。/etc/profile中再加export JAVA_HOME=/usr/lib/jvm/java.xxx。
  • Hadoop执行环境配置,将hadoop/bin和sbin加入到path中,/etc/profile中加:
export HADOOP_HOME=/usr/local/hadoop-xxx
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置

Hadoop部署方式分三种,Standalone mode(本地单独模式)、Pseudo-Distributed mode(伪分布模式)、Cluster mode(集群模式),其中前两种都是在单机部署,都是分别是开发与测试用途,生产环境使用集群模式。后面两种模式中包括的组件进程有:HDFS daemon的 NameNode(包括Sercondary NameNodes) 和 DataNode、YARN daemon的 ResourceManger 和 NodeManager,分别启动单独的java进程。

Hadoop解压并配置好环境之后,修改各配置文件。配置文件都是xml,所以都是这样子的:

<configuration>
    <property>
          <name>key</name>
          <value>value</value>   
    </property>
</configuration>

hdfs-site.xml 全局参数,主要是NameNode来读取的配置,文件目录等。

  • hadoop.tmp.dir,默认是/tmp,生产需要修改。
  • fs.default.name,文件系统的名字。通常是NameNode的hostname与port。如:hdfs://<your_namenode>:9000/ 。(单一NameNode,配置fs.default.name,有HA的配置fs.defaultFS)
  • 日志:hadoop.logfile.size与hadoop.logfile.count,fs.trash.interval回收站清空时间,io.file.buffer.size读写缓存。

hdfs-site.xml HDFS的核心配置文件,副本数,数据存储目录等。

  • dfs.name.dir,NameNode 元数据存放位置, 默认值:${hadoop.tmp.dir}/dfs/name。
  • dfs.data.dir,DataNode 在本地磁盘存放block的位置,可多个,默认值:${hadoop.tmp.dir}/dfs/data。
  • dfs.replication,DataNode上设置的副本份数,默认是3份,客户端也可以指定。
  • dfs.block.size,数据块大小,单位byte。默认是67108864(64M),建议是128M。
  • dfs.http.address,NameNode web管理地址与端口,默认9870。

etc/hadoop/slaves DataNode上读取的所有的slave的名称或IP,每行存放一个。

启动及异常处理

HDFS启动会独立NameNode、Sercondary NameNodes 和 DataNode 这三个进程。

  • 生效环境配置变量:etc/hadoop/hadoop-env.sh
  • 启动,sbin/start-dfs.sh
  • 访问控制台,http://localhost:9870/,注意3.0版本的端口与之前不同。

遇到的常见异常及处理:

  • 报用户问题Attempting to operate on hdfs namenode as root,hadoop-env.sh中加启动用户
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"
  • 大量的command not found,先要hdfs namenode -format,再直接 start-all.sh启动,不能加sh。
  • 报localhost: Permission denied,ssh问题,生成并注册一下这个ssh key即可。
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  • localhost:9870/访问失败,关闭防火墙或配置hdfs-site.xml中的dfs.http.address为0.0.0.0:9870 。如有服务端口访问不到的,都可以检查一下IP是否是0.0.0.0。

文件系统的使用

命令hadoop fs-help可以获取所有的基本的文件系统操作命令。如,hadoop fs -ls、-fsck等和hdfs dfs -ls、-mkdir、-cp等等。

访问http://localhost:9864/可以查看datanode节点上文件的占用情况等。

各组件端口

相关推荐

如何为MySQL服务器和客户机启用SSL?

用户想要与MySQL服务器建立一条安全连接时,常常依赖VPN隧道或SSH隧道。不过,获得MySQL连接的另一个办法是,启用MySQL服务器上的SSL封装器(SSLwrapper)。这每一种方法各有其...

Mysql5.7 出现大量 unauthenticated user

线上环境mysql5.7突然出现大量unauthenticateduser,进mysql,showprocesslist;解决办法有:在/etc/hosts中添加客户端ip,如192.16...

MySQL 在 Windows 系统下的安装(mysql安装教程windows)

更多技术文章MySQL在Windows系统下的安装1.下载mysql和Framework链接链接:百度网盘请输入提取码提取码:6w3p双击mysql-installer-communit...

MySql5.7.21.zip绿色版安装(mysql数据库绿色版安装)

1、去网上下载满足系统要求的版本(mysql-5.7.21-winx64.zip)2、直接解压3、mysql的初始化(1)以管理员身份运行cmd,在mysql中的bin目录下shift+右键-在...

MySQL(8.0)中文全文检索 (亲测有效)

在一堆文字中找到含有关键字的应用。当然也可以用以下语句实现:SELECT*FROM<表名>WHERE<字段名>like‘%ABC%’但是它的效率太低,是全盘扫描。...

新手教程,Linux系统下MySQL的安装

看了两三个教程。终于在哔哩哔哩找到一个简单高效的教程,成功安装,up主名叫bili逍遥bili,感兴趣可以去看看。下面这个是我总结的安装方法环境:CentOS764位1.下载安装包,个人觉得在...

麒麟服务器操作系统安装 MySQL 8 实战指南

原文连接:「链接」Hello,大家好啊,今天给大家带来一篇麒麟服务器操作系统上安装MySQL8的文章,欢迎大家分享点赞,点个在看和关注吧!MySQL作为主流开源数据库之一,被广泛应用于各种业务...

用Python玩转MySQL的全攻略,从环境搭建到项目实战全解析

这是一篇关于“MySQL数据库入门实战-Python版”的教程,结合了案例实战分析,帮助初学者快速掌握如何使用Python操作MySQL数据库。一、环境准备1.安装Python访问Pytho...

安装MySQL(中标麒麟 安装mysql)

安装MySQL注意:一定要用root用户操作如下步骤;先卸载MySQL再安装1.安装包准备(1)查看MySQL是否安装rpm-qa|grepmysql(2)如果安装了MySQL,就先卸载rpm-...

Mysql最全笔记,快速入门,干货满满,爆肝

目录一、MySQL的重要性二、MySQL介绍三、软件的服务架构四、MySQL的安装五、SQL语句六、数据库相关(DDL)七、表相关八、DML相关(表中数据)九、DQL(重点)十、数据完...

MAC电脑安装MySQL操作步骤(mac安装mysqldb)

1、在官网下载MySQL:https://dev.mysql.com/downloads/mysql/根据自己的macOS版本,选择适配的MySQL版本根据自己需求选择相应的安装包,我这里选择macO...

mysql主从(mysql主从切换)

1、本章面试题什么是mysql主从,主从有什么好处什么是读写分离,有什么好处,使用mycat如何实现2、知识点2.1、课程回顾dubboORM->MVC->RPC->SOApro...

【linux学习】以MySQL为例,带你了解数据库

做运维的小伙伴在日常工作中难免需要接触到数据库,不管是MySQL,mariadb,达梦还是瀚高等其实命令都差不多,下面我就以MySQL为例带大家一起来了解下数据库。有兴趣的小伙伴不妨评论区一起交流下...

玩玩WordPress - 环境简介(0)(玩玩网络科技有限公司)

简介提到开源博客系统,一般都会直接想到WordPress!WordPress是使用PHP开发的,数据库使用的是MySQL,一般会在Linux上运行,Nginx作为前端。这时候就需要有一套LNMP(Li...

服务器常用端口都有哪些?(服务器端使用的端口号范围)

下面为大家介绍一下,服务器常用的一些默认端口,以及他们的作用:  21:FTP服务所开放的端口,用于上传、下载文件。  22:SSH端口,用于通过命令行模式远程连接Linux服务器或vps。  23:...

取消回复欢迎 发表评论: