Ubuntu+Virtualbox:傻瓜式大數據集羣搭建教程

最近需要搞一點大數據分析相關的東西,今天搗鼓了一天搞這個生產集羣,總算是弄完了,踩了不少的坑。這個教程適合那種初步上手的,按照這個一步步來,基本沒什麼問題。

我暈了,搗鼓了一天,結果人家20min教程就說明白了.B站搜索:BV1bA411b7vs。照着來就OK,哎,我咋沒早點找到呢

首先是下載virtualbox(一個虛擬機軟件),還有ubuntu 16.04.-desktop(一步一步來,不要一開始就硬扛命令行)這兩個不多做贅述,可以參考:

https://www.bilibili.com/video/BV19J41157et?from=search&seid=13220585138641360838

手把手教學安裝。這裏我提幾個會比較影響使用的坑:

強烈建議第一次安裝的同學多用虛擬機的備份與快照功能,避免中間出岔子,給自己一個後悔藥

  1. 首先是windows和ubuntu怎麼實現相互的數據複製

image-20200522212216445

安裝完成後,需要在這個界面進行設置,分別設置這兩項:

image-20200522212310386

固態驅動器打鉤。

image-20200522212334864

使用IO緩存這裏也打鉤。

image-20200522212420498

然後把把共享粘貼板和拖放都設置爲雙向的。這樣就可以實現從windows到linux的複製和從linux到windows的複製了。

然後小夥伴可能會遇到一個問題,那就是畫面會非常的小,這裏需要藉助virtualbox的安裝增強功能來實現。

image-20200522212553389

不出意外的話會有一個提示讓你運行,然後按照他的運行就好了。

準備工作做完了,這下我們來搭建集羣。

  1. 重要)我們需要對linux的網絡進行相關配置,這個是實現靜態IP的重要前提。

這裏千萬不要做多餘的步驟,先按照我的步驟一步步來

回到virtualbox的界面選擇“工具”裏的網絡選項:

image-20200522212811548

  • 首先我們需要取消勾選"DHCP服務器",防止虛擬機自動分配IP,這樣纔可以設置靜態IP。
  • 接下來要手動配置網卡,配置的規則需要我們返回windows打開命令行,輸入:ipconfig,顯示:

image-20200522213011467

由於我這裏是校園網,和一般人不一樣,我的網段是10.181.x.x的。因此所有集羣必須以10.181開頭,第三個地址段最好設置爲一樣的,我這裏設置爲10.181.56.x

  1. 還沒完,接着我們關閉ubuntu,對虛擬機進行網卡的設置。

  2. 首先需要有一個網卡爲**網絡地址轉換(NAT)**用於連接外網,這張網卡的設置就按照默認即可

image-20200522213336666

  1. 其次還需要一張網卡設置爲**僅主機(Host-only)**網絡,用於集羣之間的連接,這裏的界面名稱就是用我們之前在網絡-工具裏面設置的網卡信息。

image-20200522213435682

打開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

image-20200522214349563

這裏的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:

image-20200522214923729

接下來修改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即可

  1. 接下來我們可以配置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,我就直接貼圖了:

image-20200522215904201

最後做了一步檢查SSH是否開啓。

接着打開windows中的命令行,輸入如下:

image-20200522215951551

這裏的輸入就是linux命令行最前面的那一坨,即 用戶名@主機名

接下來輸入我們在ssh中設置的密碼

image-20200522220036154

這下就可以通過windows來調用ubuntu裏的服務啦。

今天真的搗鼓了一天,踩了很多坑,這一套教程應該夠完善了。如果有不明白可以在下方留言,我盡力解答

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章