我们有上传配置文件到HDFS的代码:
from hdfs import InsecureClient
def upload_file_to_hdfs(local_path, remote_path):
client = InsecureClient(url='http://hdfs_server:50070', user='dr.who')
try:
ret = client.upload(remote_path, local_path)
except Exception as e:
logging.info(f'Error: {e}')
print(f'File is uploaded: {local_path} -> {remote_path}')
return ret
现在域名和端口都固定了,如果有节点被切换怎么办?
1条答案
按热度按时间owfi6suc1#
理想情况下,您使用pyarrow / snakebite / libhdfs,我认为它提供了非WebHDFS/HTTP函数来编写文件。
但是,您应该设置Namenode HA并使用nameservice或DNS主机名来查找当前可用的namenode。显然,如果更改每个namenode,则需要编辑代码...在替换namenode时,您还会遇到其他HDFS停机时间
您还可以使用环境变量或配置文件从函数本身外部化字符串