本机使用python操作hdfs搭建及常见问题
创始人
2024-03-04 06:15:59
0

一.虚拟机安装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 win32Warning:
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/activationType "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 "", line 1, in File "D:\Anaconda3\install_position\lib\site-packages\hdfs\client.py", line 1036, in makedirsself._mkdirs(hdfs_path, permission=permission)File "D:\Anaconda3\install_position\lib\site-packages\hdfs\client.py", line 118, in api_handlerraise 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 "", line 1, in File "D:\Anaconda3\install_position\lib\site-packages\hdfs\client.py", line 1036, in makedirsself._mkdirs(hdfs_path, permission=permission)File "D:\Anaconda3\install_position\lib\site-packages\hdfs\client.py", line 118, in api_handlerraise 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那个
解决:
虚拟机软件->左上角编辑->虚拟机网络编辑器
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...