| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Hadoop 集群安装的敲黑板重点 -> 正文阅读 |
|
[大数据]Hadoop 集群安装的敲黑板重点 |
目录 ? ? ? 1.在启动集群的过程中,发现某些进程无法启动,或者是进程运行一段时间后挂掉,我们可以从哪些方面入手? ?(2)如果日志文件不报错情况下 ?证明集群没有问题 那需要尝试重新启动进程 ? ? ? ? ?(1)在集群安装的时候成功的格式化只能有一次。 一.了解Hadoop的角色? ? ? ? 二.5种安装模式? ? ? ? ?CSDN有很多博客写了每种模式的安装步骤,这里就不再赘述了,这里主要讲下各种模式的区别和联系,并且在生产中一般是怎么选择。
三.安装的配置文件关键点? ? ? ? 很多博客都有详细的完全分布式和高可用的安装步骤,我这里不再赘述,我这边着重讲一下关键的配置信息。(这里待补充) ? ? ? ? 1.core-site.xml? 公共的配置文件 ? ? ? ? 2.hdfs-site.xml? ? ? ? ? 3.yarn-site.xml 详细的配置可以上官网看:https://hadoop.apache.org/docs/stable/ ???????? ? ????????点开相应的default文件的话,每一个属性配置都有详细的解释,以及有默认值的也会带上默认值,如果要修改默认值的话,只要在相应的site文件进行修改。 ? ? ? ?Hadoop在加载配置文件的时候,一般会先加载default文件,再加载site文件。比如默认块存储大小在hdfs-default.xml等于134217728bytes=128M(134217728/1024/1024) ? ?如果你想改变这个块的大小,可以在hdfs-site.xml修改: <property> 四.安装过程的问题:? ? ? ? 1.在启动集群的过程中,发现某些进程无法启动,或者是进程运行一段时间后挂掉,我们可以从哪些方面入手?(1)查看日志。????????因为底层是由Java实现,所以报错格式和方法定位跟Java的一样,从日志定位问题,解决问题。这里要知道Hadoop的log日志的安装目录,以及log的名称因为底层是由Java实现,所以报错格式和方法定位跟Java的一样,从日志定位问题,解决问题。这里要知道Hadoop的log日志的安装目录,以及log的名称 ????????一般Hadoop的日志是放在$HADOOP_HOME/logs 下,或者在启动的时候,也会写日志在哪个目录下。 日志名称构成: ?一个例子:日志报错:启动yarn失败,因为zookeeper没有启动,所以失败了 ?(2)如果日志文件不报错情况下 ?证明集群没有问题 那需要尝试重新启动进程? ? ? ? 第一种:停掉所有进程,全部重启,这是暴力解法,不建议 ? ? ? ? 第二种:单独启动没有启动的进程(hadoop shell 命令可以到sbin目录下看) ? ? ? ? ? ? ? ? hdfs: ????????????????????????hadoop-daemon.sh ? 单独启动 ?某一个节点上的某一个hdfs进程的 ? ? ? ? ? ? ? ? yarn: ?????????????????????????yarn-daemon.sh ? 单独启动 ?yarn的相关进程的 ??????????????????????????yarn-daemons.sh ? 启动多个节点上的某一个yarn进程 ? ? ? ? ? ? ? ? 在命令后面直接加 start/stop/restart 加进程名称:如 ????????????????????????hadoop-daemon.sh start namenode ? ? ? ? ? ? ? ? 比如解决zookeeper问题后,我单独重启yarn进程, ? ? ? ? ?2.格式化问题? ? ? ? ?(1)在集群安装的时候成功的格式化只能有一次。????????????????重复格式化,会导致进程无法正常启动: ????????????????导致的原因为namenode下的clusterID与datanode的clusterID不一致,因为?datanode和namenode相互通信的根基就是他们的clusterID是一样的,程序才会认为是同一个集群,才能正常启动。 ? ? ? ? ?(2)不能重复格式化的原因具体分析 。????????????????集群安装过程中,在namenode的数据存储目录下会生成一个version 文件夹,(一般在hdfs-site.xml指定),一般有一个current文件夹和in_use.lock锁文件,其中在current文件下有两个重要信息: a.放着存储的是namenode的数据信息,描述datanode上的数据,像这种描述数据的数称为:元数据,一般是描述哪个文件块放在哪个datanode上。(这个后面章节会具体讲) b.version存放集群信息(包括上述的clusterID):
? ? ? ? ?(3)如果不小心重复格式化了应该怎么办?? ? ? ? ? ? ? ? 如果真的遇到这个问题,那可以将所有的节点的 datanode的数据和namenode的数据全部删除 ?在重新格式化,但在生产中要谨慎使用 ,容易造成数据丢失。 ? ? ? ? ? ? ? ? 有的伙伴会问,那我把datanode的clusterID改成namenode的clusterID,可以不?暂时的处理是可以的,但不建议,因为随意改clusterID可能会造成集群其他问题。 ? ? ? ? ? ? ? ? 这个也提醒我们,任何一个系统或者数据库格式化都是一件非常严肃的事情,一定要认真对待,尤其是生产环境。 ? ? ? 3.时间同步问题:在集群中,datanode和namenode之间需要通信的 ,所以多台机器的时间要保持同步,不同步的话,可能会导致集群无法正常运行,例如zookeepeer的正常启动就需要时间保持一致。 ????????实现: ????????4.配置过程中的环境变量????????实际生成中,并不是所有用户都有权限对/etc/profile进行修改,所以以下的环境变量区别可以了解下,如果无权对/etc/profile进行修改,可以在自己用户下进行环境变量配置,改完之后,记得source一下。
五.启动步骤第一:启动zookeeper
第二:启动HDFS总: 单个: 第三:启动YARN总: 单个: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 9:13:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |