作者askdrlin (中央氣象局)
看板Soft_Job
標題[請益] docker cloudera 架設請教
時間Thu Dec 6 16:36:51 2018
各位前輩好,真的卡了好久快不行了.......
爬了好幾天的文,還是差那麼一點
幫我解答的前輩,小弟以1000p幣回報...若有同時答的以推文先的為主,謝謝QAQ
小弟我想請教一下
目前我的目標是想利用docker 去架設cloudera 分散式系統
有三台主機,主節點那台是連的到外網的固定ip,從節點兩台是內網
彼此三台都可以ssh,目前我的操作流程是這樣的
使用的系統是centos7
master是直接灌在主機上的centos
剩下兩台slaver是用vm開的,用橋接介面卡去設定
1.修改主機名稱
hostnamectl set-hostname master
hostnamectl set-hostname slaver1
hostnamectl set-hostname slaver2
2.設定hosts檔案(三台都做)
vim /etc/hosts
10.***.**.*** master
10.***.**.*** slaver1
10.***.**.*** slaver2
(IP後面碼掉了)
3.配置ssh無密碼登入
ssh-keygen -t rsa #全部enter跳過產生密碼
ssh-copy-id master
ssh-copy-id slaver1
ssh-copy-id slaver2
4.關閉防火牆
systemctl mask firewalld.service
systemctl disable firewalld.service
5.關閉selinux
sed -i '/SELINUX=enforcing/d' /etc/selinux/config
sed -i '/SELINUX=disabled/d' /etc/selinux/config
echo "SELINUX=disabled" >> /etc/selinux/config
reboot #重開
vim /etc/selinux/config # 檢查檔案
#SELINUX=disabled
6.禁用IPv6
echo " " >> /etc/modprobe.d/dist.conf
echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf
7.ntp時間同步(沒有好像也可以,但較保險)
yum install ntp
ntpdate -u time.nuri.net
三台各自準備docker
yum install docker
systemctl enable docker
systemctl start docker
systemctl status docker #檢查狀態
docker version #查看doceker版本
docker run hello-world #試用
主節點準備docker cloudera
docker pull cloudera/quickstart:latest
docker images #確定目前有的映象 應該有hello跟cloudera
docker run --hostname=quickstart.cloudera --privileged=true
-t -i -p 7180:7180 -p 8888:8888 docker.io/cloudera/quickstart:latest
/usr/bin/docker-quickstart #運行cloudera 這一長串是一起的
hostname #檢查主機名稱
service cloudera-scm-server status #檢查cloudera運行狀態
yum install telnet
telnet localhost 8888 #連結port端口
telnet localhost 7180 #連結port端口
docker ps #檢查dokcer容器
/home/cloudera/cloudera-manager --express #檢查cloudera詳細
上網連線
localhost:7180
但是進去cloudera manager之後,add host會報錯 如下圖
https://i.imgur.com/QPwb8KH.jpg
我是有參考這個影片去做的
https://www.youtube.com/watch?v=7K0ymx2gjGw
這影片是單節點,但是他在telnet localhost 8888這邊
我跟他的操作不一樣QQ
他的是這樣
https://i.imgur.com/eZPYkXk.jpg
而我的會變成refuse之後改成127.0.0.1
這我真的不懂為什麼QQ
問了熟網路的老師,他是說我在linux裡面開一個docker之後
會變成一個虛擬IP
如果沒有用端口映射的話
這個虛擬IP就沒辦法和自己電腦的固定IP做連結
自然也就沒辦法讓外面的網路連進來,也不能連到我的從節點
但我爬文又重試幾次 在docker run的時候 -p後面的參數真的不太會設定....
救命......快死掉了QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.236.39
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1544085414.A.D36.html
※ 編輯: askdrlin (27.52.38.185), 12/06/2018 16:38:14
※ 編輯: askdrlin (27.52.38.185), 12/06/2018 16:40:29
※ 編輯: askdrlin (27.52.38.185), 12/06/2018 16:42:35
1F:→ honochung: 跟cloudera不熟 不過 你在manager add host ip應該會要12/06 16:47
2F:→ honochung: 是 slave的ip12/06 16:48
3F:→ askdrlin: 你好 我add host時是用slaver的ip沒錯,有搜尋到但是沒12/06 16:50
4F:→ askdrlin: 辦法連結成功12/06 16:50
5F:→ honochung: 不過 這邊沒看到你在slave有跑 cloudera12/06 16:51
6F:→ askdrlin: 助教是說從節點可架可不架 但是架了比較沒錯 主節點灌就12/06 16:53
7F:→ askdrlin: 好...12/06 16:53
8F:→ askdrlin: 且兩台slaver也有架的話,三台都會變成docker的虛擬ip12/06 16:55
9F:→ askdrlin: 這樣可能會更連不起來嗎?12/06 16:55
10F:噓 gofigure: 這不是功課版 你看不懂中文?12/06 16:55
11F:→ honochung: 先不要管container的ip, 他們互連都要是host的ip 12/06 16:57
12F:→ honochung: docker run --add-host="master:10.*.*.*"12/06 16:59
13F:→ honochung: --add-host="slaver1:10.*.*.*"12/06 17:00
14F:→ honochung: 這樣container就可以用 master, slaver1, slaver212/06 17:01
15F:→ honochung: 我記得worker要裝cloudera agent12/06 17:17
我嘗試看看 謝謝你
16F:→ samuel1988: 所以你這兩台都有配ip嗎?12/06 17:37
17F:→ samuel1988: 指的是host ip12/06 17:38
這兩台都有在網路設定那邊設好了,就是hosts文件的ip
※ 編輯: askdrlin (27.52.38.185), 12/06/2018 17:40:38
18F:推 kenshin528: 用 docker compose 直接用 hostname 連不用管ip12/06 20:22
20F:→ cosmic01: 試試看上面的方法,直接publish all ports 12/06 20:39
21F:→ cosmic01: docker run -P my_app 12/06 20:39
好像還是不行QQ
22F:→ soappaos: container run 的時候--network host,使用host的netwo 12/07 15:45
23F:→ soappaos: rk stack,就可以不用forward port了 12/07 15:45
不好意思打開cloudera的時候 用這個方法他會有些failed產生...
※ 編輯: askdrlin (39.9.100.233), 12/07/2018 23:16:45
※ 編輯: askdrlin (39.9.100.233), 12/08/2018 10:29:52
24F:推 jasonwu23: 你是用docker-compose嗎 12/08 12:34
25F:→ jasonwu23: 不要一個個連 看一下docker-compose 12/08 12:35
重新設定一下後,的結果是s大的--net=host可以連 謝謝各位前輩指教
※ 編輯: askdrlin (39.9.100.233), 12/08/2018 12:51:26