We design a centralized and a decentralized variational Bayesian learning (C-and D-VBL) algorithms for the base station (BS) of a frequency division duplex massive multiple input multiple output (mMIMO) cellular system, wherein users send compressed information for it to estimate their downlink channels. The BS in the decentralized algorithm consists of multiple processing units (PUs), and each PU separately estimates the channels of a group of users, by employing the proposed D-VBL algorithm. To reduce channel estimation error, the PUs exploit the structured sparsity inherent in multi-user mMIMO channels by exchanging information among themselves. We investigate the proposed C-VBL and low-complexity D-VBL algorithms and show that i) they substantially outperform the state-of-the-art centralized and decentralized algorithms in terms of the normalized mean squared error and the bit error rate. This is because they beneficially exploit the inherent channel sparsity, while the existing state-of-the-art solutions fail to do so. The proposed D-VBL is also robust to PU failures, and provides a similar performance as its centralized counterpart (C-VBL), but with a much reduced complexity.