39.[问答题]是否可以自行搭建Hadoop集群?请自行设计一个hadoop集群,并简述基本搭建流程。
[答案]是的
设计集群可以做如下设计:3台(hadoop默认的副本数是3)
hadoop01: namenode、datanode、nodemanager 、historyserve
hadoop02 : resourcemanager、datanode、nodemanager
hadoop03: secondarynamenode、datanode、 nodemanager
基本搭建流程:
1)修改静态ip、修改主机名
2)安装JDK并配置环境变量(/etc/profile)
3) 关闭防火墙
4) 配置hosts文件,方便hadoop通过主机名访问(/etc/hosts)
5) 设置ssh免密码登录
6) 解压缩hadoop安装包,并配置环境变量
7) 修改配置文件、设置java jdk路径和相关的节点配置($HADOOP_HOME/etc/hadoop)
8) 第一次启动需要格式化hdfs文件系统 (hadoop namenode -format)
9)启动hadoop集群,可单点启动,可群起 ( $HADOOP_HOME/sbin/start-dfs.sh $HADOOP_HOME/sbin/start-yarn.sh)
10) 使用jps查看节点进程
40.[问答题]如何重启Namenode?如果一个namenode或者datanode使用命令无法停止,怎么办?
[解析] 方式一:输入stop-dfs.sh,再输入start-dfs.sh
方式二:输入hadoop-demains.sh stop namename ,再输入hadoop-demains.sh start namename
如果采用命令的方式无法停止NameNode或者DataNode,则可以使用kill -9 + 进程id强制杀死进程后再重新启动
41.[问答题]HDFS默认的Block块大小是多少?为什么块的大小不能设置太小,也不能设置太大?
[答案] (1)默认的块大小是128M(2)因为HDFS的块设置太小,会增加寻址时间,程序一直在找块的开始位置;如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。其实HDFS块的大小设置主要取决于磁盘传输速率。
42.[问答题]谈谈你对hdfs的理解?
[答案]HDFS(Hadoop Distributed File System),它是一个分布式文件系统,用于存储文件,通过目录树来定位文件;适合一次写入,多次读出的场景,且不支持文件的修改;具有高容错性,