本篇文章主要是Linux的集群環境搭建和網絡配置等。為大數據的前置基礎,在Hadoop等技術中應用廣泛。
主要目標是建立三台可以相互通信,可以與宿主機互聯並可聯網的虛擬機,作為集群環境。重點介紹centos如何配置網段使其可以與外界設備互聯,再補充其他的一些相關設定。對於前期VM如何安裝centos不做介紹。
一、網絡配置
配置虛擬機網絡
centos默認安裝下無法與外網連接,我們需要進行網絡的設置。我們需要配置多台,為保證每台虛擬機之間的相互通信,我們需要將其設置在同一網段內。
主要步驟
點擊虛擬機菜單欄:編輯 --> 虛擬網絡編輯器。主要是針對 VMnet8 的配置,進入后以管理員方式 點擊更改設置。
設置好子網ip,我這里把該虛擬機放於192.168.2.0網段下。並設置好子網掩碼。
然后點擊 NAT 設置 編輯網關IP,網關IP為子網IP,最后一位 置為 1 。
配置windows訪問虛擬機
以上是虛擬機網絡的設置,要想和本機聯通,就要將本機的虛擬網絡也加入到上面設置的虛擬網絡中。
在 網絡和Internet 設置中,找到以太網,更改適配器選項。在打開的選項卡中點擊 VMnet8 右鍵屬性,雙擊 IPv4,得到如下界面。
其中,IP需要在同一子網網段下,網關要與在虛擬機中的一致。
centos網卡配置
使用如下命令打開編輯網卡。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
進行如下內容配置
需要注意的:
BOOTPROTO=static 設置ip為靜態的不變地址
ONBOOT=yes 啟動時生效
在便是下邊IP相關配置:IPADDR為該虛擬機的IP地址;GATEWAY為網關;BROADCAST為廣播地址(最后為255);DNS為兩個域名解析。
為日后使用方便,可以在本機和虛擬機中的 hosts 文件配置IP地址相應解析。
本機:C:\Windows\System32\drivers\etc 下的hosts文件添加 即可。
之后便可直接使用 bigdata1 訪問。
二、其他配置
防火牆的關閉
在學習階段,可以將防火牆關閉,避免因此引發的各種問題,影響學習進程。
注意:centos6 和 centos7 對於防火牆的相關操作差異很大,以下方法適用於centos7。
systemctl stop firewalld.service 關閉防火牆
systemctl start firewalld.service 開啟防火牆
firewall-cmd --state 查看防火牆運行狀態
systemctl disable firewalld.service 禁止開機啟動
JDK的安裝
本次介紹使用jdk的rpm安裝,在官網下載JDK1.8的rpm版本,上傳到虛擬機的相應目錄。進入該目錄后使用 rpm -ivh jdk 名字安裝。
安裝好后,默認在/usr下有個Java目錄,進入到其中的jdk中,此時即為JDK的目錄。
進入配置文件, vi /etc/profile 配置環境變量。
exprot JAVA_HOME=/usr/java/jdk..(JDK的安裝路徑) export CLASSPATH=$JAVA_HOME$\lib:$CLASSPATH export PATH=$JAVA_HOME$\bin:$PATH
然后source /etc/profile,即可生效。
三、多台虛擬機的克隆實現
配置好一台后,可以使用VM的克隆來復制出兩個一樣的副本。
一些唯一性的屬性,例如主機名,IP地址等 需要再修改。
修改名字 hostnamectl set-hostname 名字
修改IP,和上述步驟一樣,但注意,其中的UUID和HWADDR為唯一的,避免重復,將這兩個字段刪除,主機重啟時會自動分配。
然后設置好克隆的虛擬機的IP地址,為了方便,也可在 /etc/hosts 中設置好地址映射。
四、SSH免密鑰登陸
在虛擬機中,需要修改對方的信息時需要登錄才可進行,利用SSH可以實現免密登錄。
在虛擬機中使用命令 , ssh-keygen -t rsa
密鑰生成成功。密鑰的存放位置:/ root / . ssh 。前者是私鑰,后者是公鑰。
生成成功后,需要把私鑰發送給本機,公鑰發送給其他計算機。
發送私鑰: 使用命令 ssh-copy-id localhost
成功。
發送公鑰:使用命令 ssh-copy-id 主機名(可以是ip,可以是已經添加在hosts文件中映射的名字)
配置好后,使用 命令: ssh 主機名 ,連接測試。
成功。
免密登錄最主要實現三台虛擬機之間的設置同步。命令為 :
scp -r 當前目錄下的文件或文件夾 主機名:$PWD
scp -r hadoop.xml bigdata2:$PWD
如當前在 主機bigdata1 的 /home目錄下,新建了一個test.txt 文件,若想把當前目錄下的test.txt同步到其他兩台主機的相對應目錄,則使用命令:
scp -r test.txt bigdata2:$PWD
scp -r test.txt bigdata3:$PWD
進入到 兩台主機的 home目錄,可以看到test.txt 文件,同步成功。
至此,一個三台虛擬主機和一台宿主機的集群環境就配好啦!