[請益] docker cloudera 架設請教

看板 Soft_Job
作者 askdrlin (中央氣象局)
時間 2018-12-06 16:36:51
留言 25則留言 (2推 1噓 22→)

各位前輩好,真的卡了好久快不行了....... 爬了好幾天的文,還是差那麼一點 幫我解答的前輩,小弟以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 -- 我嘗試看看 謝謝你 這兩台都有在網路設定那邊設好了,就是hosts文件的ip 好像還是不行QQ 不好意思打開cloudera的時候 用這個方法他會有些failed產生... 重新設定一下後,的結果是s大的--net=host可以連 謝謝各位前輩指教
※ 批踢踢實業坊(ptt.cc), 來自: 140.115.236.39
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1544085414.A.D36.html

honochung: 跟cloudera不熟 不過 你在manager add host ip應該會要12/06 16:47

honochung: 是 slave的ip12/06 16:48

askdrlin: 你好 我add host時是用slaver的ip沒錯,有搜尋到但是沒12/06 16:50

askdrlin: 辦法連結成功12/06 16:50

honochung: 不過 這邊沒看到你在slave有跑 cloudera12/06 16:51

askdrlin: 助教是說從節點可架可不架 但是架了比較沒錯 主節點灌就12/06 16:53

askdrlin: 好...12/06 16:53

askdrlin: 且兩台slaver也有架的話,三台都會變成docker的虛擬ip12/06 16:55

askdrlin: 這樣可能會更連不起來嗎?12/06 16:55

gofigure: 這不是功課版 你看不懂中文?12/06 16:55

honochung: 先不要管container的ip, 他們互連都要是host的ip 12/06 16:57

honochung: docker run --add-host="master:10.*.*.*"12/06 16:59

honochung: --add-host="slaver1:10.*.*.*"12/06 17:00

honochung: 這樣container就可以用 master, slaver1, slaver212/06 17:01

honochung: 我記得worker要裝cloudera agent12/06 17:17

samuel1988: 所以你這兩台都有配ip嗎?12/06 17:37

samuel1988: 指的是host ip12/06 17:38

kenshin528: 用 docker compose 直接用 hostname 連不用管ip12/06 20:22

cosmic01: https://tinyurl.com/yaaab7du12/06 20:38

cosmic01: 試試看上面的方法,直接publish all ports 12/06 20:39

cosmic01: docker run -P my_app 12/06 20:39

soappaos: container run 的時候--network host,使用host的netwo 12/07 15:45

soappaos: rk stack,就可以不用forward port了 12/07 15:45

jasonwu23: 你是用docker-compose嗎 12/08 12:34

jasonwu23: 不要一個個連 看一下docker-compose 12/08 12:35

您可能感興趣