Hadoop一些常用的命令以及DataNode、Yarn节点服役、退役

1、Hadoop常用命令

hadoop verion       //版本
hadoop fs       //文件系统客户端.
hadoop jar      //
hadoop classpath    //查看hadoop类路径
hadoop checknative  //检查压缩库本地安装情况

hadoop启动命令
$>start-all.sh     //start-dfs.sh + start-yarn.sh

$>start-dfs.sh 相当于后面两个 //hadoop-daemon.sh start namenode
            //hadoop-daemons.sh start datanode

$>start-yarn.sh        //yarn-daemon.sh start resourcemanager
            //yarn-daemons.sh start nodemanager

2、HDFS常用命令

hdfs常用命令
--------------------
$>hdfs dfs -mkdir /user/centos/hadoop   //创建目录
$>hdfs dfs -ls -R /user/centos/hadoop  //递归查看目录中的文件
$>hdfs dfs -lsr /user/centos/hadoop    //递归查看目录中的文件
$>hdfs dfs -put index.html /user/centos/hadoop //上传文件到HDFS中
$>hdfs dfs -get /user/centos/hadoop/index.html a.html  //下载文件到本地
$>hdfs dfs -rm -r -f /user/centos/hadoop   //递归删除目录

注意:hdfs dfs  相当于 Hadoop dfs即操作文件系统
——————————————————————————————————————————————————
对hadoop中name中的镜像文件、编辑日志文件的相关操作

使用oiv命令查询hadoop中name中的镜像文件
hdfs oiv -i fsimage -o a.xml -p XML //查看镜像文件,将其转化为xml格式查看

hdfs dfsadmin管理命令
$>hdfs dfsadmin            //查看帮助
$>hdfs dfsadmin    -help rollEdits //查看指定命令的帮助
$>hdfs dfsadmin -rollEdits //滚动编辑日志
启动hdfs时,镜像文件编辑日志会进行融合,编辑日志滚动

查看hdfs是否在安全模式,安全模式不能对日志文件等进行删除和修改
$>hdfs dfsadmin -safemode  enter       //进入
$>hdfs dfsadmin -safemode  get         //查看
$>hdfs dfsadmin -safemode  leave       //退出
$>hdfs dfsadmin -safemode  wait            //等待

保存名字空间(一般用来创建检查点),需要进入安全模式,启动完成自动进入安全模式
$>hdfs dfsamdin -saveNamespace
——————————————————————————————————————
配额管理(quota)
[目录配额]使得目录下的存储文件总数得到一定的控制
计算目录下的所有文件的总个数。如果1,表示空目录。
$>hdfs dfsadmin -setQuota 1 dir1 dir2      //设置目录配额
$>hdfs dfsadmin -clrQuota 1 dir1 dir2      //清除配额管理

[空间配额]
计算目录下的所有文件的总大小.包括副本数.
空间配置至少消耗3倍的空间大小(目录本身会占用3倍的空间)。
$>hdfs dfsadmin -setSpaceQuota 3 data
$>hdfs dfsadmin -clrSpaceQuota dir1        //清除配额管理

————————————————————————————————————————
快照管理
1.描述
迅速对文件(夹)进行备份。不产生新文件,使用差值存储。
默认是禁用快照,先启用。

2.命令
$>hdfs dfsadmin -allowSnapShot dir1    //在dir1启用快照
$>hdfs dfsadmin -disallowSnapShot dir1 //在dir1禁用快照
$>hdfs dfs -createSnapshot dir ss1 //创建快照
$>hdfs dfs -renameSnapshot dir ss1 ss2 //重命名
$>hdfs dfs -deleteSnapshot dir ss1 //删除快照

3、HDFS默认为64M,一般设置为128M
之所以设置为128M是为了提高效率,让寻址时间占用读取时间的1%,寻址时间大概为10ms左右,而磁盘的读取时间一般为100M/s,所以为了满足寻址时间占用读取时间的1%,一般设置为128M。当文件切割得太小会使得寻址大于读取时间的1%,不利于效率的提升。

HDFS不适合存储大量的小文件,因为小文件会使得namenode增大,namenode只负责datanode的归档管理,存储的是datanode块中文件的索引,每个文件大概索引字节为152个,不管大小,都一样,所以当文件过小,存储的数据少但是耗费的资源却一样,存储的性价比高。并且namenode是运行在内存中的,内存资源相对宝贵,理应让它发挥最大的效益。

配置hadoop的最小blocksize,必须是512的倍数。

[hdfs-site.xml]
dfs.namenode.fs-limits.min-block-size=1024
write,进行校验,512进行一次校验。

默认最小块是1M,当我们通过API进行设置时也要大于1M,除非手动修改hadoop的默认配置文件,即hdfs-default.xml,一般不建议这么做。

单独配置辅助名称节点

[hdfs-site.xml]
dfs.namenode.secondary.http-address=s206:50090

4、DataNode、Yarn节点服役、退役

DataNode的服役:当某个DataNode节点挂掉之后,需要有个新节点自动补上,以达到设置的节点副本数(一般设置为3个副本)。通过黑白名单以及Slaves文件来对它进行控制,Slaves文件只是在集群启动的时候,集群会通过读取Slaves文件来启动相应的DataNode,而并非直接由Slaves控制。

黑白名单的组合情况,不需要分发到其他节点上,只要存储在namenode节点上即可。

include     //dfs.hosts    白名单
exclude     //dfs.hosts.exclude 黑名单

include     exclude     Interpretation
No          No          不能连接
No          Yes         不能连接
Yes         No          可以连接
Yes         Yes         可以连接,将会退役状态。

节点的服役和退役(hdfs)

[服役]

[添加新节点]
1.在dfs.include文件中包含新节点名称,该文件在nn的本地目录。

[白名单]
[s201:/soft/hadoop/etc/dfs.include.txt]
s202
s203
s204
s205

2.在hdfs-site.xml文件中添加属性.(这个是早就配置好了的)

<property>
    <name>dfs.hosts</name>
    <value>/soft/hadoop/etc/dfs.include.txt</value>
</property>

3.在nn上刷新节点(当要添加新节点的时候,而又不能停止集群运行,只能通过黑白名单的方式来维护3个副本的存在)

$>hdfs dfsadmin -refreshNodes

4.在slaves文件中添加新节点ip(主机名)(以便后面重新启动集群的时候自动寻找新服役的节点)

s202
s203
s204
s205        //新添加的

5.单独在新节点的机器上启动新的节点中的datanode

[s205]
$>hadoop-daemon.sh start datanode

[退役]
1.添加退役节点的ip到黑名单,不要更新白名单.

[/soft/hadoop/etc/dfs.hosts.exclude.txt]
s205

2.配置hdfs-site.xml

<property>
    <name>dfs.hosts.exclude</name>
    <value>/soft/hadoop/etc/dfs.hosts.exclude.txt</value>
</property>

3.刷新nn节点

$>hdfs dfsadmin -refreshNodes

4.查看webui,节点状态在decommisstion in progress.
5.当所有的要退役的节点都报告为Decommissioned,数据转移工作已经完成。
6.从白名单删除节点,并刷新节点

[s201:/soft/hadoop/etc/dfs.include.txt]
        ...

$>hdfs dfsadmin -refreshNodes

7.从slaves文件中删除退役节点

节点的服役和退役(yarn)
[添加新节点]
1.在dfs.include文件中包含新节点名称,该文件在nn的本地目录。

[白名单]
[s201:/soft/hadoop/etc/yarn.include.txt]
s202
s203
s204
s205

2.在yarn-site.xml文件中添加属性.

<property>      <name>yarn.resourcemanager.nodes.include-path</name>
    <value>/soft/hadoop/etc/dfs.include.txt</value>
</property>

3.在nn上刷新节点

$>yarn rmadmin -refreshNodes

4.在slaves文件中添加新节点ip(主机名)

s202
s203
s204
s205        //新添加的

5.单独启动新的节点中的nodemananger

[s205]
$>yarn-daemon.sh start nodemananger

[退役]
1.添加退役节点的ip到黑名单,不要更新白名单.

[/soft/hadoop/etc/yarn.exclude.txt]
s205

2.配置yarn-site.xml

<property>
    <name>yarn.resourcemanager.nodes.exclude-path</name>
    <value>/soft/hadoop/etc/dfs.hosts.exclude.txt</value>
</property>

3.刷新rm节点

$>yarn rmadmin -refreshNodes

4.查看webui,节点状态在decommisstion in progress.

5.当所有的要退役的节点都报告为Decommissioned,数据转移工作已经完成。

6.从白名单删除节点,并刷新节点

$>yarn rmadmin -refreshNodes

7.从slaves文件中删除退役节点

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是详细的步骤: 1. 安装Hadoop软件并配置环境变量 在新节点上安装Hadoop软件,并配置好环境变量。可以参考Hadoop官方文档或相关教程。 2. 创建Hadoop用户并设置密码 在新节点上创建一个新的Hadoop用户,用于运行Hadoop服务。可以使用以下命令创建用户: ``` sudo adduser hadoop ``` 然后设置用户密码: ``` sudo passwd hadoop ``` 3. 修改Hadoop配置文件 在Hadoop集群中,需要将所有节点上的Hadoop配置文件保持一致。因此,需要将原有节点上的配置文件复制到新节点上,并修改其中的配置项。 3.1 复制配置文件 将原有节点上的Hadoop配置文件复制到新节点上,可以使用以下命令: ``` scp -r <原有节点Hadoop安装目录>/etc/hadoop/* <新节点Hadoop安装目录>/etc/hadoop/ ``` 其中,`<原有节点Hadoop安装目录>`是指原有节点上的Hadoop安装目录,`<新节点Hadoop安装目录>`是指新节点上的Hadoop安装目录。 3.2 修改配置项 修改以下配置文件中的配置项: - core-site.xml 添加以下配置项: ``` <property> <name>fs.defaultFS</name> <value>hdfs://<NameNode节点的IP地址>:<NameNode节点的RPC端口号></value> </property> ``` 其中,`<NameNode节点的IP地址>`是指Hadoop集群中的NameNode节点的IP地址,`<NameNode节点的RPC端口号>`是指Hadoop集群中的NameNode节点的RPC端口号。 - hdfs-site.xml 添加以下配置项: ``` <property> <name>dfs.datanode.data.dir</name> <value><新节点数据存储目录路径></value> <final>true</final> </property> ``` 其中,`<新节点数据存储目录路径>`是指新节点上用于存储Hadoop数据的目录路径。 - mapred-site.xml 添加以下配置项: ``` <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> ``` 4. 复制Hadoop安装包和配置文件到新节点上 将Hadoop安装包和配置文件复制到新节点上,可以使用以下命令: ``` scp -r <Hadoop安装包及配置文件所在目录> <新节点Hadoop安装目录>/ ``` 其中,`<Hadoop安装包及配置文件所在目录>`是指原有节点上的Hadoop安装包及配置文件所在目录,`<新节点Hadoop安装目录>`是指新节点上的Hadoop安装目录。 5. 启动新节点上的Datanode服务 在新节点上启动Datanode服务,可以使用以下命令: ``` sbin/hadoop-daemon.sh start datanode ``` 启动后,可以使用以下命令检查Datanode服务是否正常运行: ``` jps ``` 如果输出中包含`DataNode`,则说明Datanode服务已经成功启动。 以上就是向Hadoop集群添加新的Datanode节点的详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值