#頭條創作挑戰賽#
安裝 Elasticsearch一、創建普通用戶
ES 不能使用 root 用戶來啟動,必須使用普通用戶來安裝啟動。這裡我們創建一個普通用戶以及定義一些常規目錄用于存放我們的數據文件以及安裝包等。
創建一個 es 專門的用戶(必須)
使用 root 用戶在三台機器執行以下命令
useradd lanson
passwd lanson
為了讓普通用戶有更大的操作權限,我們一般都會給普通用戶設置 sudo 權限,方便普通用戶的操作
三台機器使用 root 用戶執行 visudo 命令然後為 es 用戶添加權限
visudo
# 第100行
lanson ALL=(ALL) ALL
以下操作 使用 root 用戶 es 的相關的目錄, 三台虛拟機都需要創建
# 在node1、node2、node3創建es文件夾,并修改owner為lanson用戶
mkdir -p /export/server/es
chown -R lanson:lanson /export/server/es
将 es 的安裝包下載并上傳到 node1.服務器的/export/software 路徑下,然後進行解壓
使用 lanson 用戶來執行以下操作,将 es 安裝包上傳到 node1 服務器,并使用 es 用戶執行以下命令解壓。
# 解壓Elasticsearch
cd /export/software/
tar -zvxf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /export/server/es/
node1 服務器使用 lanson 用戶來修改配置文件
cd /export/server/es/elasticsearch-7.6.1/config
mkdir -p /export/server/es/elasticsearch-7.6.1/log
mkdir -p /export/server/es/elasticsearch-7.6.1/data
rm -rf elasticsearch.yml
vim elasticsearch.yml
cluster.name: lanson-es
node.name: node1
path.data: /export/server/es/elasticsearch-7.6.1/data
path.logs: /export/server/es/elasticsearch-7.6.1/log
network.host: node1
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node1", "node2"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"
修改 jvm.option 配置文件,調整 jvm 堆内存大小
node1 使用 lanson 用戶執行以下命令調整 jvm 堆内存大小,每個人根據自己服務器的内存大小來進行調整。
cd /export/server/es/elasticsearch-7.6.1/config
vim jvm.options
-Xms2g
-Xmx2g
node1 使用 lanson 用戶将安裝包分發到其他服務器上面去
cd /export/server/es/
scp -r elasticsearch-7.6.1/ node2:$PWD
scp -r elasticsearch-7.6.1/ node3:$PWD
node 與 node3 也需要修改 es 配置文件
node2 使用 lanson 用戶執行以下命令修改 es 配置文件
cd /export/server/es/elasticsearch-7.6.1/config
mkdir -p /export/server/es/elasticsearch-7.6.1/log
mkdir -p /export/server/es/elasticsearch-7.6.1/data
vim elasticsearch.yml
cluster.name: lanson-es
node.name: node2
path.data: /export/server/es/elasticsearch-7.6.1/data
path.logs: /export/server/es/elasticsearch-7.6.1/log
network.host: node2
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node1", "node2"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"
node3 使用 lanson 用戶執行以下命令修改配置文件
cd /export/server/es/elasticsearch-7.6.1/config
mkdir -p /export/server/es/elasticsearch-7.6.1/log
mkdir -p /export/server/es/elasticsearch-7.6.1/data
vim elasticsearch.yml
cluster.name: lanson-es
node.name: node3
path.data: /export/server/es/elasticsearch-7.6.1/data
path.logs: /export/server/es/elasticsearch-7.6.1/log
network.host: node3
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node1", "node2"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"
由于現在使用普通用戶來安裝 es 服務,且 es 服務對服務器的資源要求比較多,包括内存大小,線程數等。所以我們需要給普通用戶解開資源的束縛
1、普通用戶打開文件的最大數限制問題錯誤信息描述:
max file descriptors 4096 for elasticsearch process likely too low, increase to at least 65536
ES 因為需要大量的創建索引文件,需要大量的打開系統的文件,所以我們需要解除 linux 系統當中打開文件最大數目的限制,不然 ES 啟動就會抛錯
三台機器使用 lanson 用戶執行以下命令解除打開文件數據的限制
sudo vi /etc/security/limits.conf
添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
此文件修改後需要重新登錄用戶,才會生效
2、普通用戶啟動線程數限制問題錯誤信息描述
max number of threads 1024 for user es likely too low, increase to at least 4096
修改普通用戶可以創建的最大線程數
max number of threads 1024 for user es likely too low, increase to at least 4096
原因:無法創建本地線程問題,用戶最大可創建線程數太小
解決方案:修改 90-nproc.conf 配置文件。
三台機器使用 lanson 用戶執行以下命令修改配置文件
Centos6
sudo vi /etc/security/limits.d/90-nproc.conf
Centos7
sudo vi /etc/security/limits.d/20-nproc.conf
找到如下内容:
* soft nproc 1024
#修改為
* soft nproc 4096
3、普通用戶調大虛拟内存錯誤信息描述:
max virtual memory areas vm.max_map_count 65530 likely too low, increase to at least 262144
調大系統的虛拟内存
原因:最大虛拟内存太小
每次啟動機器都手動執行下。
三台機器執行以下命令
第一種調整: 臨時調整, 退出會話 重新登錄 就會失效的 (測試環境下配置)
sudo sysctl -w vm.max_map_count=262144
第二種: 永久有效 (生産中配置)
sudo vim /etc/sysctl.conf
在最後添加一行
vm.max_map_count=262144
備注:以上三個問題解決完成之後,重新連接 secureCRT 或者重新連接 xshell 生效
八、啟動 ES 服務三台機器使用 lanson 用戶執行以下命令啟動 es 服務
nohup /export/server/es/elasticsearch-7.6.1/bin/elasticsearch 2>&1 &
啟動成功之後 jsp 即可看到 es 的服務進程,并且訪問頁面
http://node1:9200/?pretty
http://node2:9200/?pretty
http://node3:9200/?pretty
能夠看到 es 啟動之後的一些信息
注意:如果哪一台機器服務啟動失敗,那麼就到哪一台機器的
/export/server/es/elasticsearch-7.6.1/log
這個路徑下面去查看錯誤日志
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!