1. 程式人生 > 實用技巧 >資料庫常見知識點總結-列式儲存、主鍵、儲存大資料量問題

資料庫常見知識點總結-列式儲存、主鍵、儲存大資料量問題

ES叢集搭建

安裝環境

需要至少準備兩臺伺服器,並安裝JDK環境。

我這裡用了2臺伺服器虛擬機器搭建的叢集測試。

1.安裝ES

下載ES的安裝包,我這裡用的是 elasticsearch-7.6.1-linux-x86_64.tar.gz

把安裝包通過工具拷貝到要安裝的目錄下,執行下列命令解壓:

tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz

進入config配置目錄下,修改elasticsearch.yml配置檔案

cd elasticsearch-7.6.1/config/
vim elasticsearch.yml

修改內容如下:

#叢集名稱,每臺節點的名稱必須相同
cluster.name: elasticsearch

#節點名稱,每臺不能一樣
node.name: node01
#是否可被選舉為主節點
node.master: true
#是否可儲存資料
node.data: true

#節點IP
network.host: 192.168.187.131
#ES訪問埠號
http.port: 9200
#資料儲存路徑
path.data: /tools/elasticsearch-7.6.1/data
#日誌儲存路徑
path.logs: /tools/elasticsearch-7.6.1/logs

#鎖住實體記憶體,不使用swap記憶體,有swap記憶體的可以開啟此項
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

#設定節點之間互動的tcp埠,預設是9300
transport.tcp.port: 9300
#設定是否壓縮tcp傳輸時的資料,預設為false,不壓縮
transport.tcp.compress: true
# 為了避免ES腦裂,叢集節點數最少為 半數+1
discovery.zen.minimum_master_nodes: 2
#自動發現拼其他節點超時時間
discovery.zen.ping_timeout: 3s
#設定叢集的初始節點列表
discovery.zen.ping.unicast.hosts: ["192.168.187.131","192.168.187.132"]
#是否支援跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

除了節點名稱,節點IP設定不一樣,其他伺服器節點的配置都相同,直接複製配置檔案即可。

修改其他配置:

  • jvm 記憶體不足,修改記憶體大小
vim elasticsearch/config/jvm.options

-Xms512m
-Xmx512m
  • 作業系統調優,在/etc/sysctl.conf新增如下內容
#系統最大開啟檔案描述符數
fs.file-max=655360
#限制一個程序擁有虛擬記憶體區域的大小
vm.max_map_count=655360

sysctl -p生效

  • 修改vim /etc/security/limits.conf檔案

    * soft nofile 65536
    * hard nofile 65536
    * soft nproc 65536
    * hard nproc 65536
    * soft memlock unlimited
    * hard memlock unlimited
    
  • 修改/etc/security/limits.d/90-nproc.conf檔案

    *          soft    nproc     1024     修改前
    *          soft    nproc     65536   修改後
    
  • ES的啟動不能使用root使用者,要建立一個普通使用者,並把ES檔案許可權賦予它

# 建立使用者組
groupadd es
# 建立使用者並新增至使用者組
useradd es -g es 
# 更改使用者密碼(輸入 123123)
passwd es
#賦予許可權
chown -R es:123456 elasticsearch-7.6.1
chmod -R 777 elasticsearch-7.6.1
  • 切換到es使用者下elasticsearch-7.6.1/bin目錄下,啟動
su es

./elasticsearch
#後臺啟動
./elasticsearch -d
  • 檢視啟動
netstat -tlnp | egrep '9200|9300'
service elasticsearch status
jps

其他節點ES也做如上修改即可


2.安裝kibana

​ Kibana是一個針對Elasticsearch的開源分析及視覺化平臺,用來搜尋、檢視互動儲存在Elasticsearch索引中的資料。使用Kibana,可以通過各種圖表進行高階資料分析及展示。

  Kibana讓海量資料更容易理解。它操作簡單,基於瀏覽器的使用者介面可以快速建立儀表板(dashboard)實時顯示Elasticsearch查詢動態。

  設定Kibana非常簡單。無需編碼或者額外的基礎架構,幾分鐘內就可以完成Kibana安裝並啟動Elasticsearch索引監測。

  • 下載kibana的安裝包kibana-7.6.1-linux-x86_64.tar.gz,注意kibana的版本要和安裝的ES對應,只需要一臺主節點安裝即可

​ 和ES放到一個目錄下安裝,執行解壓命令

tar -zxvf kibana-7.6.1-linux-x86_64.tar.gz
  • 編輯檔案config/kibana.yml ,配置屬性,做如下修改
#本機IP
server.host: "192.168.187.131"
#kibana訪問埠號
server.port: 5601
#連線的ES地址
elasticsearch.hosts: ["http://192.168.187.131:9200"]

#編碼格式
i18n.locale: "zh-CN"

#kibana的隨機密匙設定
xpack.reporting.encryptionKey: "es"
xpack.security.encryptionKey: "122333444455555666666777777788888888"
xpack.encryptedSavedObjects.encryptionKey: "122333444455555666666777777788888888"
  • 先啟動ES之後,在啟動kibana

    #切換到kibana的bin目錄下 執行命令
    nohup ./kibana &
    #檢視實時日誌,在bin目錄下
    tail -f  nohup.out
    #停止執行, 查到程序號,然後殺死
    netstat -anltp|grep 5601
    
  • kibana訪問 ip:5601,載入成功如下