update: From looking at lsusb and dmesg, confirmed that the drive has dropped off the USB bus. So the mkfs has hung. kill -9 on it may stop it and allow the mdraid array to be stopped, or a reboot may be required. If you have to reboot, beware that the system may not reboot cleanly—so it'd be best to sync and unmount/remount read-only any other writable filesystems as you may have to hit reset.
Depending on the filesystem and options, mkfs can take a long time (and ext3 is one where it does). It is safe to terminate, but of course you'll have to run mkfs again. Which—if it was actually making progress—means you'll have to wait again (and it will start over from the beginning).
ext4 is much faster to mkfs, especially with lazy_itable_init (which is the default). If possible, switch.
Remember with an ext2/3/4 filesystem, x% of the disk is consumed for inode tables. Without lazy_itable_init, they're all being written now. That's a lot of data to write (approximately 1.6% of the disk with default settings), and spread out over the entire disk no less.
That also gives another way to reduce the time: write fewer inodes. But of course if you go too low, you'll run out.
If you want to check if it's actually making progress, confirm if I/O is happening. Some disks have an indicator light, or you can often tell (with magnetic disks) by holding your ear close and listening.
Alternatively, if you have iostat available, iostat -kx 10 will show you first IO stats since boot, then every 10s statistics over the prior 10s. You can look for the number of writes being done, and the disk utilization.