20230604_Hadoop命令操作练习

20230604_Hadoop命令操作示例

  1. 再HDFS中创建文件夹:/itcast/it heima,如存在请删除(跳过回收站)。

    hdfs dfs -mkdir -p /itcast/itheima
    
  2. 上传/etc/hosts文件到hdfs的/itcast/itheima内。

    hadoop fs -put /etc/hosts /itcast/itheima
    
  3. 查看HDFS中刚刚上传的文件内容。

    hdfs dfs -ls /itcast/itheima
    hdfs dfs -cat /itcast/itheima/hosts 
    
  4. 向HDFS中上传的文件追加:itheima到最后一行。

     hdfs dfs -appendToFile abc.txt /itcast/itheima/hosts
    
  5. 下载hdfs中上传的文件到本地任意目录。

    hadoop fs -get /itcast/itheima/hosts /data/
    
  6. 再hdfs中创建文件夹:/itcast/bigdata,将/itcast/itheima/hosts文件复制到/itcast/bigdata内。

    hdfs dfs -mkdir -p /itcast/bigdata/
    hdfs dfs -cp /itcast/itheima/hosts /itcast/bigdata/
    
  7. 将/itcast/itheima/hosts文件重命名为/itcast/itheima/myhost.

    hdfs dfs -ls /itcast/itheima/rename
    
  8. 删除/itcast文件夹。

    hdfs dfs rm -r /itcast
    # 跳过回收站
    hdfs dfs -rm -r -skipTrash /itcast/itheima/rename
    
    
番外:练习的时候遇见一个问题以及解决过程中的记录
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:8020</value>
 </property>
 """
 key:fs.defaultFS
 含义:HDFS文件系统的网络通讯路径
 值:hdfs://node1:8020
 - 协议为hdfs://
 - namenode为node1
 - namenode通讯端口为8020
 """
 # 注意:defultFS一定不要写成defultfs,大小写会影响系统读取文件内容。

解决思路:查看 vim /export/server/hadoop/logs/ hadoop-hadoop-datanode-node3.log

以下是一些错误的报警已经解决思路,感谢chatgpt:

WARN org.apache.hadoop.security.authentication.server.AuthenticationFilter: Unable to initialize FileSignerSecretProvider, falling back to use random secrets. Reason: Could not read signature secret file: /home/hadoop/hadoop-http-auth-signature-secret

'''
这个错误意味着Hadoop无法读取签名密钥文件,因此无法初始化FileSignerSecretProvider。出现这个错误的原因可能是文件不存在、权限不足或格式不正确。
解决此问题的步骤如下:
检查文件路径是否正确,确保文件存在于指定路径中
检查文件权限,确保Hadoop用户对该文件具有读取权限
检查文件格式,确保文件包含正确格式的秘密内容
如果您已经尝试了上述步骤,但仍无法解决该问题,则可以考虑执行“hadoop fs -put”命令将签名密钥文件上传到Hadoop文件系统中,并在hadoop-site.xml文件中指定密钥文件的路径。此外,您还可以考虑使用随机密钥代替签名密钥,以避免此错误。
'''

WARN org.apache.hadoop.hdfs.server.datanode.web.DatanodeHttpServer: Got null for restCsrfPreventionFilter - will not do any filtering.

'''
这个警告信息意味着HDFS数据节点的Web UI没有启用CSRF防护过滤器。CSRF防护过滤器用于保护Web应用程序免受跨站请求攻击,如果没有启用,则可能存在安全风险。
要解决此问题,您可以在hdfs-site.xml中启用restCsrfPreventionFilter,如下所示:

<property>
  <name>dfs.datanode.http.filter.initializers</name>
  <value>org.apache.hadoop.hdfs.server.datanode.web.RestCsrfPreventionFilterInitializer</value>
</property>
如果您已经在hdfs-site.xml中启用了restCsrfPreventionFilter,但仍然收到这个警告信息,则可能是由于环境问题或版本问题导致的。您可以尝试更新Hadoop版本或检查操作系统环境是否正常。
'''

WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Unable to get NameNode addresses.

'''
这个警告信息意味着HDFS数据节点无法获取NameNode的地址。这可能是由于网络或配置问题导致的。
要解决此问题,您可以执行以下步骤:
检查网络连接:确保HDFS数据节点和NameNode之间的网络连接正常。您可以使用ping命令测试网络是否正常。
检查配置文件:检查hdfs-site.xml文件中是否指定了正确的NameNode地址。您可以尝试手动指定NameNode地址,然后重新启动HDFS数据节点。
检查NameNode状态:确保NameNode正在运行,您可以使用jps命令检查NameNode的状态。
如果您已经执行了上述步骤,但仍然无法解决该问题,则可能需要进一步检查Hadoop集群的配置和网络设置。
'''

WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Unable to get NameNode addresses. java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address.[] or dfs.namenode.rpc-address.[] is not configured.

'''
这个警告信息意味着HDFS数据节点无法获取NameNode的地址,因为在hdfs-site.xml配置文件中没有正确配置dfs.namenode.servicerpc-address和dfs.namenode.rpc-address属性。
要解决此问题,您可以在hdfs-site.xml中指定正确的NameNode地址。请确保以下属性已在hdfs-site.xml中正确配置:

<property>
  <name>dfs.namenode.servicerpc-address</name>
  <value>namenode_hostname:8022</value>
  <description>The address of the NameNode's service RPC server</description>
</property>

<property>
  <name>dfs.namenode.rpc-address</name>
  <value>namenode_hostname:8020</value>
  <description>The address of the NameNode's RPC server</description>
</property>
在上面的示例中,“namenode_hostname”应替换为您的NameNode主机名或IP地址。

如果您已经在hdfs-site.xml中指定了正确的dfs.namenode.servicerpc-address和dfs.namenode.rpc-address属性,但仍然收到这个警告信息,则可能是由于其他配置问题或网络问题导致的,您可以检查配置文件并确保网络连接正常。
'''

ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain

'''
这个错误信息意味着HDFS数据节点无法在安全模式下启动。这可能是由于许多问题导致的,如缺少关键库文件、文件权限不正确或配置问题。
要解决此问题,您可以执行以下步骤:
检查关键库文件:请确保Hadoop集群中的关键库文件(如ssl-server.xml、ssl-client.xml和ssl-server.xml的密钥库和信任库)已正确配置。
检查文件权限:请确保所有Hadoop集群中的文件权限正确。您可以使用chmod命令更改文件权限,以确保所有的文件对Hadoop用户和组可读可写。
检查配置问题:请确保所有Hadoop配置文件(如core-site.xml、hdfs-site.xml和yarn-site.xml)已正确配置,并且所有关键属性已设置为正确的值。您可以手动检查配置文件,或者使用Ambari、Cloudera Manager等集群管理工具来检查配置是否正常。
检查日志:如果上述步骤都没有解决该问题,则可以检查Hadoop日志文件,以查找更详细的错误信息。有时,您可以通过检查日志文件来确定问题所在。
如果您已经执行了上述步骤,但仍然无法解决该问题,则可能需要进一步检查Hadoop集群的配置和环境设置。
'''
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虎啸君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值