大數據高可用集群環境安裝與配置(01)——服務器基礎配置


這段時間在做大數據方面的開發,使用Hadoop、HBase、Spark、Spart Streaming、Kafka、Docker、Kubernetes等等平台與組件,在服務器運維方面也在模仿着別人重復造輪子。要基於這些系統進行開發,就必須搭建一套穩定的服務器環境,雖然網上有大量的文章與教程,但在學習使用的過程中,還是踩了無數個坑,熬了不知多少個夜晚與周末,直到現在才算是真正上手,能快速搭建好平台,對出現的問題也能快速響應做出處理,當然,現在的積累還是遠遠不夠,還需要繼續努力,深入研究這些系統的內核與運行機制。

接下來這些章節就是這段時間的學習成績,記錄下來,以后有需要時方便查看。

 

1.  集群部署規划(5節點)

在本地創建了5台虛擬機,每台分配2核CPU、2G內存和20G硬盤

IP分別為:

192.168.10.90
192.168.10.91
192.168.10.93
192.168.10.95
192.168.10.96

具體的安裝規划如下

服務 master master_backup node1 node2 node3 備注
IP 192.168.10.90 192.168.10.91 192.168.10.93 192.168.10.95 192.168.10.96 各服務器ip地址
JDK java運行環境
QuorumPeerMain       ZooKeeper集群管理調度工具
DFSZKFailoverController       ZooKeeper集群容災控制器
JournalNode       集群容災控制器數據節點
NameNode       Hadoop NameNode
ResourceManager       Hadoop節點資源管理
SecondaryNameNode       Hadoop SecondaryNameNode
NodeManager     Hadoop節點管理
DataNode     Hadoop節點存儲
HMaster       HBase Master
HRegionServer     HBase存儲節點
Master       Spark Master
Worker     Spark工作節點
Kafka       Kafka分布式隊列


2. 關閉防火牆

systemctl stop firewalld
systemctl disable firewalld

 

3. 禁用SELinux安全策略

setenforce 0

vi /etc/selinux/config

將SELINUX值修改為disable

重啟服務器使其生效

4. 安裝常用工具包

yum install pcre-devel -y
yum install openssl openssl-devel -y
yum install gcc gcc-c++ ncurses-devel perl -y
yum install zlib zlib-devel rsync xinetd -y
yum install wget lrzsz libxml2 -y
yum install kernel-devel libxslt-devel libpqxx-devel libffi-devel python-devel libpq-dev -y

 

5. 優化服務器網絡環境配置

vi /etc/sysctl.conf

將里面的配置內容修改為下面配置

 

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time=120


# see details in https://help.aliyun.com/knowledge_detail/39428.html
net.ipv4.conf.all.rp_filter=0
# net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_announce=2


# see details in https://help.aliyun.com/knowledge_detail/41334.html
# net.ipv4.tcp_max_tw_buckets = 5000
# net.ipv4.tcp_syncookies = 1
# net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
# net.core.somaxconn = 262144
net.core.somaxconn = 2048
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 10
net.ipv4.tcp_keepalive_probes=5
net.ipv4.ip_local_port_range = 1024 65535
vm.overcommit_memory = 1
fs.file-max = 1024000

  

運行命令,讓配置生效

sysctl –p

 

6.設置打開文件數限制

輸入命令

vi /etc/security/limits.conf

添加下面代碼

root soft nofile 1024000
root hard nofile 1024000
* soft nofile 1024000
* hard nofile 1024000

輸入命令

vi /etc/rc.local

添加下面代碼

ulimit -SHn 1024000

重啟服務器輸入下面命令查看是否生效

ulimit -n

 

6. 更新yum

yum update

可以完成以上安裝后,再從虛擬機上克隆出服務器,完成克隆后,記得重置虛擬網卡MAC地址

 

7. 修改Hosts設置

所有服務器都做以下操作:

vi /etc/hosts

添加下面內容

192.168.10.90 master
192.168.10.91 master-backup
192.168.10.93 node1
192.168.10.95 node2
192.168.10.96 node3

服務器分別運行下面命令,修改對應的主機名稱

hostnamectl set-hostname master
hostnamectl set-hostname master-backup
hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3

PS:服務器設置的hostname不能有下划線,會影響hadoop集群配置格式化namenode時出錯

  

版權聲明:本文原創發表於 博客園,作者為 AllEmpty 本文歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則視為侵權。

作者博客:http://www.cnblogs.com/EmptyFS/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM