您好,登錄后才能下訂單哦!
echo $JAVA_HOME
/home/admin/java/jdk1.8.0_131
es安裝不能使用root用戶啟動,所以要新建一個用戶,賦予用戶安裝目錄權限
然后去官網下載es最新版本,我這里用的是es6.2.3和es6.5.0,其中6.5.0是最新的穩定版。
解壓安裝后,進入配置文件目錄,修改配置文件。
cd elasticsearch-6.5.0/config/
vi jvm.options
![](http://doc.ailinux.net/uploads/es/images/m_983b9e9eb763a549d157765213dbb9e6_r.png)
修改內存為小于你服務器內存,比如如果你服務器的內存是8G,那么這邊可以配置為-Xms3g
接下來我們就可以正式去修改es的配置了
vi elasticsearch.yml
這邊先配置集群名,節點名,數據目錄存放路徑(此處需要新建es數據文件夾和日志文件夾,然后在配置文件中指定出來,數據文件夾里存放的是es的索引數據,如果做數據遷移,小版本之間可以直接拷貝數據文件夾中的indices文件夾完成遷移)
cluster.name: sxy
node.name: 6
node.master: true
node.data: true
path.data: /home/admin/dddd/es_data/data
path.logs: /home/admin/dddd/es_data/logs
設置為true來鎖住內存
bootstrap.memory_lock: true
設置任意地址連接
network.host: 0.0.0.0
http訪問端口
http.port: 9200
tcp訪問端口
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-credentials: true
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-origin: "*"
http.cors.allow-headers: X-Requested-With, X-Auth-Token, Content-Type, Content-Length, Authorization
集群配置
我這邊設內網ip192.168.0.6為主節點,es的配置一共分為主節點,數據節點,協調節點和攝取節點。節點配置請參考官網:https://www.elastic.co/guide/en/elasticsearch/reference/6.2/modules-node.html
discovery.zen.ping.unicast.hosts: ["192.168.0.6"]
discovery.zen.minimum_master_nodes: 1
gateway.recover_after_nodes: 3
path.repo: ["/home/admin/dddd/es_data/backup"]
discovery.zen.ping_timeout: 300s
discovery.zen.fd.ping_timeout: 300s
discovery.zen.fd.ping_interval: 300s
discovery.zen.fd.ping_retries: 6
集群索引緩存配置
indices.memory.index_buffer_size: 30%
indices.recovery.max_bytes_per_sec: 30gb
indices.breaker.fielddata.limit: 65%
indices.breaker.request.limit: 45%
indices.breaker.total.limit: 75%
http.max_content_length: 100mb
transport.tcp.compress: true
indices.fielddata.cache.size: 50mb
集群線程池配置
thread_pool.index.queue_size: 1600
thread_pool.index.size: 9
thread_pool.search.size: 64
thread_pool.get.size: 32
thread_pool.get.queue_size: 1600
thread_pool.bulk.size: 9
thread_pool.bulk.queue_size: 1600
在es6.2中需要用插件命令去安裝xpach做安全認證,而在es6.5中xpack已經變為內部模塊,所以直接配置就好了,因為xpach可以做權限控制,所以建議把它配置上。
es6.2配置方式為:cd elasticsearch-6.5.0/bin/x-pack
./certgen 然后生成ca.zip作為公鑰 ,依次輸入所有服務器的命令和內網ip來作為私鑰方便集群之間通信。
es6.5的配置方式為:cd elasticsearch-6.5.0/bin/
./elasticsearch-certgen 和es6.2一樣的方式生成各臺服務器公鑰和私鑰,不一樣的是,es6.5必須將各個服務器注冊內網域名,然后在詢問dns name的時候輸入內網域名(外網域名也可以,只是網速不如內網通信快),不然代碼tcp連接會報錯
在所有密鑰生成好后,將ca.zip文件夾分別拷貝至各個節點的config文件夾內,新建文件夾為x-pack_ssl (命名隨意),然后將ca.zip文件移動進去,解壓,然后在es配置文件里開啟xpack配置,如下:
xpack.security.enabled: true
xpack.ssl.key: x-pack_ssl/es6/es6.key
xpack.ssl.certificate: x-pack_ssl/es6/es6.crt
xpack.ssl.certificate_authorities: x-pack_ssl/ca/ca.crt
xpack.security.transport.ssl.enabled: true
開啟嗅探,集群通信使用
xpack.security.audit.index.client.transport.sniff: true
然后就可以啟動es集群了,cd elasticsearch-6.5.0/bin , sh elasticsearch
根據啟動報錯來判斷還有哪些配置沒有更改
可參考鏈接:https://blog.csdn.net/ntc10095/article/details/73650794
最后,用nginx代理,訪問域名:
{
"name" : "6",
"cluster_name" : "sxy",
"cluster_uuid" : "UV3fkxf2T7WH8r_bjUKrig",
"version" : {
"number" : "6.5.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "816e6f6",
"build_date" : "2018-11-09T18:58:36.352602Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。