在 CentOS 上“集成 HDFS”通常指 把 CentOS 作为 HDFS 客户端或集群节点,接入已有 HDFS 集群,或自建 HDFS 集群。下面按常见场景分步说明。
适用:在 CentOS 上用
hdfs dfs命令、Java/Scala/Python 访问 HDFS
yum install -y java-1.8.0-openjdk-devel
java -version
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
ln -s /opt/hadoop-3.3.6 /opt/hadoop
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
编辑:
vi $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode-host:9000</value>
</property>
</configuration>
hdfs dfs -ls /
hdfs dfs -mkdir /test
hdfs dfs -put file.txt /test
适用:把 CentOS 机器作为 DataNode / NameNode
hostnamectl set-hostname datanode1
vi /etc/hosts
10.0.0.10 namenode
10.0.0.11 datanode1
ssh-keygen
ssh-copy-id namenode
vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hdfs/dn</value>
</property>
hdfs --daemon start datanode
hdfs namenode -format
start-dfs.sh
jps
# NameNode / DataNode / SecondaryNameNode
浏览器访问:
http://localhost:9870
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --reload
export HADOOP_USER_NAME=hdfs
yum install -y ntp
systemctl enable ntpd
| 场景 | 做法 |
|---|---|
| 只用命令访问 | 装 Hadoop 客户端 |
| 加入集群 | 配 core/hdfs-site |
| 自建 HDFS | format + start-dfs |
如果你能说明:
我可以给你 更精确的配置示例。