1. 程式人生 > >使用docker搭建大資料平臺

使用docker搭建大資料平臺

我們以Ambari+HDP為例。儘管說運維堅決不同意在docker上執行大資料元件,但是我覺得,作為測試和學習目的在本地快速構建大資料叢集仍然是一件非常有意義的事情。

如果我們想採取Ambari來安裝HDP的話,其包含的主要元件如下

  • ambari-server: 主要部署的控制節點,負責控制agent進行部署。
  • mysql: server儲存的資料庫。也支援postgresql等資料庫。
  • ambari-agent: 主要執行部署的節點,根據控制節點,部署相應的服務的相應元件(compoment)。
  • repo: 可以是公網的庫,也可以是本地源。主要提供各個服務安裝的rpm包等。ambari主要使用的是HDP(hortonworks data platform)的庫。
  • consul: 用於DNS解析。因為各個節點之間需要通過域名來相互進行訪問。用consul來提供DNS解析服務,無需在每個節點上配置hosts。對應的,各個容器也需要將DNS(即resolve.conf)指定為部署consul的ip。

下載Docker映象

docker pull sequenceiq/ambari

下載程式碼

git clone https://github.com/sequenceiq/docker-ambari

啟動容器

修改網路

# Getting the IP of docker-machine or boot2docker
docker-machine ip <name-of-docker-vm>
# or
boot2docker ip

# Setting up the
sudo route add -net 172.17.0.0/16 <docker-machine or boot2docker>
# e.g:
sudo route add -net 172.17.0.0/16 192.168.99.100