【ES實戰】ES6.7的tar包離線安裝幫助手冊

Elasticsearch6.7部署幫助手冊

校驗時間:2023年12月19日

文章目錄

  • Elasticsearch6.7部署幫助手冊
    • 安裝前準備
      • 安裝包
      • 安裝要求
        • 鎖定內存,修改最大文件描述符,最大線程數
        • 內核參數
      • 部署規劃
      • 端口規劃
      • 用戶規劃
      • 目錄規劃
    • 安裝步驟
      • 每個服務器配置JDK
      • 配置文件
        • master角色
        • node角色
    • 啟動與停止
      • 啟動
        • 首次啟動
      • 檢查
      • 停止

安裝前準備

安裝包

  • elasticsearch-6.7.2.tar.gz
  • elasticsearch-analysis-dynamic-synonym-6.7.2.zip
  • elasticsearch-analysis-ik-6.7.2.zip
  • elasticsearch-analysis-pinyin-6.7.2.zip
  • jdk1.8.0_161.tgz

插件安裝參考:ES插件安裝幫助說明

安裝要求

命令netstat -lntp 2>/dev/null|grep LISTEN|awk '{print $4}'|awk -F':' '{print $NF}'|sort|uniq查詢已經占用的端口

機器要求與大數據機器模板相同

以下是補充:

鎖定內存,修改最大文件描述符,最大線程數

vim /etc/security/limits.d/90-nproc.conf

確保:

nproc >= 20480
nofile >= 65536

增加:

* - memlock unlimited
內核參數

vim /etc/sysctl.conf

確保增加以下參數配置:

vm.zone_reclaim_mode = 0
net.ipv4.ip_local_reserved_ports=9500-9702
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
vm.swappiness=0
vm.overcommit_memory=1
vm.zone_reclaim_mode=0
vm.max_map_count=262144

更改內核后完成后執行命令:sysctl -p生效

部署規劃

采用master與data分離部署方式

集群A

服務器HostmasterdataCluster
es01yesyesA
es02yesyesA
es03yesyesA

集群B

服務器HostmasterdataCluster
es04yesyesB
es05yesyesB
es06yesyesB

端口規劃

純master角色節點:TCP端口:9201,HTTP端口:9200

純data角色節點:TCP端口:9301,HTTP端口:9300

用戶規劃

groupadd -g 750 es;
useradd -u 750 -g 750 es;

目錄規劃

將空間大的目錄軟鏈接到home的子目錄下,比如/opt或者/data。此文檔采用/data目錄為例:

  • 用戶目錄

    /home/es/software 鏈接至 /data/elasticsearch/software

  • 數據目錄

    /home/es/data鏈接至 /data/elasticsearch/data

  • 日志目錄

    /home/es/logs鏈接至 /data/elasticsearch/logs

安裝步驟

在操作之前安裝包已經分發到各個服務器的/data/install_package目錄。權限為755

root命令執行命令

chmod 755 -R /data/install_package/
# 1.新建用戶與用戶組
groupadd -g 750 es;
useradd -u 750 -g 750 es;
# 2.準備目錄
mkdir -p /data/elasticsearch;
chown -R es:es /data/elasticsearch/;

以下開始使用es用戶執行命令

su - es;
mkdir -p /data/elasticsearch/software;
mkdir -p /data/elasticsearch/logs;
mkdir -p /data/elasticsearch/data;
# master的元數據存儲目錄
mkdir -p /data/elasticsearch/masterdata;
ln -snf /data/elasticsearch/software /home/es/software;
ln -snf /data/elasticsearch/logs /home/es/logs;
ln -snf /data/elasticsearch/masterdata /home/es/masterdata;
# master角色節點的配置文件目錄
mkdir -p /home/es/software/config-master;
# node角色節點的配置文件目錄
mkdir -p /home/es/software/config-dnode0;# 3.將安裝包解壓至software目錄并配置軟鏈接
tar -zxf /data/install_package/jdk1.8.0_161.tgz -C /home/es/software/;
tar -zxf /data/install_package/elasticsearch-6.7.2.tar.gz -C /home/es/software/;
ln -snf /home/es/software/jdk1.8.0_161 /home/es/software/java;
ln -snf /home/es/software/elasticsearch-6.7.2 /home/es/software/elasticsearch;

每個服務器配置JDK

su - es;
vim /home/es/.bashrc;
# 在.bashrc文件中追加以下內容
export JAVA_HOME=/home/es/software/java
export PATH=$JAVA_HOME/bin:$PATH# 配置生效
source /home/es/.bashrc;
# 檢查jdk
java -version;

配置文件

master角色
ssh root@192.168.1.1 "su - es -c 'cp  /home/es/software/elasticsearch-6.7.2/config/* /home/es/software/config-master/'";
ssh root@192.168.1.3 "su - es -c 'cp  /home/es/software/elasticsearch-6.7.2/config/* /home/es/software/config-master/'";
ssh root@192.168.1.2 "su - es -c 'cp  /home/es/software/elasticsearch-6.7.2/config/* /home/es/software/config-master/'";

修改配置文件

vim config-master/elasticsearch.yml

cluster.name: demo-ccr-1
node.name: 192.168.1.1-master
node.master: true
node.data: false
node.max_local_storage_nodes: 3
path.data: /home/es/masterdata
path.logs: /home/es/logs/es
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
network.host: 192.168.1.1
http.port: 9200
transport.tcp.port: 9201
discovery.zen.ping.unicast.hosts: ["192.168.1.1:9201","192.168.1.2:9201","192.168.1.:9201"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.fd.connect_on_network_disconnect: true
discovery.zen.ping_timeout: 30s
discovery.zen.fd.ping_timeout: 120s
discovery.zen.fd.ping_retries: 6
discovery.zen.fd.ping_interval: 5s
gateway.expected_nodes: 3
gateway.expected_master_nodes: 3
gateway.expected_data_nodes: 3
gateway.recover_after_time: 5m
gateway.recover_after_nodes: 2
gateway.recover_after_master_nodes: 2
gateway.recover_after_data_nodes: 2
action.destructive_requires_name: true

vim config-master/jvm.options

sed -i "s|\${role_name}|master|g" software/config-master/jvm.options &>> tt.log
#SIT環境
-Xms4g
-Xmx4g
# PRD環境
-Xms31g
-Xmx31g

vim config-master/log4j2.properties

sed -i "s|\${role_name}|master|g" software/config-master/log4j2.properties &>> tt.log
rm -f tt.log
node角色
ssh root@192.168.1.1 "su - es -c 'cp  /home/es/software/elasticsearch/config/* /home/es/software/config-dnode0/'";
ssh root@192.168.1.2 "su - es -c 'cp  /home/es/software/elasticsearch/config/* /home/es/software/config-dnode0/'";
ssh root@192.168.1.3 "su - es -c 'cp  /home/es/software/elasticsearch/config/* /home/es/software/config-dnode0/'";

修改配置文件

vim config-dnode0/elasticsearch.yml

cluster.name: demo-ccr-1
node.name: 192.168.1.1-dnode0
node.master: false
node.data: true
node.max_local_storage_nodes: 3
path.data: /data/elasticsearch/data/dnode0
path.logs: /home/es/logs/es
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
network.host: 192.168.1.1
http.port: 9300
transport.tcp.port: 9301
discovery.zen.ping.unicast.hosts: ["192.168.1.1:9201","192.168.1.2:9201","192.168.1.:9201"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.fd.connect_on_network_disconnect: true
discovery.zen.ping_timeout: 30s
discovery.zen.fd.ping_timeout: 120s
discovery.zen.fd.ping_retries: 6
discovery.zen.fd.ping_interval: 5s
gateway.expected_nodes: 3
gateway.expected_master_nodes: 3
gateway.expected_data_nodes: 3
gateway.recover_after_time: 5m
gateway.recover_after_nodes: 2
gateway.recover_after_master_nodes: 2
gateway.recover_after_data_nodes: 2
action.destructive_requires_name: true

vim config-dnode0/jvm.options

sed -i "s|\${role_name}|dnode0|g" config-dnode0/jvm.options &>> tt.log
#SIT環境
-Xms4g
-Xmx4g
# PRD環境
-Xms31g
-Xmx31g

vim config-dnode0/log4j2.properties

sed -i "s|\${role_name}|dnode0|g" config-dnode0/log4j2.properties &>> tt.log
rm -f tt.log

啟動與停止

es-daemon.sh并非官網腳本。

啟動

首次啟動

先啟動所有的master,在啟動dnode1

su - es;
cd /home/es/software/elasticsearch/bin/;
sh es-daemon.sh start master;su - es;
cd /home/es/software/elasticsearch/bin/;
sh es-daemon.sh start dnode0

檢查

查詢節點是否正常

curl 'http://ip:http端口'
curl 'http://192.168.1.1:9200'

如果返回

{"name" : "192.168.1.1-dnode0","cluster_name" : "demo-ccr-1","cluster_uuid" : "CjcavbOjQPeymec-GOJgVA","version" : {"number" : "6.7.2","build_flavor" : "default","build_type" : "tar","build_hash" : "Unknown","build_date" : "Unknown","build_snapshot" : true,"lucene_version" : "7.7.0","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search"
}

則表示啟動成功,其余情況,則可能存在問題。

查詢集群整體健康

curl 'http://192.168.1.1:9200/_cat/health?v'

如果返回值中:status值為green,則表示啟動成功,其余情況,則可能存在問題

停止

su - es;
cd /home/es/software/elasticsearch/bin/;
sh es-daemon.sh stop mastersu - es;
cd /home/es/software/elasticsearch/bin/;
sh es-daemon.sh stop dnode1

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260262.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260262.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260262.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jenkins 部署文檔

Jenkins是一個非常出色的持續集成服務器,本文主要介紹在CentOS系統中Jenkins的基本安裝配置方法,供參考。一. 軟件包:1. 下載apache-maven-2.2.1-bin.tarhttp://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-2.2.1-bin.tar.gz…

牛人,多看看他們寫的東西

計算機大師 Donald E. Knuth(高德納) 算法大師,我最崇拜的計算機科學家,沒有之一!不認識高爺爺的人別說自己是學計算機的。《The Art of Computer Programming》絕對是計算機科學的圣經。對高爺爺的崇敬,對…

System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1)

System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1) 在vb里面 等價于ii-1 在C#里面 等價于i-- 是有C#自動轉VB時轉換的轉載于:https://www.cnblogs.com/YaDi/archive/2012/11/08/2759802.html

java快速查找中位數_用QuickSort快速查找中位數(median)

中位數(median)是一個排好序的元素中中間位置的元素,如果元素個數為偶數,則是中間兩個元素的平均值。例如(3,1,5)的中位數是3,而(2,1,3,5)的中位數是2.5。查找中位數屬于SelectionAlgorithms的一種。用快速排序可以做到每次divide之后&#x…

python安裝mysql數據庫_windows10安裝mysql-8.0.13(zip安裝)~Python安裝mysql

windows10安裝mysql-8.0.13(zip安裝)安裝環境說明系統版本:windows10mysql版本:mysql-8.0.13-winx64.zip下載地址:http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.13-winx64.zip解壓安裝包解壓路徑:D:\develop\soft…

centos 下使用sublime

CentOS 之 Sublime text3 安裝及配置(不支持中文輸入) sublime text 的界面友好,自動補全功能也不錯。 (本來用vimphp_function.txt的形式進行補全的,但是配置后的補全不太滿意,放棄了。 具體參見&#xff…

20121108團隊博客(蘇若)

PS:這本是屬于昨晚的帖子,對不住忠仔。現在補上。 忠仔,終于交給了我一個實實在在的任務,很是欣喜,也很是忐忑,生怕自己不能及時完成任務。 好了,廢話不多說,步入正題。 接下任務【畫…

python 倒排索引 性能_python 實現倒排索引的方法

代碼如下:#encoding:utf-8fin open(1.txt, r)建立正向索引:“文檔1”的ID > 單詞1:出現位置列表;單詞2:出現位置列表;…………“文檔2”的ID > 此文檔出現的關鍵詞列表。forward_index {}for line in fin:line…

pythonnet下載_Python for .NET

Python for .NET 是一個可以讓 Python 程序員近乎無縫的集成 .NET 通用語言環境 CLR 和以及為 .NET 開發者提供一個強大的應用腳本工具。通過這個項目你可在 .NET 中完全使用 Python 來編寫整個應用,使用 .NET 服務和組件。這個包并沒有用 CLR 語言實現一個 Python&…

webService詳解

什么是webService WebService,顧名思義就是基于Web的服務。它使用Web(HTTP)方式,接收和響應外部系統的某種請求。從而實現遠程調用. 1:從WebService的工作模式上理解的話,它跟普通的Web程序(比如ASP、JSP等)并沒有本…

讀《有人負責,才有質量:寫給在集市中迷失的一代》總結與感想

在大伙都在吹捧“市集”開發軟件的方式的大浪潮下,作者看到了其中的不當之處,發現其中有許多的問題,因此寫下這篇文章給予吹捧“市集”的人一個提醒,甚至警告。 在該文章里,作者認為“市集”里的“農民”不可能建造出和…

php 判斷是否文件,利用PHP判斷文件是否為圖片的方法總結

前言在網頁設計中,如果需要圖片,我們通常拿到的是一個圖片的文件名。僅僅通過文件名是無法判斷該文件是否是一個圖片文件的。或許有的人以為通過后綴名就可以判斷,別忘了文件的后綴名是可以隨便改動的。更何況,在 Linux 系統下是不…

textedit怎么插入數據_還在手動插入Excel交叉空白行?這個小技巧10秒搞定

導讀:前幾天有同學在后臺提問,怎么快速在Excel中隔行插入一行或者多行空白行,其實在早期我們分享的小視頻中有利用過類似的小技巧來制作工資條,今天我們用它來插入空白行。文/ 芒種學院指北針Hello,大家好,…

python制作安裝包(setup.py)

1.制作setup.py from distutils.core import setupsetup(nameMyblog,version1.0,descriptionMy Blog Distribution Utilities,authorlujianxing,author_emaillujianxinglujianxing.com,urlhttp://blog.lujianxing.com,py_modules[foo] ) py_modules 定義 需要打包的模塊名 2.創…

[Ruby]$: 是什么意思?

ruby comes with a set of predefined variables$: default search path (array of paths)其他Ruby特殊變量: $! 最近一次的錯誤信息 $ 錯誤產生的位置 $_ gets最近讀的字符串 $. 解釋器最近讀的行數(line number) $& 最近一次與正則表達式匹配的字符串 $~ 作為…

rocketmq 啟動_016【windows版Rocketmq】小白學習Rocketmq單機部署

以前都是聽說MQ,或者在別人搭建好的基礎上去使用,沒有自己動手搭建過,就沒有更深入去理解。現在機會來啦.啦啦.啦啦啦......引用自己的CSDN文章href"https://blog.csdn.net/chenzhong2010/article/details/106699590或點擊左下角“閱讀原…

WPF WebBrowser 加載 html ,出現安全警告, 運行 腳本和 activeX 控件,

對于你的問題&#xff0c;只需要在你的HTML首行添加如下代碼即可隱藏安全提示條&#xff1a; <!-- saved from url(0014)about:internet --> 還有一個可選方案是使用Winform的WebBrowser控件&#xff0c;不需要更改HTML代碼&#xff0c;也不會出現安全提示&#xff0c;需…

資料下載資源網站

腳本之家&#xff1a;www.jb51.net 轉載于:https://www.cnblogs.com/dreammyle/p/3850250.html

php異步處理下載文件,異步處理Excel文件導入【流程圖+PHP示例】

面向管理后臺的系統中&#xff0c;經常會有文件導入的需求。常規的做法就是同步等待&#xff0c;但在業務關系復雜(多表數據校驗)、數據量較大的情況下&#xff0c;管理人員只能等結果&#xff0c;也可能會等到超時。使用異步的話&#xff0c;將導入數據的功能與后端接口解耦&a…

tcp client.cs

public class stateobject { public socket worksocket null; public const int Buffer_Size2048; public byte[] buffer new byte[Buffer_size]; public stringbuilder sb new stringbuilder(); } 轉載于:https://www.cnblogs.com/neumik/archive/2012/11/15/2771024.ht…