在 CentOS 上连接 HDFS,通常有几种方式,取决于你是 作为客户端访问 HDFS,还是 在 CentOS 上部署 Hadoop 集群。下面按常见场景说明。
确保 CentOS 已安装:
java -version
若未安装:
yum install -y java-1.8.0-openjdk
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz -C /opt
core-site.xml编辑:
vi /opt/hadoop-3.3.6/etc/hadoop/core-site.xml
示例(连接 NameNode):
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode-host:9000</value>
</property>
</configuration>
替换
namenode-host和端口(默认 9000 或 8020)
export HADOOP_HOME=/opt/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin
测试连接:
hdfs dfs -ls /
上传文件:
hdfs dfs -put localfile.txt /user/test/
下载文件:
hdfs dfs -get /user/test/file.txt ./
如果 HDFS 开启了 WebHDFS:
curl "http://namenode-host:9870/webhdfs/v1/?op=LISTSTATUS"
pip install hdfs
from hdfs import InsecureClient
client = InsecureClient('http://namenode-host:9870', user='hadoop')
print(client.list('/'))
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --reload
/etc/hosts192.168.1.10 namenode-host
hdfs dfs -put file.txt /user/hadoop/
如果你能补充说明:
我可以给你更精确的步骤。