一、集群Linux環境搭建
1. 注意事項
1.1 windows系統確認所有的關於VmWare的服務都已經啟動
打開任務管理器->服務,查看五個VM選項是否打開。

1.2 確認好VmWare生成的網關地址
打開VMWare->編輯->虛擬網絡編輯器->選擇VMnet8->NAT設置->網關:192.168.253.2

1.3 確認VmNet8網卡已經配置好了IP地址和DNS
打開 設置->網絡和Internet->更改適配器選項->VMnet8->右鍵屬性->Internet協議版本4->屬性->使用下面的IP地址->設置IP地址(與1.2網關相匹配:192.168.253.5)->設置子網掩碼:255.255.255.0->默認網關(同1.2:192.168.253.2)->使用下面的DNS服務器地址->首選DNS服務器:8.8.8.8

2. 克隆虛擬機
2.1 將虛擬機克隆三份,並分別重命名
打開VMWare->虛擬機->管理->克隆

2.2 分別設置三台虛擬機的內存
需要三台虛擬機, 並且需要同時運行, 所以總體上的占用為: 每台虛擬機內存x3 ;
在分配的時候, 需要在總內存大小的基礎上, 減去2G-4G作為系統內存, 剩余的除以3, 作為每台虛擬機的內存。
打開VMWare->虛擬機->設置

3. 虛擬機修改IP
3.1 集群規划
| IP |
主機名 |
| 192.168.253.100 |
Node01 |
| 192.168.253.110 |
Node02 |
| 192.168.253.120 |
Node03 |
3.2 設置ip地址
3.2.1 命令行修改ip地址
1. nmcli d: 查看網卡名字(圖中為ens33)

2. vi /etc/sysconfig/network-scripts/ifcfg-網卡名:編輯網卡配置,我的網卡是ens33,所以對應命令為:vi /etc/sysconfig/network-scripts/ifcfg-ens33
3. 將 BOOTPROTO=”dhcp” 修改為 BOOTPROTO=”static”,意為設置為靜態ip
4. 將 ONBOOT=no 修改為 ONBOOT=yes,意為啟動時激活該網卡
5. 最后添加ip、子網掩碼、網關、DNS、網絡前綴,ip與集群規划上的ip相對應,子網掩碼、網關、DNS與1.3的設置相對應,網絡前綴為24
IPADDR=192.168.253.100
NETMASK=255.255.255.0
GATEWAY=192.168.253.2
DNS1=8.8.8.8
PREFIX=24

6. ESC->:wq,保存修改。
7. 重啟網絡服務:先載入新的配置文件,然后再執行重啟網卡命令。重啟網卡之前一定要重新載入一下配置文件,不然不能立即生效
載入配置文件命令:nmcli c reload
重啟網卡:nmcli c up ens33(網卡名與上面相照應,我的為ens33)

8. 檢查網絡連接是否成功:ping -c 1 www.baidu.com,參數c為設置完成要求回應的次數。如果為:ping www.baidu.com ,需要按 Ctrl+c 終止。

3.2.2 圖形界面修改ip地址
1. nmtui:打開圖形化修改ip界面
2. nmtui使用教程:
使用箭頭鍵或按 Tab 鍵向前選擇選項;
按 Shift+Tab 組合鍵返回;
按 Enter 選擇一個選項;
按 Space 鍵選擇復選框狀態。
3. 修改過程如下:





4. 設置主機名
4.1 命令行修改主機名
4.1.1 查看當前主機名:hostnamectl

4.1.2 修改當前主機名
1. hostnamectl修改當前主機名:hostnamectl set-hostname liu

2. nmcli修改當前主機名:

4.1.3 重啟服務使更改生效
重新啟動systemd-hostnamed服務:systemctl restart systemd-hostnamed.service。

4.2 圖形界面修改主機名
nmtui:打開圖形化修改ip界面




5. 設置ip和域名映射
命令行輸入:vi /etc/hosts,進入文件。

添加ip和域名映射:
192.168.253.90 liumengsong liumengsong.hadoop.com
192.168.253.100 node01 node01.hadoop.com
192.168.253.110 node02 node02.hadoop.com
192.168.253.120 node03 node03.hadoop.com

6. 關閉防火牆
6.1 查看防火牆狀態
命令:systemctl status firewalld.service

6.2 關閉防火牆
命令:systemctl stop firewalld.service

6.3 啟動防火牆
命令:systemctl start firewalld.service

6.4 禁止防火牆隨系統啟動
命令:systemctl disable firewalld.service


6.5 設置防火牆隨系統啟動
命令:systemctl enable firewalld.service

6.6 使防火牆設置生效
命令:reboot(重啟系統)

7. 關閉SELinux
7.1 SELinux的工作模式
enforcing:強制模式
permissive:寬容模式
disabled:關閉
7.2 修改其配置文件
命令:vi /etc/selinux/config


8. 虛擬機免密碼登錄
8.1免密SSH登錄原理
1. 需要先在 B節點 配置 A節點 的公鑰 ;
3. A節點 請求 B節點 要求登錄;
3. B節點 使用 A節點 的公鑰, 加密一段隨機文本;
4. A節點 使用私鑰解密, 並發回給 B節點;
5. B節點 驗證文本是否正確。

8.2 生成公鑰與私鑰
命令:ssh-keygen -t rsa

8.3 拷貝公鑰到同一台機器
命令:ssh-copy-id liumengsong(我的主機名是liumengsong)

8.4 復制第一台機器的認證到其它機器
命令:scp /root/.ssh/authorized_keys node01:/root/.ssh(node01為要復制到的機器主機名)


8.5 驗證是否可以免密登錄
命令:ssh node01(登錄到主機名為node01的機器)
退出登錄:exit

9. 時鍾同步
9.1 修改配置,加入網絡時間
命令:vi /etc/chrony.conf
server ntp.aliyun.com iburst
server cn.ntp.org.cn iburst

9.2 重啟服務
命令:systemctl restart chronyd.service

9.3 設置開機自啟
命令:systemctl enable chronyd.service

10. 安裝jdk
10.1 卸載自帶openjdk
命令:rpm -qa | grep java。rpm 命令用於管理套件,參數q為使用詢問模式,當遇到任何問題時,rpm指令會先詢問用戶,a為查詢所有套件。 grep 命令用於查找文件里符合條件的字符串。

命令:rpm -e javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch tzdata-java-2020a-1.el8.noarch java-1.8.0-openjdk-headless-1.8.0.265.b01-0.el8_2.x86_64 --nodeps,其中e為刪除指定的套件,nodeps為不驗證套件的相互關聯性。

10.2 創建安裝目錄
命令:mkdir -p /export/softwares #軟件包存放目錄
mkdir -p /export/servers #軟件包安裝目錄
其中,-p 確保目錄名稱存在,不存在的就建一個。

10.3 下載軟件包
軟件包下載地址:https://forensics.cert.org/centos/cert/8/x86_64/jdk-12.0.2_linux-x64_bin.rpm
通過Xftp 6軟件移動到指定的軟件包存放目錄。
10.4 安裝軟件包
命令:rpm -ivh --prefix=/export/servers/ jdk-12.0.2_linux-x64_bin.rpm
其中,參數i為顯示套件的相關信息,v為顯示指令執行過程,h為套件安裝時列出標記,prefix后跟安裝目錄。安裝完成后命令行輸入:java -version,查看是否安裝成功。

10.5 配置環境變量
Centos 8以后安裝jdk自動配置環境變量,無需另外配置。
11. 安裝、配置mysql
11.1 安裝mysql
命令:yum install mysql mysql-server mysql-devel.x86_64
mysql:客戶端
mysql-server:數據庫服務器
mysql-devel:開發用到的庫以及包含條件




11.2 啟動mysql服務
命令:systemctl start mysqld

11.3 登錄mysql
命令:mysql -u root -p

11.4 修改mysql密碼
命令:create user root@'%' identified by '666666';

11.5 開啟遠程登錄
命令:grant all privileges on *.* to root@'%' with grant option;
flush privileges;
exit;

11.6 重啟mysql服務
命令:systemctl restart mysqld.service

11.7 設置mysql開機啟動
命令:systemctl enable mysqld

12 附錄
ESC+U:撤銷(修改文本出現錯誤時)
mv 原文件名 重命名文件名:文件重命名
Ctrl+L/clear:清屏(命令行)
Ctrl+c:ping出現死循環時停止(返回命令行)
以上環境配置均在centos8

