超詳細,阿里雲安裝hortonwork sandbox HDP
在windows下用瀏覽器開啟hortonwork中文官網,註冊後得到下載連線. 我使用的版本是 HDP 2.6
購買阿里雲伺服器,本人選擇配置如下:
- 伺服器2核16GB,按時計費
- 20GB系統盤
- 120GB資料盤
- 頻寬10MBPS,流量按量計費 0.8元/GB
軟體資訊:
- docker 1.12.6
- OS centOS 7.3
- HDP 2.6
下面介紹詳細步驟:官網的英文安裝步驟請點這裡檢視
在阿里雲選擇配置,支付完成後,使用阿里雲的網頁版終端連線例項(不用每次輸入ip和root密碼,比較方便)
在阿里雲控制檯——例項,掛載磁碟(必須是同一個區域,比如磁碟是華東2可用區B的,例項必須也是華東2可用區B)
先安裝docker
yum install docker
啟動docker服務
service docker start
檢視docekr當前配置資訊
docker info
注意到Total Size=107 GB(docker允許的總大小,不是實際佔用磁碟大小)
Base Device Size = 10 GB,而HDP sandbox解壓後14GB,所以會報錯。需要修改Base Device Size為16GB,具體方法參考文章最後的補充部分下載HDP sandbox Docker版本,官網有三個版本,一定要選Docker版本,最適合linux上的安裝。虛擬機器版本其實也是Docker版本再封裝了一層OS。
wget -c 《在windows系統中獲得的sandbox HDP官網下載連結》
請耐心等待,我下載用了一上午。
安裝包儲存目錄,一定要確保執行wget命令的路徑有10GB的可用空間設定docker預設路徑為120GB的資料盤,參考文獻1-3中有詳細步驟
docker load -i HDP-xxxx-xxx.tar.gz
官網下載docker版本的sandbox啟動sh指令碼
wget命令下載,2.6 HDP的sh指令碼連結如下
wget https://raw.githubusercontent.com/hortonworks/data-tutorials/master/tutorials/hdp/sandbox-deployment-and-install-guide/assets/start_sandbox-hdp.sh
chmod 777 xxx.sh
./xxx.sh
修改阿里雲主機的ip埠限制.
例項——管理——本機安全組
新增安全策略:
TCP
8888/8888
0.0.0.0/0
到此,HDP sandbox安裝完成
————————————–分割線,以下是補充部分—————————————
原標題:“修改docker容器的Base Device Size”
釋出時間:August 18, 2016
注意:文章中的/etc/systemd/system/docker.service在阿里雲的centOS 7.3 系統上是 /lib/systemd/system/docker.service
老高的容器在執行一段時間的時候會突然無法寫入資料,報錯
docker no space left on device
Google之,發現原來是Base Device Size的問題,其預設值是10G,而容器經過一段時間的執行寫入檔案量早已超過10G,就造成無法寫入資料的問題了。
下面給出解決方案:
系統為Centos,其他OP應該大同小異。
首先檢視docker的服務配置檔案
/etc/systemd/system/docker.service
cat /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service
[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/docker daemon --registry-mirror=https://hg3r3yxx.mirror.aliyuncs.com $OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
MountFlags=slave
TimeoutStartSec=1min
Restart=on-failure
[Install]
WantedBy=multi-user.target
我們只關心其中的ExecStart一節,於是發現守護程序啟動命令中已經預留$DOCKER_STORAGE_OPTIONS變數,並且應該存在於這個檔案中 /etc/sysconfig/docker-storage。這就好辦了,直接把老高想改成的40G寫入到此檔案中即可!
sudo echo "DOCKER_STORAGE_OPTIONS=--storage-opt dm.basesize=40G" > /etc/sysconfig/docker-storage
dd命令
if=file #輸入檔名,預設為標準輸入。
of=file #輸出檔名,預設為標準輸出。
/dev/zero: 在類UNIX 作業系統中, /dev/zero 是一個特殊的檔案,當你讀它的時候,它會提供無限的空字元(NULL, ASCII NUL, 0x00)。
其中的一個典型用法是用它提供的字元流來覆蓋資訊,另一個常見用法是產生一個特定大小的空白檔案。
dd if=/dev/hdx of=/dev/hdy #將本地的/dev/hdx整盤備份到/dev/hdy
dd if=/dev/hdx of=/path/to/image #將/dev/hdx全盤資料備份到指定路徑的image檔案
建議修改service啟動配置,修改執行時的根目錄,centOS 7 版本的配置在 /lib/systemd/system/docker.service
啟動項全部命令可以執行 dockerd-current –help 檢視
ExecStart=/usr/bin/docker daemon -g /there_is_space_here