This will vary greatly depending on the host and disk layout
Considerations:
- We mount hadoop data disks at /hadoopfs/fs1, fs2, ...
- We
chattr +i
any mount dirs, before mounting, such that / won't fill in the case of a mount failing.
- We
- When there is not a dedicated Hadoop disk, we create /var/lib/hadoop and symlink it to /hadoop.
- To make sure nothing ends up on / we symlink /hadoop
If there are no disks dedicated to Hadoop, then use /var
sudo mkdir /var/lib/hadoop
sudo ln -s /var/lib/hadoop /hadoop
sudo mkdir /hadoopfs
sudo ln -s /var/lib/hadoop /hadoopfs/fs1
With disk(s) dedicated to Hadoop
## Hadoop disk is /dev/nvme1n1
disk=/dev/nvme1n1
####
## create file system and mount
mkfs_opts="-s size=$(sudo blockdev --getbsz ${disk})"
sudo mkfs.xfs ${mkfs_opts} ${disk} -f
sudo mkdir -p /hadoopfs/fs1
sudo chmod 0000 /hadoopfs/fs1
sudo chattr +i /hadoopfs/fs1
echo "${disk} /hadoopfs/fs1 xfs defaults,noatime 0 0" | sudo tee -a /etc/fstab >/dev/null
sudo mount /hadoopfs/fs1
####
## Repeat for additional disks, at /hadoopfs/fs2, fs3, ...
## Symlinks to catch anything that might slip through
sudo ln -s /hadoopfs/fs1 /hadoop
sudo ln -s /hadoopfs/fs1 /var/lib/hadoop