码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 本机使用python操作hdfs搭建及常见问题


    一、虚拟机安装CentOS7并配置共享文件夹
    二、CentOS 7 上hadoop伪分布式搭建全流程完整教程
    三、本机使用python操作hdfs搭建及常见问题
    四、mapreduce搭建
    五、mapper-reducer编程搭建
    六、hive数据仓库安装

    本机使用python操作hdfs搭建及常见问题

      • 一、环境搭建
        • 1.打开虚拟机系统,打开hadoop
        • 2.修改本机hosts文件
        • 3.进行ping测试连通
        • 4.安装hdfs
      • 二、python操作hdfs
        • 1.建立连接
        • 2.创建文件夹
        • 3.上传文件(需保证jps服务中datanode namenode均打开)
        • 4.写文件
        • 5.下载文件或文件夹
      • 三、可能出现的问题

    一、环境搭建

    1.打开虚拟机系统,打开hadoop

    确保网页可以打开
    在这里插入图片描述

    2.修改本机hosts文件

    ifconfig查看当前ip,
    在这里插入图片描述
    打开C:\Windows\System32\drivers\etc\,编辑hosts文件 ,在末尾添加192.168.137.134 hadoop4
    在这里插入图片描述
    若不可以编辑
    右键属性->安全->选择Users那个->编辑->勾选修改 即可

    3.进行ping测试连通

    打开我的电脑打开任意文件夹->左上角文件->打开Windows powershell->
    进行ping测试
    在这里插入图片描述

    4.安装hdfs

    wIn+r 输入cmd进入执行(在任意python或conda环境安装皆可)

    pip install hdfs -i https://pypi.douban.com/simple/
    
    • 1

    在这里插入图片描述

    二、python操作hdfs

    1.建立连接

    PS D:\software\Bandicam\video> python
    Python 3.9.7 (default, Sep 16 2021, 16:59:28) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
    
    Warning:
    This Python interpreter is in a conda environment, but the environment has
    not been activated.  Libraries may fail to load.  To activate this environment
    please see https://conda.io/activation
    
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from hdfs.client import Client
    >>> link=Client('http://hadoop4:50070')
    >>> link.list('/')
    []
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.创建文件夹

    新建文件夹出现错误

    >>> link.makedirs('/test')
    Traceback (most recent call last):
      File "", line 1, in <module>
      File "D:\Anaconda3\install_position\lib\site-packages\hdfs\client.py", line 1036, in makedirs
        self._mkdirs(hdfs_path, permission=permission)
      File "D:\Anaconda3\install_position\lib\site-packages\hdfs\client.py", line 118, in api_handler
        raise err
    hdfs.util.HdfsError: Permission denied: user=dr.who, access=WRITE, inode="/":huangqifa:supergroup:drwxr-xr-x
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    解决:
    虚拟机端执行hadoop fs -chmod -R 777 /
    在这里插入图片描述

    >>> link.makedirs('/test')
    >>> link.list('/')
    ['test']
    >>>
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    创建文件夹出现安全模式问题:

    >>> link.makedirs('/test')
    Traceback (most recent call last):
      File "", line 1, in <module>
      File "D:\Anaconda3\install_position\lib\site-packages\hdfs\client.py", line 1036, in makedirs
        self._mkdirs(hdfs_path, permission=permission)
      File "D:\Anaconda3\install_position\lib\site-packages\hdfs\client.py", line 118, in api_handler
        raise err
    hdfs.util.HdfsError: Cannot create directory /test. Name node is in safe mode.
    Resources are low on NN. Please add or free up more resources then turn off safe mode manually. NOTE:  If you turn off safe mode before adding resources, the NN will immediately return to safe mode. Use "hdfs dfsadmin -safemode leave" to turn safe mode off.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    解决:
    虚拟机端执行

    hdfs dfsadmin -safemode leave
    
    • 1

    在这里插入图片描述

    3.上传文件(需保证jps服务中datanode namenode均打开)

    >>> link.makedirs('/test')
    >>> link.list('/')
    ['test']
    >>> link.upload('/test','C:/readme.txt')
    '/test/readme.txt'
    >>> link.list('/test')
    ['readme.txt']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    在这里插入图片描述

    4.写文件

    >>> link.write('/test/test01.txt',"hello world")
    >>> link.list('/test')
    ['readme.txt', 'test01.txt']
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    5.下载文件或文件夹

    >>> link.download('/test/test01.txt','D:/')
    'D:\\test01.txt'
    >>>
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述

    三、可能出现的问题

    问题描述:物理机ping不到虚拟机ip或物理机192.168…hadoop网页打不开
    重置虚拟机网络中NAT那个
    解决:
    虚拟机软件->左上角编辑->虚拟机网络编辑器
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    shiro认证(ssm)
    [GAN]老照片修复Bringing Old Photos Back to Life论文总结
    数据结构之单链表基本操作
    无人值守变电站运维技术模式及应用-安科瑞黄安南
    OpenCV系列文章目录(持续更新中......)
    [附源码]Python计算机毕业设计 楼盘销售管理系统
    在CentOS7中忘记MySQL密码并进行修改
    Java中迭代器 Iterator的使用
    Spring AOP:面向切面编程在实际项目中的应用
    vulnhub靶场渗透实战12-driftingblues2
  • 原文地址:https://blog.csdn.net/qq_52584391/article/details/128116546
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号