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

news2024/11/29 2:34:45

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

本机使用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/

在这里插入图片描述

二、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('/')
[]

2.创建文件夹

新建文件夹出现错误

>>> link.makedirs('/test')
Traceback (most recent call last):
  File "<stdin>", 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

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

>>> link.makedirs('/test')
>>> link.list('/')
['test']
>>>

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

>>> link.makedirs('/test')
Traceback (most recent call last):
  File "<stdin>", 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.

解决:
虚拟机端执行

hdfs dfsadmin -safemode leave

在这里插入图片描述

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

>>> link.makedirs('/test')
>>> link.list('/')
['test']
>>> link.upload('/test','C:/readme.txt')
'/test/readme.txt'
>>> link.list('/test')
['readme.txt']

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

4.写文件

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

在这里插入图片描述

5.下载文件或文件夹

>>> link.download('/test/test01.txt','D:/')
'D:\\test01.txt'
>>>

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

三、可能出现的问题

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaScript 逆向】极验四代滑块验证码逆向分析

前言 相较于三代滑块&#xff0c;四代的逻辑流程更简短&#xff0c;底图没混淆&#xff0c;某些点校验不严格 声明 本文章中所有内容仅供学习交流&#xff0c;相关链接做了脱敏处理&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 案例目标 滑动验证码&…

[NAS] QNAP/威联通 常用设置和操作

&#x1f341;简介 QNap 产品是一种可扩展的数据存储解决方案。它们包括具有 1 到 30 个驱动器托架的设备&#xff0c;并提供 HDMI、Thunderbolt 2 和 USB 3.1 等连接选项&#xff0c;以及 802.11ac/a/n Wi-Fi 和高达每秒 40 Gb 的以太网。内置软件提供基本服务&#xff0c;例如…

WeetCode2滑动窗口系列

一丶[无重复字符的最长子串](3. 无重复字符的最长子串 - 力扣&#xff08;Leetcode&#xff09;)# 思路:# 维护一个窗口&#xff0c;窗口中不存在重复的字符&#xff0c;窗口右边界从第一个字符移动到最后&#xff0c;使用一个变量记录窗口大小的最大值 那么问题就变成了&…

浅谈h264和h265的区别

相比h264&#xff0c;压缩同样的视频获得同样的质量的情况下&#xff0c;h265可以做到压缩后的大小为前者的一半&#xff0c;但压缩时间复杂度增加。h264编码单元为宏块(MB)&#xff0c;最大划分为16x16&#xff0c;而h265编码单元为编码树单元(CTU)&#xff0c;最大划分为64x6…

C++ 不知算法系列之深入动态规划算法思想

1. 前言 前面写过一篇博文&#xff0c;介绍了什么是动态规划算法。动态规划算法的最大特点&#xff0c;原始问题可以通过分解成规模更小的子问题来解决&#xff0c;子问题之间互成依赖关系&#xff0c;先计算出来的子问题的结果会影响到后续子问题的结果。 有点类似于武侠片中…

Python——变量以及基础数据类型练习题

要求&#xff1a;注意变量名的命名规范问题&#xff01;&#xff01;&#xff01;不能再出现没有意义的变量名&#xff01;&#xff01;&#xff01;一行一注释&#xff0c;用下划线命名法。 请使用相对应的数据类型&#xff0c;不能全部使用字符串&#xff01;&#xff01;&a…

HotSpot VM垃圾收集器——Serial Parallel CMS G1垃圾收集器的JVM参数、使用说明、GC分析

目录HotspotVM的垃圾收集器简介1. Serial Collector2. Parallel Collector&#xff08;throughput collector&#xff09;3. Concurrent Mark Sweep Collector&#xff08;CMS&#xff09;4. Garbage-First Garbage Collector&#xff08;G1&#xff09;5. Z Garbage Collector…

STM32实战总结:HAL之GUI

在TFT上简单的显示字符、数字、汉字、图形、图片等&#xff0c;都是一些简单的显示。如果想要进行较为复杂的显示&#xff0c;就推荐使用GUI。 市面上常见的嵌入式GUI有LVGL&#xff0c;emWin&#xff08;ucGUI&#xff09;&#xff0c;TouchGFX&#xff0c;Embedded GUI、QT f…

[附源码]计算机毕业设计springboot基于vuejs的爱宠用品销售app

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

ES系列二之常见问题解决

一 更新ES信息报错 报错信息如下&#xff1a;Use ElasticsearchException.getFailedDocuments() for detailed messages [{yjZ8D0oBElasticsearchException[Elasticsearch exception [typecluster_block_exception, reasonindex [au_report] blocked by: [FORBIDDEN/12/index …

c++ vector的模拟实现以及迭代器失效问题

目录 1.vector的模拟实现 2.迭代器失效问题 3.总结 1.vector的模拟实现 这里&#xff0c;我们使用三个指针来控制vector。 用_start指向头&#xff0c;_finish指向最后一个元素的尾巴&#xff0c;_end指向最大容量。 #include<iostream> #include<cassert>usin…

Spring Cloud Netfix Hystrix(断路器)

一、灾难性雪崩 造成灾难性雪崩效应的原因&#xff0c;可以简单归结为下述三种&#xff1a; 服务提供者&#xff08;Application Service&#xff09;不可用。如&#xff1a;硬件故障、程序BUG、缓存击穿、并发请求量过大等。 重试加大流量。如&#xff1a;用户重试、代码重试…

手记:把代码上传到Gitee等远程仓库的过程记录及常见问题

很久没用git了&#xff0c;指令都有点生疏了&#xff0c;今天上传了一些代码到码云上&#xff0c;先把过程记录下来供使用git的朋友参考。没有用图形化界面&#xff0c;因为只有熟悉指令才能真正的理解领会。 步骤一&#xff1a; 1、安装git&#xff1b;安装后可以使用指令git…

打造一个投资组合管理的金融强化学习环境

原创文章第120篇&#xff0c;专注“个人成长与财富自由、世界运作的逻辑&#xff0c; AI量化投资”。 今天继续金融强化学习环境。 网上的金融学习环境不少&#xff0c;但都太过于“业余”&#xff0c;或者离像样的投资还差得太远。我一直觉得投资组合应该是必要的&#xff0…

怎么恢复已删除的全部数据,不小心删除的数据怎么恢复,删除的文件还能找回吗

怎么恢复已删除的全部数据&#xff1f;一般来讲&#xff0c;当文件被删除后&#xff0c;都会暂时被放置在回收站的位置&#xff0c;如果我们想找回相应的丢失数据&#xff0c;具体该如何操作呢&#xff1f; 一、当回收站没有被清空 这是最简单的一种恢复误删数据的方法&#…

前端入门--JavaScript篇

JavaScript基础 文章目录JavaScript基础JavaScript是什么JavaScript的使用方式JavaScript的运行过程JS的语法三种语言的注释输入输出JS中的变量JS中基本的数据类型number类型string字符串undefined类型null类型运算符数组数组的创建数组的使用数组新增元素函数对象之前学过了HT…

缓存的设计

文章目录1. 缓存的更新机制1.1 被动更新1.2 主动更新1.2.1 Cache Aside Pattern &#xff08;更新数据库&#xff0c;再删除缓存&#xff09;1.2.2 更新数据库&#xff0c;更新缓存1.2.3 先删除缓存&#xff0c;在更新数据库1.3 Read/Write Through Pattern1.4 Write Behind Ca…

【Linux】权限管理

文章目录一、shell 命令以及运行原理二、Linux的用户权限1、权限概念引入2、用户分类3、用户切换4、用户提权三、Linux 权限管理1、文件访问者的角色划分2、文件类型和访问权限a、文件类型(后缀理解 file 指令讲解)b、文件访问权限四、文件访问权限的更改1、chmod 指令(对拥有…

STM32CubeMX串口通讯

串口的简单介绍 RS-232与TTL 根据通讯使用的电平标准不同&#xff0c;串口通讯可分为 TTL 标准及 RS-232 标准。而STM32的串口是TTL电平标准的。如果需要使用到RS-232则需要一个电平转换芯片。 单工通信、半双工通信和全双工通信 讲到串口&#xff0c;我们还需要具备这些基…

嵌入式分享合集113

一、 模拟输入信号的保护电路问题 四种模拟输入信号的保护电路的实现方法。 近由于工作的需要&#xff0c;涉及到了模拟输入信号的保护电路问题。结合以往的工作实践以及网络文献资料的查找。现在就保护电路作一简单的说明。 电源钳位保护 上述电路存在可靠性的问题。如果输…