Sodium is stored in kerosene as it is a highly reactive metal. If it is kept in open air, it easily reacts with the oxygen and catches fire. Since kerosene is a mixture of hydrocarbons, it won’t react with it.
Since sodium and water interactions are highly exothermic, sodium should not be stored in water. This reaction produces hydrogen gas, which ignites due to the heat released during the reaction. Sodium is an extremely reactive metal.