三臺ubuntu系統機器java
ip | 計算機名 |
---|---|
192.168.2.132 | master |
192.168.2.133 | slave1 |
192.168.2.134 | slave2 |
下載:node
jdk-8u201-linux-x64.tar.gz elasticsearch-6.1.3.tar.gz
解壓jdk-8u201-linux-x64.tar.gz,並修改文件名,已方便配置環境變量linux
#解壓JDK安裝包 tar -zxvf jdk-8u201-linux-x64.tar.gz #修改文件夾名稱 mv jdk1.8.0_201 jdk #寫入系統環境變量中 vi /etc/profile export JAVA_HOME=/opt/jdk export PATH=$JAVA_HOME/bin:$PATH #讓系統環境變量生效 source /etc/profile
java -version
增長鏈接數,否則ES沒法啓動bootstrap
vi /etc/security/limits.conf
添加以下內容
注意:ubuntu系統不能寫*,必須寫root配置,不然不會生效ubuntu
#Ubuntu系統 root soft nofile 65536 root hard nofile 131072 root soft nproc 65536 root hard nproc 524288 root soft memlock unlimited root hard memlock unlimited supermap soft memlock unlimited supermap hard memlock unlimited #---------------------------------------------- #其餘系統 * soft nofile 65536 * hard nofile 131072 * soft nproc 65536 * hard nproc 524288 * soft memlock unlimited * hard memlock unlimited
增長鏈接數,否則ES沒法啓動vim
vi /etc/sysctl.conf 最後一行增長 vm.max_map_count=655360
運行命令跨域
sysctl -p
使之生效瀏覽器
ulimit -Sn 查看的是軟限制 ulimit -Hn 查看的是硬限制 ulimit -a 查看完整信息
若是信息都變過來後,能夠繼續,在其餘兩臺電腦上修改上述內容(配置JDK,修改系統環境變量操做)session
ES啓動必須使用非Root用戶啓動,因此咱們須要建立一個新用戶用於啓動cors
groupadd supermap useradd -m supermap -g supermap -p supermap passwd supermap
新添加完成後切換到新建立的用戶
su supermap
tar -zxvf elasticsearch-6.1.3.tar.gz
並建立存儲ES的數據目錄和日誌目錄
mkdir /home/supermap/elasticsearch-6.1.3/data mkdir /home/supermap/elasticsearch-6.1.3/logs
vi /home/supermap/elasticsearch-6.1.3/config/elasticsearch.yml
# ---------------------------------- Cluster ----------------------------------- cluster.name : my-cluster # ------------------------------------ Node ------------------------------------ node.name : node-1 # ----------------------------------- Paths ------------------------------------ path.data: /home/supermap/elasticsearch-6.1.3/data path.logs: /home/supermap/elasticsearch-6.1.3/logs # ----------------------------------- Memory ----------------------------------- bootstrap.memory_lock: true # ---------------------------------- Network ----------------------------------- network.host: 192.168.2.132 http.port: 9200 node.master: true node.data: true # --------------------------------- Discovery ---------------------------------- discovery.zen.ping.unicast.hosts: ["192.168.2.132", "192.168.2.133","192.168.2.134"] discovery.zen.minimum_master_nodes: 2 # ---------------------------------- Gateway ----------------------------------- gateway.recover_after_nodes: 3
其餘節點(其餘兩臺機器)slave1和slave2可複製上述內容,並修改其餘幾個關鍵信息,其餘同上述master一致。
node.name: node-2 node.master: true node.data: true network.host: 192.168.2.133
node.name: node-3 node.master: false node.data: true network.host: 192.168.2.134
運行三個節點順序無關,可是必須得用普通用戶啓動。
cd /home/supermap/elasticsearch-6.1.3/bin ./elasticsearch
或者後臺方式運行,若是之後臺方式運行,未來查看進程命令:ps aux | grep elasticsearch
./elasticsearch -d
能夠使用IP地址加9200端口進行訪問
當其餘機器集羣啓動起來後,能夠使用2種方法查看集羣的健康度
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1573459172 15:59:32 my-cluster green 3 3 0 0 0 0 0 0 - 100.0%
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1573459526 16:05:26 my-cluster green 3 3 0 0 0 0 0 0 - 100.0%
不能以root用戶啓動
內存鎖定失敗,切換到root用戶,修改limits.conf配置文件,vim /etc/security/limits.conf 添加* soft memlock unlimited / * hard memlock unlimited (ubutnu須要寫root soft memlock unlimited / root hard memlock unlimited) 臨時取消:ulimit -l unlimited
最大虛擬內存過小,切換到root用戶下,修改配置文件sysctl.conf
sudo vim /etc/sysctl.conf 添加下面配置: vm.max_map_count=655360 並執行命令: sysctl -p
按照上述所說的準備裏修改limits.conf配置文件, 修改以後查詢,ulimit -a
若是沒有變化,須要修改/etc/pam.d/su,將session required pam_limits.so 註釋打開,保存,重啓就會生效 臨時修改,ulimit -n 65536 ulimit -Sn 查看的是軟限制 ulimit -Hn 查看的是硬限制 ulimit -a 查看完整信息
內核過低的緣故,能夠升級linux內核(可忽略)
修改elasticsearch-6.1.3/config/elasticsearch.yml ,增長
bootstrap.system_call_filter: false
修改config\elasticsearch.yml,新增長以下配置,重啓ES便可
http.cors.enabled: true http.cors.allow-origin: /.*/