基於Nacos實現高可用服務注冊中心部署
Nacos原理已經講完了,如果說后續我們要做一個C2C二手電商平台的社會化治理系統的項目案例,以及落地后續的一系列的微服務架構,首先我們就知道,必須得有一個服務注冊中心,技術選型和對比,以及nacos原理和講解,已經都說完了
做一個nacos高可用集群的部署,不會做簡單的單機部署,生產環境肯定是高可用的集群部署的,我們就按照這套思路來做,需要3台虛擬機,centos 7.x去部署,我用的虛擬機軟件是virtualbox
如何創建虛擬機,以及在虛擬機里安裝centos 7.x操作系統,准備好3台centos機器,我之前在其他的課程里有講過,所以視頻直接抽了幾個出來,如何安裝和部署centos虛擬機,會看到4個視頻,按照4個視頻步驟,以及使用我提供的資料里的網盤鏈接里面有,你需要的centos和jdk
配置操作系統和網絡
安裝3台虛擬機以及centos操作系統,jdk需要安裝好
參考視頻以及以下內容去創建一個CentOS 7.x的虛擬機
1.使用課程提供的CentOS 7鏡像即可,CentOS-7-x86_64-Minimal-1611.iso
鏈接:https://pan.baidu.com/s/1UuBLvuljNmScqtjuXDqsOA
提取碼:3zoq
2.創建虛擬機:打開Virtual Box,點擊“新建”按鈕,點擊“下一步”,輸入虛擬機名稱為hbase-standalone,選擇操作系統為Linux,選擇版本為Red Hat-64bit,分配2048 MB內存,后面的選項全部用默認,在Virtual Disk File location and size中,一定要自己選擇一個目錄來存放虛擬機文件,最后點擊“create”按鈕,開始創建虛擬機。
3.設置虛擬機網卡:選擇創建好的虛擬機,點擊“設置”按鈕,在網絡一欄中,連接方式中,選擇“Bridged Adapter”。虛擬機必須有一塊網卡,這塊網卡是通過什么方式去宿主機里的網卡進行通訊,橋接網卡,就可以讓你的虛擬機里的網卡跟你宿主機的一塊網卡進行通訊
4.安裝虛擬機中的CentOS 7操作系統:選擇創建好的虛擬機,點擊“開始”按鈕,選擇安裝介質(即本地的CentOS 7鏡像文件),按照課程選擇后自動安裝即可
5.安裝完以后,CentOS會提醒你要重啟一下,就是reboot,你就reboot就可以了。
6.配置網絡
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
先讓它動態分配一個ip地址
ONBOOT=yes
service network restart
ip addr
再設置靜態ip地址
BOOTPROTO=static
IPADDR=192.168.31.250
NETMASK=255.255.255.0
GATEWAY=192.168.31.1 【橋接需要用宿主機的網關地址】
service network restart
配置DNS
檢查NetManager的狀態:systemctl status NetworkManager.service
檢查NetManager管理的網絡接口:nmcli dev status
檢查NetManager管理的網絡連接:nmcli connection show
設置dns:nmcli con mod enp0s3 ipv4.dns "114.114.114.114 8.8.8.8"
讓dns配置生效:nmcli con up enp0s3
7.配置hosts
vi /etc/hosts
配置本機的hostname到ip地址的映射
8.配置SecureCRT
此時就可以使用SecureCRT從本機連接到虛擬機進行操作了
一般來說,虛擬機管理軟件,virtual box,可以用來創建和管理虛擬機,但是一般不會直接在virtualbox里面去操作,因為比較麻煩,沒有辦法復制粘貼
SecureCRT,在windows宿主機中,去連接virtual box中的虛擬機
收費的,我這里有完美破解版,跟着課程一起給大家,破解
9.關閉防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service
關閉windows的防火牆
后面要搭建集群,有的大數據技術的集群之間,在本地你給了防火牆的話,可能會沒有辦法互相連接,會導致搭建失敗
10.配置yum
yum clean all
yum makecache
yum install wget
【可以不操作】
(11)安裝JDK
1、將jdk-8u131-linux-x64.rpm通過WinSCP上傳到虛擬機中
2、安裝JDK:rpm -ivh jdk-8u131-linux-x64.rpm
3、配置jdk相關的環境變量
vi /root/.bashrc
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
source .bashrc
4、測試jdk安裝是否成功:
java -version
12.在另外2個虛擬機中安裝CentOS集群
按照上述步驟,再安裝2台一模一樣環境的linux機器
安裝好之后,在每台機器的hosts文件里面,配置好所有的機器的ip地址到hostname的映射關系
比如說,的hosts里面
192.168.31.xxx hadoop01
192.168.31.xxx hadoop02
192.168.31.xxx hadoop03
13.配置3台CentOS為ssh免密碼互相通信
首先在三台機器上分別各自執行下面的命令生成自己的文件:
ssh-keygen -t rsa
生成本機的公鑰,過程中不斷敲回車即可,ssh-keygen命令默認會將公鑰放在/root/.ssh目錄下
在三台機器上分別各自進入目錄,拷貝自己的公鑰文件為authroized_keys文件,讓三台機器先各自對自己免密碼ssh可以登錄
cd /root/.ssh
cp id_rsa.pub authorized_keys
將公鑰復制為authorized_keys文件,此時使用ssh連接本機就不需要輸入密碼了
接着配置三台機器互相之間的ssh免密碼登錄,在每台機器上執行下面的命令
使用
ssh-copy-id -i hostname
命令將本機的公鑰拷貝到指定機器的authorized_keys文件中
配置nacos
編譯nacos:下載nacos-server-1.4版本的源碼,接着進行編譯
git clone https://github.com/alibaba/nacos.git
windows的git客戶端,有一個軟件的,裝一下,也是一個命令行,就可以在本地執行git之類的命令都是可以的,半小時~1小時,甚至幾小時都有可能,看你自己的網速吧,github上下載還是挺慢的
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U # 半小時
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
【進到distribution/target 有一個zip文件】
然后【tar.gz】上傳到三台服務器上去,並且分別進行解壓縮,需要自己下載一個WinScp一個軟件,就可以界面里把你win宿主機上的文件直接拖拉上傳到虛擬機的指定目錄下去
重命名cluster.conf.example,去掉example,配置三台機器的地址和端口號,默認端口號是8848,使用默認的derby數據庫就行了,但是生產環境下,可以部署一個MySQL數據庫,執行nacos-mysql.sql初始化數據庫里的表之類的東西,然后分別修改他們的application.properties文件,里面修改數據庫配置
spring.datasource.platform=mysql
db.num=1
db.url.0=xxx
db.user=xx
db.password=xxx
分別進入三台機器的bin目錄,執行startup.sh,檢查logs目錄下的start.out啟動日志,如果啟動成功就可以了,訪問任何一個節點的8848端口的/nacos地址,進入nacos控制台,可以看到nacos集群的具體情況