Skip to content

Instantly share code, notes, and snippets.

@dusenberrymw
Last active January 5, 2017 22:47
Show Gist options
  • Save dusenberrymw/3b0122e7106db835fc37849cb3414eb0 to your computer and use it in GitHub Desktop.
Save dusenberrymw/3b0122e7106db835fc37849cb3414eb0 to your computer and use it in GitHub Desktop.
Setup new hard drives for HDFS.
# sign in as root: `sudo -i -u root`
# use `df` to see disk usage
# use `lsblk` to see raw disks
parted -s /dev/sdb mklabel gpt;parted -s /dev/sdc mklabel gpt;parted -s /dev/sdd mklabel gpt;parted -s /dev/sde mklabel gpt;parted -s /dev/sdf mklabel gpt;parted -s /dev/sdg mklabel gpt;parted -s /dev/sdh mklabel gpt;parted -s /dev/sdi mklabel gpt;parted -s /dev/sdj mklabel gpt;parted -s /dev/sdk mklabel gpt;parted -s /dev/sdl mklabel gpt;parted -s /dev/sdm mklabel gpt
parted -s /dev/sdb mkpart primary 1 -- -1;parted -s /dev/sdc mkpart primary 1 -- -1;parted -s /dev/sdd mkpart primary 1 -- -1;parted -s /dev/sde mkpart primary 1 -- -1;parted -s /dev/sdf mkpart primary 1 -- -1;parted -s /dev/sdg mkpart primary 1 -- -1;parted -s /dev/sdh mkpart primary 1 -- -1;parted -s /dev/sdi mkpart primary 1 -- -1;parted -s /dev/sdj mkpart primary 1 -- -1;parted -s /dev/sdk mkpart primary 1 -- -1;parted -s /dev/sdl mkpart primary 1 -- -1;parted -s /dev/sdm mkpart primary 1 -- -1
mkdir /disk1;mkdir /disk2;mkdir /disk3;mkdir /disk4;mkdir /disk5;mkdir /disk6;mkdir /disk7;mkdir /disk8;mkdir /disk9;mkdir /disk10;mkdir /disk11;mkdir /disk12
mkfs.ext4 -L /disk1 /dev/sdb1;mkfs.ext4 -L /disk2 /dev/sdc1;mkfs.ext4 -L /disk3 /dev/sdd1;mkfs.ext4 -L /disk4 /dev/sde1;mkfs.ext4 -L /disk5 /dev/sdf1;mkfs.ext4 -L /disk6 /dev/sdg1;mkfs.ext4 -L /disk7 /dev/sdh1;mkfs.ext4 -L /disk8 /dev/sdi1;mkfs.ext4 -L /disk9 /dev/sdj1;mkfs.ext4 -L /disk10 /dev/sdk1;mkfs.ext4 -L /disk11 /dev/sdl1;mkfs.ext4 -L /disk12 /dev/sdm1
# use `sudo blkid` to see UUIDs -> copy into /etc/fstab and format correctly and in order, using /disk1, /disk2, ... as the mount point
blkid
vim /etc/fstab # note that you will need to copy the result of `sudo blkid` into this file and format correctly & in order
mount -a
# Create folders for HDFS data
mkdir -p /disk1/hdfs/data;mkdir -p /disk2/hdfs/data;mkdir -p /disk3/hdfs/data;mkdir -p /disk4/hdfs/data;mkdir -p /disk5/hdfs/data;mkdir -p /disk6/hdfs/data;mkdir -p /disk7/hdfs/data;mkdir -p /disk8/hdfs/data;mkdir -p /disk9/hdfs/data;mkdir -p /disk10/hdfs/data;mkdir -p /disk11/hdfs/data;mkdir -p /disk12/hdfs/data
chown -R hdfs.hadoop /disk1/hdfs/data
chown -R hdfs.hadoop /disk2/hdfs/data
chown -R hdfs.hadoop /disk3/hdfs/data
chown -R hdfs.hadoop /disk4/hdfs/data
chown -R hdfs.hadoop /disk5/hdfs/data
chown -R hdfs.hadoop /disk6/hdfs/data
chown -R hdfs.hadoop /disk7/hdfs/data
chown -R hdfs.hadoop /disk8/hdfs/data
chown -R hdfs.hadoop /disk9/hdfs/data
chown -R hdfs.hadoop /disk10/hdfs/data
chown -R hdfs.hadoop /disk11/hdfs/data
chown -R hdfs.hadoop /disk12/hdfs/data
# Add disks to HDFS on all nodes using Ambari
/var/lib/ambari-server/resources/scripts/configs.sh get localhost main hdfs-site | grep data.dir
/var/lib/ambari-server/resources/scripts/configs.sh set localhost main hdfs-site dfs.datanode.data.dir /hadoop/hdfs/data,/disk1/hdfs/data,/disk2/hdfs/data,/disk3/hdfs/data,/disk4/hdfs/data,/disk5/hdfs/data,/disk6/hdfs/data,/disk7/hdfs/data,/disk8/hdfs/data,/disk9/hdfs/data,/disk10/hdfs/data,/disk11/hdfs/data,/disk12/hdfs/data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment