最近需要搞一點大數據分析相關的東西,今天搗鼓了一天搞這個生產集羣,總算是弄完了,踩了不少的坑。這個教程適合那種初步上手的,按照這個一步步來,基本沒什麼問題。
我暈了,搗鼓了一天,結果人家20min教程就說明白了.B站搜索:BV1bA411b7vs。照着來就OK,哎,我咋沒早點找到呢
首先是下載virtualbox(一個虛擬機軟件),還有ubuntu 16.04.-desktop(一步一步來,不要一開始就硬扛命令行)這兩個不多做贅述,可以參考:
https://www.bilibili.com/video/BV19J41157et?from=search&seid=13220585138641360838
手把手教學安裝。這裏我提幾個會比較影響使用的坑:
強烈建議第一次安裝的同學多用虛擬機的備份與快照功能,避免中間出岔子,給自己一個後悔藥
- 首先是windows和ubuntu怎麼實現相互的數據複製
安裝完成後,需要在這個界面進行設置,分別設置這兩項:
固態驅動器打鉤。
使用IO緩存這裏也打鉤。
然後把把共享粘貼板和拖放都設置爲雙向的。這樣就可以實現從windows到linux的複製和從linux到windows的複製了。
然後小夥伴可能會遇到一個問題,那就是畫面會非常的小,這裏需要藉助virtualbox的安裝增強功能來實現。
不出意外的話會有一個提示讓你運行,然後按照他的運行就好了。
準備工作做完了,這下我們來搭建集羣。
- (重要)我們需要對linux的網絡進行相關配置,這個是實現靜態IP的重要前提。
這裏千萬不要做多餘的步驟,先按照我的步驟一步步來
回到virtualbox的界面選擇“工具”裏的網絡選項:
- 首先我們需要取消勾選"DHCP服務器",防止虛擬機自動分配IP,這樣纔可以設置靜態IP。
- 接下來要手動配置網卡,配置的規則需要我們返回windows打開命令行,輸入:ipconfig,顯示:
由於我這裏是校園網,和一般人不一樣,我的網段是10.181.x.x的。因此所有集羣必須以10.181開頭,第三個地址段最好設置爲一樣的,我這裏設置爲10.181.56.x
-
還沒完,接着我們關閉ubuntu,對虛擬機進行網卡的設置。
-
首先需要有一個網卡爲**網絡地址轉換(NAT)**用於連接外網,這張網卡的設置就按照默認即可
- 其次還需要一張網卡設置爲**僅主機(Host-only)**網絡,用於集羣之間的連接,這裏的界面名稱就是用我們之前在網絡-工具裏面設置的網卡信息。
打開Ubuntu,我們可以開始設置靜態IP了。
開始之前,我們先進行換源,因爲需要安裝一些軟件。
這裏使用的是阿里的源:
# 先備份一下
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
#執行命令打開source.list文件
sudo gedit /etc/apt/sources.list
將打開的文件中的源替換爲如下的阿里源:
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
這裏命令行中會有警告,無視即可。
#執行更新源的指令
sudo apt-get update
接下來下載一個東西
#超好用的linux編輯工具,誰用誰知道
sudo apt-get install vim
然後我們可以開始更改靜態IP了。
執行如下命令:
# 這是linux下查詢IP的方法,注意與windows的ipconfig區分
ifconfig
這裏的enp0s3是分配的NAT網卡,用於連接外網,而enp0s8則是我們用於佈置集羣的網卡,需要我們更改靜態IP的(這裏我已經改好了)。接下來執行:
# 修改網絡接口
sudo vim /etc/network/interfaces
複製以下內容:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# 這個我不知道幹啥的,反正加上吧
source /etc/network/interfaces.d/*
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
# 用於接入NAT,不做更改
# The primary network interface(NAT)
auto enp0s3
iface enp0s3 inet dhcp
# 用於佈置集羣的網卡
auto enp0s8
# 設置爲static
iface enp0s8 inet static
# 更改爲我們需要的IP
address 10.181.56.100
netmask 255.255.255.0
網絡接口更改完畢,接下來需要更改hostname,以及在hosts文件中添加IP
#修改我們的主機名
sudo vim /etc/hostname
之後修改爲我們需要的主機名,就相當於域名一樣,這裏我改成了dennis-0。
以後我們的控制檯就會這樣顯示,前面是用戶名,後面是主機名,以後需要用SSH訪問主機也可以直接通過主機名訪問,而不需要輸入對應的IP:
接下來修改hosts
sudo vim /etc/hosts
修改爲:
# 可以通過127.0.0.1解析本地localhost -- 不要改,很多程序的用例用到了localhost
127.0.0.1 localhost
# 主機不需要通過127.0.0.1 解析dennis-0,即不需要通過dennis-0來訪問外網
# 127.0.1.1 dennis-0
# 這裏添加以後需要增設的集羣IP和主機名
10.181.56.100 dennis-0
10.181.56.101 dennis-1
10.181.56.102 dennis-2
這樣我們就實現了一個集羣的單機了~
當未來我們需要增設集羣的時候,只需要改主機名還有它的靜態IP即可
- 接下來我們可以配置SSH,這樣windows上也可以通過命令行來操控linux
首先在linux下安裝openssh-server
sudo apt-get install openssh-server
安裝完成後進行如下操作
sudo vi /etc/ssh/sshd_config
#增加以下配置允許通過ssh登錄
#在打開的配置文件中修改這一項
#PermitRootLogin prohibit-password
PermitRootLogin yes
#修改完成後需要重啓ssh服務命令如下
sudo service ssh restart
接下來設置ssh的登錄密碼:
sudo passwd root
Enter new UNIX password: #這裏輸入你的密碼
Retype new UNIX password: #再次確認
passwd: password updated successfully
su root #即生效
下一步開啓SSH,我就直接貼圖了:
最後做了一步檢查SSH是否開啓。
接着打開windows中的命令行,輸入如下:
這裏的輸入就是linux命令行最前面的那一坨,即 用戶名@主機名
接下來輸入我們在ssh中設置的密碼
這下就可以通過windows來調用ubuntu裏的服務啦。
今天真的搗鼓了一天,踩了很多坑,這一套教程應該夠完善了。如果有不明白可以在下方留言,我盡力解答