An eyewitness told Channel 1 television the assailant used an automatic weapon against people at a pub.
Police said the motive for the shooting - which came amid a wave of Palestinian attacks on Israelis in recent weeks - was not immediately known and that the assailant remained at large.
Medics said they had taken seven people to hospitals in Tel Aviv, with police saying two of them had been pronounced dead.