Problems with load balancing

Hi,

I have 3 servers running elasticsearch with below configs in
elasticsearch.yml:

node.master: true
node.data: true
index.number_of_shards: 5
index.number_of_replicas: 1
path.data: /var/search/index
path.work: /tmp/search
path.logs: /var/search/log
bootstrap.mlockall: true
http.port: 9200
indices.recovery.max_size_per_sec: 10mb
indices.recovery.concurrent_streams: 5
discovery.zen.ping.unicast.hosts: ["192.168.1.60"]

192.168.1.60 is the master server to handle http requests. Its load average
is around 0.5. But another two servers's load average are 4-6. All servers
have 8 cells CPU and 16G RAM.
It seems that most requests are handled by the other two servers.

Can I have the master server handle more requests itself but not just
dispatch them?

Another problem is: it always return timeout.
I have set ulimit to 65535 and net.nf_conntrack_max=655360.
What will cause these timeout request?

Thanks.