The copyToLocal method in FsShell.java class does the following casting:
((DistributedFileSystem)fs).copyToLocalFile(srcs[i], dst, copyCrc);
which in the case of S3 filesystem, this returns ClassCastException. This can be fixed by replacing the above line by:
Which of course does not check for the CRC.