According to the Unix Filesystem Hierarchy Standard,
/usr/local are to be used as follows:
"The /usr/local hierarchy is for use by the system administrator when installing software locally. [...] It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr."
"/opt is reserved for the installation of add-on application software packages. [...] Programs to be invoked by users must be located in the directory /opt/<package>/bin or under the /opt/<provider> hierarchy."
So to answer your two questions:
"/opt or /usr/local what is the recommended one?"
Borrowing from this answer (which goes into more detail than I ever could),
/opt is intended for prebuilt packages containing prebuilt binaries that are ready for unpacking. If you are compiling Eclipse yourself,
/usr/local would be the correct place.
"/usr/bin or /usr/local/bin?"
/usr/bin is intended for software provided by your distribution. If you are building Eclipse yourself, the installation prefix should be set to
Important note: under normal circumstances, both
/opt are owned by root and are not world-writable. If you are not the system administrator, then you will need to get them to install the files or use your home folder.