I need to maintain a simple counter that is unique within the application, for all users and all nodes in a clustered environment. I thought about using the singleton sessio
Would every node of the cluster have it's own instance or not?
Yes, each cluster node will have a different Singleton instance. Therefore, @Singleton annotation is not the solution for your problem.
Take in mind that Java EE specification doesn't define any kind of cluster behavior. You need to search for specific vendor solution to achieve this kind of requirement. Just as an example see this link.