Я использую следующий код Python для загрузки файла на удаленный HDFS из моей локальной системы с помощью pyhdfs
from pyhdfs import HdfsClient
client = HdfsClient(hosts='1.1.1.1',user_name='root')
client.mkdirs('/jarvis')
client.copy_from_local('/my/local/file,'/hdfs/path')
Используя python3.5 /. Hadoop работает с портом по умолчанию: 50070 1.1.1.1 - мой удаленный URL-адрес Hadoop
Создание каталога "jarvis" работает нормально, но копирование файла не работает. Я получаю следующую ошибку
Отслеживание (последний вызов последним):
Файл "test_hdfs_upload.py", строка 14, в client.copy_from_local ('/ tmp / data.json', '/ test.json')
Файл "/ Библиотека / Frameworks / Python.framework / Versions / 3.6 / lib / python3.6 / site-packages / pyhdfs.py ", строка 753, в copy_from_local self.create (dest, f, ** kwargs)
Файл" / Library / Frameworks / Python.framework / Versions / 3.6 / lib / python3.6 / site-packages / pyhdfs.py ", строка 426, в create metadata_response.headers ['location'], data = data, ** self._requests_kwargs) < br> File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/api.py", строка 99, запрос возврата ('put', url, data = data, ** kwargs)
Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/api.py", строка 44, в запросе возврата session.request (method = method, url = url, ** kwargs)
Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/session s.py ", строка 383, в запросе resp = self.send (prepare, ** send_kwargs)
Файл" /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/ request / sessions.py ", строка 486, в send r = adapter.send (request, ** kwargs)
File" /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site- packages / requests / adapters.py ", строка 378, при отправке вызывает ошибку ConnectionError (e) requests.exceptions.ConnectionError: HTTPConnectionPool (host = 'ip-1-1-1-1', port = 50075): Превышено максимальное количество повторных попыток с url: /webhdfs/v1/test.json?op=CREATE&user.name=root&namenoderpcaddress=ip-1-1-1-1:9000&overwrite=false (Причина: [Errno 8] имя узла или имя сервера указаны или неизвестны)