在 CentOS 上“扩容 HDFS”通常包含两种场景:
下面分别说明。
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 配置主机名
hostnamectl set-hostname dn-new
# 配置 /etc/hosts
192.168.1.10 nn
192.168.1.11 dn1
192.168.1.12 dn-new
useradd hadoop
passwd hadoop
# 从 NameNode 拷贝公钥
ssh-copy-id hadoop@dn-new
yum install java-1.8.0-openjdk -y
从 NameNode 拷贝 Hadoop 安装目录:
scp -r /opt/hadoop dn-new:/opt/
在 NameNode 的 workers(或 slaves)文件中添加:
dn-new
/opt/hadoop/sbin/hadoop-daemon.sh start datanode
hdfs dfsadmin -report
看到新节点即扩容成功。
fdisk -l
mkfs.ext4 /dev/sdb
mkdir /data2
mount /dev/sdb /data2
<property>
<name>dfs.datanode.data.dir</name>
<value>/data1/dfs,/data2/dfs</value>
</property>
hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode
新增节点后建议做数据均衡:
hdfs balancer
# 或限制带宽
hdfs dfsadmin -setBalancerBandwidth 104857600
dfs.datanode.data.dir如果你能告诉我:
我可以给你更精确的步骤。