It depends on what you mean by "/a/", "/i/". First, slash brackets refer ambiguously to "phonemes" or "underlying forms". Only phonetic forms, notated with square brackets, have directly-observable phonetic properties. A propos that point, there is a high back vowel phoneme in Japanese, which is pronounced more like [ɯ] than like [u], and on that grounds you might claim that Japanese has no /u/ but it does have /ɯ/. The principle here would be that the underlying / phonemic value of a segment is the same as (one of) it's surface values. On that basis, we would have to conclude that Norwegian does not have /u/, because if you compare the pronunciation of French "tout" and Norwegian "to", the vowel of Norwegian is /ʊ/, not /u/ -- the vowel typically transcribed in IPA as [u] is noticeably lower than the cardinal vowel standard. The problem then is that language descriptions typically leave out that level of phonetic detail, so you often can't tell if supposed "u" or "i" are pronounced as [u, i] or [ʊ, ɪ] or something else. With that caveat, Somali Zigua has the vowels [a ɛ ɔ ɪ ʊ], and not [i, u].
Answering the question for "/a/" is even more difficult. The vowel "a" of Arabic is distinctly different from the vowel "a" of North American English (as in the word "cot"). The Arabic vowel is rather close to the standard cardinal vowel value of "a", so under any interpretation, Arabic has /a/. English, at least certain dialects, do not have that vowel (though in some New England dialects it exists in words like "park"). In fact, there is no distinct IPA symbol for notating the low central vowel of "cot", and language descriptions typically use the letter "a" in case there is only one low unrounded vowel, so it is only when you have a contrast like in Norwegian that people are forced to distinguish "a" and "æ", or "ɑ" and "a".
In some west coast dialects (e.g. in Seattle) the vowel of "cot" is the same as the vowel of "caught" and furthermore the vowel is phonetically more like [ɔ] than it is like canonical [a]. If by "a" you mean a low unrounded vowel, then I would say that Enumclaw English is a language without /a/ (I pick Enumclaw because there is an urban / rural distinction that complicates the matter).
There is a classical analysis of Kabardian by Kuipers where the language does not have /i/, or many other vowels, although phonetically the language has a huge number of vowels. This would be an instance of economy-driven phoneme-elimination, for the sake of reducing the vowel inventory to just one phoneme. There is a similar many-to-few reduction of vocoids in Marshallese, which has been analysed as having just a 4-height distinction between /ɨ ɘ ɜ a/, where the 12 surface vowels derive by phonetic interaction between these 4 vowels plus palatalization and labialization on neighboring consonants. Under that interpretation, Marshallese has no /i/. Mark Hale has argued cogently that it is inappropriate to claim that vowels have any specific values of rounding or fronting in the phonology.