Ⅰ linux上怎麼啟動elasticsearch
如何實現mysql與elasticsearch的數據同步?逐條轉換為json顯然不合適,需要藉助第三方工具或者自己實現。核心功能點:同步增、刪、改、查同步。
2、mysql與elasticsearch同步的方法有哪些?優缺點對比?
目前該領域比較牛的插件有:
1)、elasticsearch-jdbc,嚴格意義上它已經不是第三方插件。已經成為獨立的第三方工具。
Ⅱ 如何在linux中啟動logstash
在配置文件
input {
file {
type => "json"
path => "/home/hadoop/xinwang_XW351464_2110"
}
}
output {
elasticsearch {
cluster => "es_master"
#manage_template => false
embedded => true
index => "huhu"
}
}
版本是logstash-1.3.2,es版本是1.1.1
錯誤提示
java -jar logstash-1.3.2-flatjar.jar agent -f ogstash-syslog.conf
Using milestone 2 input plugin 'file'. This plugin should be stable, but if you see strange behavior, please let us know! For more information on plugin milestones, see http://logstash.net/docs/1.3.2/plugin-milestones {:level=>:warn}
log4j, [2014-10-31T11:55:01.977] WARN: org.elasticsearch.discovery: [Jocasta] waited for 30s and no initial state was set by the discovery
Unable to check template. Automatic template management disabled. {:error=>"waited for [30s]",
Redhat 5.7 64bit / CentOS 5.x
JDK 1.6.0_45
logstash 1.3.2 (內帶kibana)
elasticsearch 0.90.10
redis 2.8.4
對應下版本
Ⅲ 配置Elasticsearch
Elasticsearch船隻具有良好的默認值,並且只需要很少的配置。可以在運行的集群上使用集群更新設置API更改大多數設置。
配置文件應該包含特定於節點的設置(例如node.name和路徑),或者節點為了能夠加入集群而需要的設置,例如 cluster.name 和 network.host 。
Elasticsearch有三個配置文件:
這些文件位於config目錄中,其默認位置取決於安裝是來自存檔分發版(tar.gz或zip)還是包分發版(Debian或RPM包)。
對於存檔發行版,config目錄位置默認為 $ES_HOME/config 。配置目錄的位置可以通過 ES_PATH_CONF 環境變數改變,如下所示:
或者,您可以通過命令行或shell配置文件導出ES_PATH_CONF環境變數。
對於包分發,配置目錄位置默認為 /etc/elasticsearch 。配置目錄的位置也可以通過 ES_PATH_CONF 環境變數更改,但是請注意,僅在shell中設置是不夠的。相反,這個變數來源於 /etc/default/elasticsearch (用於Debian包)和 /etc/sysconfig/elasticsearch (用於RPM包)。您需要相應地在其中一個文件中編輯 ES_PATH_CONF=/etc/elasticsearch 條目,以更改配置目錄的位置。
配置格式為YAML。下面是更改數據和日誌目錄路徑的示例:
設置也可以扁平化如下:
在YAML中,你可以將非標量值格式化為序列:
雖然不太常見,但你也可以將非標量值格式化為數組:
使用${…}符號將被替換為環境變數的值。例如:
環境變數的值必須是簡單字元串。使用逗號分隔的字元串來提供Elasticsearch將解析為列表的值。例如,Elasticsearch將以下字元串分割為 ${HOSTNAME} 環境變數的值列表
集群和節點設置可以根據配置方式進行分類:
您可以使用 集群更新設置API 在運行的集群上配置和更新動態設置。您還可以使用 elasticsearch.yml 在未啟動或關閉的節點上本地配置動態設置。
使用集群更新設置API進行的更新可以是持久的(跨集群重啟應用),也可以是短暫的(在集群重啟後重置)。您還可以通過使用API為臨時或持久設置賦值為空來重置它們。
如果您使用多個方法配置相同的設置,Elasticsearch將按照以下優先順序應用這些設置:
例如,您可以應用瞬變設置來覆蓋持久設置或 elasticsearch.yml 設置。然而,對 elasticsearch.yml 的更改,不會覆蓋已定義的瞬態或持久設置。
最好使用集群更新設置API設置動態的集群范圍設置,並使用 elasticsearch.yml 僅用於本地配置。使用集群更新設置API可以確保所有節點上的設置是相同的。如果您不小心在 elasticsearch.yml 中配置了不同的設置。在不同的節點上,很難注意到差異。
靜態設置只能在未啟動或關閉的節點上使用 elasticsearch.yml 進行配置。
必須在集群中的每個相關節點上設置靜態設置
Elasticsearch開始時只需要很少的配置,但是在生產環境中使用集群之前,有很多方面需要考慮:
Elasticsearch將創建索引的數據寫入索引,將數據流寫入數據目錄。Elasticsearch將自己的應用程序日誌(其中包含關於集群運行狀況和操作的信息)寫入日誌目錄
對於macOS .tar.gz、Linux .tar.gz和Windows .zip安裝,數據和日誌默認是 $ES_HOME 的子目錄。但是,在升級過程中, $ES_HOME 中的文件有被刪除的風險
In proction, we strongly recommend you set the path.data and path.logs in elasticsearch.yml to locations outside of $ES_HOME . Docker , Debian , RPM , macOS Homebrew , and Windows .msi installations write data and log to locations outside of $ES_HOME by default.
To avoid errors, only Elasticsearch should open files in the path.data directory. Exclude the path.data directory from other services that may open and lock its files, such as antivirus or backup programs.
Supported path.data and path.logs values vary by platform
只有當一個節點與集群中的所有其他節點共享 cluster.name 時,該節點才能加入集群。默認名稱是 elasticsearch ,但是您應該將其更改為描述集群用途的適當名稱。
不要在不同的環境中重用相同的集群名稱。否則,節點可能會加入錯誤的集群
Elasticsearch使用 node.name 作為Elasticsearch特定實例的人類可讀標識符。這個名稱包含在許多api的響應中。當Elasticsearch啟動時,節點名默認為機器的主機名,但是可以在 elasticsearch.yml 中顯式配置
預設情況下,Elasticsearch只綁定到 127.0.0.1 和 [::1] 等環回地址。這對於在單個伺服器上運行一個或多個節點的集群進行開發和測試已經足夠了,但是 彈性生產集群 必須包含其他伺服器上的節點。有許多 網路設置 ,但通常你只需要配置 network.host :
當你為 network.host 提供值時。Elasticsearch假定您正在從開發模式轉向生產模式,並將一些系統啟動檢查從警告升級到異常。看看 開發和生產模式 之間的區別。
在投入生產之前,配置兩個重要的發現和集群形成設置,以便集群中的節點能夠相互發現並選擇一個主節點。
Elasticsearch可以開箱即用,無需任何網路配置,它將綁定到可用的環回地址,並掃描本地埠 9300 到 9305 ,以便與運行在同一伺服器上的其他節點連接。這種行為提供了一種無需進行任何配置的自動集群體驗。
當您希望與其他主機上的節點形成集群時,使用 靜態 discovery.seed_hosts 設置. This setting provides a list of other nodes in the cluster that are master-eligible and likely to be live and contactable to seed the discovery process .
此設置接受集群中所有符合主節點的地址的YAML序列或數組。每個地址可以是一個IP地址,也可以是通過DNS解析為一個或多個IP地址的主機名。
當您第一次啟動Elasticsearch集群時, 集群引導 步驟將確定在第一次選舉中計票的符合主資格的節點集。在 開發模式 下,如果沒有配置發現設置,這個步驟將由節點自己自動執行。
因為自動引導 本身就不安全 ,,所以在生產模式下啟動新集群時,必須顯式列出符合主資格的節點,這些節點的投票應該在第一次選舉中計算。您可以使用集群設置此列表。 initial_master_nodes 設置。
在集群第一次成功形成之後,刪除每個節點配置中的 Initial_master_nodes 設置。在重新啟動集群或向現有集群添加新節點時,不要使用此設置。
通過節點的 node.name 標識初始主節點, 該節點默認為主節點的主機名。請確保 cluster.initial_master_nodes 值 與 node.name 完全匹配如果您使用完全限定的域名(FQDN),例如master-node-a.example.com作為您的節點名,那麼您必須在此列表中使用FQDN。相反,如果node.name是沒有任何尾隨限定符的裸主機名,您也必須省cluster.initial_master_nodes中的尾隨限定符如果您使用完全限定的域名(FQDN),例如 master-node-a.example.com 作為您的節點名, 那麼您必須在此列表中使用FQDN。相反,如果f node.name 是沒有任何尾隨限定符的裸主機名,您也必須省略 cluster.initial_master_nodes 中的尾隨限定符。
請參見 bootstrapping a cluster 以及 發現和集群形成設置 .
默認情況下,Elasticsearch會根據節點的 角色 和總內存自動設置JVM堆大小。對於大多數生產環境,我們建議使用默認大小。
自動堆大小需要 bundled JDK ,如果使用自定義JRE位置,則需要Java 14或更高版本的JRE。
如果需要,您可以通過手動 設置JVM堆大小 來覆蓋默認大小
默認情況下,Elasticsearch將JVM配置為將堆內存溢出異常轉儲到默認數據目錄。在RPM和Debian軟體包中,數據目錄是/var/lib/elasticsearch。在Linux、MacOS和Windows發行版上,數據目錄位於Elasticsearch安裝的根目錄下。
如果此路徑不適合接收堆轉儲,請修改 -XX:HeapDumpPath=… jvm.options
默認情況下,Elasticsearch啟用垃圾收集(GC)日誌。這些是在jvm中配置的 jvm.options 並輸出到與Elasticsearch日誌相同的默認位置。默認配置每64mb輪換一次日誌,最多可以消耗2gb的磁碟空間。
您可以使用 JEP 158: Unified JVM Logging 中描述的命令行選項重新配置JVM日誌。除非您更改了默認jvm。選項文件,Elasticsearch默認配置將應用於您自己的設置之外。要禁用默認配置,首先通過提供 -Xlog:disable 選項禁用日誌記錄,然後提供您自己的命令行選項。這將禁用所有JVM日誌記錄,因此一定要檢查可用選項並啟用所需的所有內容。
要查看原始JEP中未包含的其他選項,請參見使用 JVM統一日誌框架啟用日誌記錄 .
Change the default GC log output location to /opt/my-app/gc.log by creating $ES_HOME/config/jvm.options.d/gc.options with some sample options:
Configure an Elasticsearch Docker container to send GC debug logs to standard error ( stderr ). This lets the container orchestrator handle the output. If using the ES_JAVA_OPTS environment variable, specify:
默認情況下,Elasticsearch使用啟動腳本直接在系統臨時目錄下創建的私有臨時目錄。
在某些Linux發行版上,如果最近沒有訪問過/tmp中的文件和目錄,系統實用程序將清除它們。如果需要臨時目錄的特性長時間不使用,那麼在Elasticsearch運行時,這種行為會導致私有臨時目錄被刪除。如果隨後使用需要此目錄的特性,則刪除私有臨時目錄會導致問題。
如果您使用.deb或.rpm包安裝Elasticsearch,並在systemd下運行它,那麼Elasticsearch使用的私有臨時目錄將被排除在定期清理之外。
如果您打算在Linux或MacOS上長時間運行.tar.gz發行版,請考慮為Elasticsearch創建一個專用的臨時目錄,該目錄不在將舊文件和目錄清除的路徑下。這個目錄應該設置許可權,以便只有作為Elasticsearch運行的用戶才能訪問它。然後,在啟動Elasticsearch之前,設置$ES_TMPDIR環境變數指向這個目錄。
默認情況下,Elasticsearch將JVM配置為將致命錯誤日誌寫入默認日誌目錄。對於 RPM 和 Debian 軟體包, 這個目錄是 /var/log/elasticsearch . On Linux and MacOS and Windows 發行版, logs 目錄位於Elasticsearch安裝根目錄下。
這些日誌是JVM遇到致命錯誤(例如分段錯誤)時產生的。如果此路徑不適合接收日誌,請修改 -XX:ErrorFile=... 在 jvm.options 條目。
在災難中,快照可以防止數據永久丟失。快照生命周期管理是對集群進行定期備份的最簡單方法。有關更多信息,請參見備份集群。
在災難中, 快照 可以防止數據永久丟失. 快照生命周期管理 是對集群進行定期備份的最簡單方法. 有關更多信息, 請參見 備份集群 。
備份集群的唯一可靠和受支持的方法是使用快照。您不能通過復制Elasticsearch集群節點的數據目錄來備份該集群。不支持從文件系統級備份恢復任何數據的方法。如果試圖從這樣的備份恢復集群,可能會出現損壞、丟失文件或其他數據不一致的報告,或者看起來已經成功地悄無聲息地丟失了一些數據。
有些設置是敏感的,僅依靠文件系統許可權來保護它們的值是不夠的。對於這個用例,Elasticsearch提供了一個密鑰存儲庫和 elasticsearch -keystore 工具 來管理密鑰存儲庫中的設置。
只有重新啟動Elasticsearch後,對keystore的所有修改才會生效。
這些設置就像elasticsearch中的常規設置一樣。Yml配置文件,需要在集群中的每個節點上指定。目前,所有安全設置都是特定於節點的設置,在每個節點上必須具有相同的值。
Just like the settings values in elasticsearch.yml , 對密鑰存儲庫內容的更改不會自動應用到運行的Elasticsearch節點。重新讀取設置需要重新啟動節點。但是,某些安全設置被標記為 可重新載入 。. Such settings can be re-read and applied on a running node .
所有安全設置的值(無論是否可重新載入)必須在所有集群節點上相同。在進行所需的安全設置更改後,使用 bin/elasticsearch-keystore add 命令, call:
keystore-password : 用於加密Elasticsearch密鑰庫的密碼
此API在每個集群節點上解密並重新讀取整個密鑰存儲庫,但只應用可重新載入的安全設置。對其他設置的更改直到下次重啟才會生效。一旦調用返回,重新載入就完成了,這意味著依賴於這些設置的所有內部數據結構都已更改。所有的設置都應該從一開始就具有新值。
當更改多個可重新載入的安全設置時,在每個集群節點上修改所有安全設置,然後發出 reload_secure_settings 調用,而不是在每次修改後重新載入。
有可重新載入的安全設置:
Ⅳ Elasticsearch在Linux環境下的2種運行和停止方式
最近在學習elasticsearch,我之前對這個還是個菜鳥經過2天的學習來記錄下我自己關於Elasticsearch在Linux環境下的2種啟動和停止方式:
第一種:
1、前台運行:
運行結果
2、ctrl+c停止運行
停止後:
第二種:後端運行
1、後端運行的命令
bin/elasticsearch -d
結果
2、查看elasticsearch被那個埠佔用和停止
2-1、採用jps命令查看
2-2、採用kill -9 埠來停止運行
所以:
若是es的前台運行,則用ctrl + c來停止。
若是es的後台運行,則用kill -9 進程號來停止。
Ⅳ 如何以服務的形式啟動Elasticsearch(ES)
1.首先打開你自己的Elasticsearch的安裝目錄,然後找到到「bin」目錄打開(如圖1)
2.現在我們復制圖2中的目錄地址: E:\ES\elasticsearch-7.6.0\bin (我想Elasticsearch普通的啟動你已經知道了吧)
3.然後打開cmd終端程序(別說你不會,這里有鏈接: 如何獲取電腦的IP地址? ),因為我們要執行bin目錄下的「elasticsearch-service.bat」文件(如圖3)
4.打開之後,進入到「E:\ES\elasticsearch-7.6.0\bin」的順序:先切換到E盤,然後才能進入到「E:\ES\elasticsearch-7.6.0\bin」目錄下。
命令輸入:(注意是英文的冒號)
E:
cd E:\ES\elasticsearch-7.6.0\bin
(註:cmd終端程序不能用快捷鍵Ctrl+V,剛才復制的目錄,右擊選擇「粘貼」就行)
最後執行「elasticsearch-service.bat」文件,等待片刻就行
命令輸入:
elasticsearch-service.bat install
效果圖如圖4所示
5.然後我們打開任務管理器(別說你不知道,鏈接: 如何解除佔用埠的問題? ),選擇「服務」,找到「elasticsearch-service-x64」,右擊啟動服務(如圖5),然後在瀏覽器里輸入 http://+IP地址+:9200/ 就可以查看elasticsearch是否啟動成功(你不會忘了吧,鏈接: Elasticsearch的簡單配置和啟動 )
在剛才的「E:\ES\elasticsearch-7.6.0\bin」目錄下,輸入命令(如圖6):
elasticsearch-service.bat remove
Ⅵ 解決ElasticSearch啟動報錯
新建普通用戶啟動報錯:Error: Could not find or load main class org.elasticsearch.tools.JavaVersionChecker Elasticsearch requires at least Java 8 but your Java version from /usr/java/jdk1.8.0_112/bin/java does not meet this requirement
解決方法:將es放到admin目錄下運行
運行發現報以下錯誤:
這是admin許可權不夠的導致,解決辦法,將用戶切換到root用戶,退出到elasticseach-5.4.0的父目錄,執行以下命令:
chown admin elasticsearch-5.4.0 -R
切換到admin用戶啟動es發現報以下錯誤:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
配置集群後啟動報以下錯誤:
問題一:ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]
解決:切換到root用戶,編輯limits.conf 添加類似如下內容
vi /etc/security/limits.conf
添加如下內容:
問題二:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解決:切換到root用戶,進入limits.d目錄下修改配置文件。
vi /etc/security/limits.d/90-nproc.conf
修改如下內容:
問題三:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解決:切換到root用戶修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
並執行命令:
sysctl -p
然後,重新啟動elasticsearch,即可啟動成功。
Ⅶ Elasticsearch 集群
一個 Elasticsearch 集群由一個或多個節點(Node)組成,每個集群都有一個共同的集群名稱作為標識。
一個 Elasticsearch 實例即一個 Node,一台機器可以有多個實例,正常使用下每個實例應該會部署在不同的機器上。Elasticsearch 的配置文件中可以通過 node.master、node.data 來設置節點類型。
node.master:表示節點是否具有成為主節點的資格
node.data:表示節點是否存儲數據
節點即有成為主節點的資格,又存儲數據。這個時候如果某個節點被選舉成為了真正的主節點,那麼他還要存儲數據,這樣對於這個節點的壓力就比較大了。Elasticsearch 默認每個節點都是這樣的配置,在測試環境下這樣做沒問題。實際工作中建議不要這樣設置,這樣相當於主節點和數據節點的角色混合到一塊了。
節點沒有成為主節點的資格,不參與選舉,只會存儲數據。在集群中需要單獨設置幾個這樣的節點負責存儲數據,後期提供存儲和查詢服務。主要消耗磁碟,內存。
不會存儲數據,有成為主節點的資格,可以參與選舉,有可能成為真正的主節點。普通伺服器即可(CPU、內存消耗一般)。
不會成為主節點,也不會存儲數據,主要是針對海量請求的時候可以進行負載均衡。普通伺服器即可(如果要進行分組聚合操作的話,建議這個節點內存也分配多一點)
在生產環境下,如果不修改 Elasticsearch 節點的角色信息,在高數據量,高並發的場景下集群容易出現腦裂等問題。
一個集群下可以有多個索引,每個索引是一系列相同格式文檔的集合 (Elasticsearch 6.x 已不支持一個索引下多個Type) 。
每個索引有一個或多個分片,每個分片存儲不同的數據。分片可分為主分片( primary shard)和復制分片(replica shard),復制分片是主分片的拷貝。默認每個主分片有一個復制分片(默認一個索引創建後會有5個主分片,即:5主+5復制=10個分片),一個索引的復制分片的數量可以動態地調整,復制分片從不與它的主分片在同一個節點上(防止單點故障)。
復制分片有兩個作用:
根據以下說明調整 elasticsearch.yml 對應參數配置,node2、node3 其他配置與node1一致。
到目前位置,集群的配置就完成了,下面我們分別啟動每個實例。
根據配置文件中的注釋:
所以我們配置了 discovery.zen.minimum_master_nodes: 2 ,所以必須有兩個主節點啟動成功,集群才算生效。
進入目錄 elasticsearch-6.2.1-1 啟動第一個節點,執行命令:bin\elasticsearch.bat。從日誌中可以看出並沒有成功,因為沒發現足夠的master節點。
當第二個master節點啟動成功時,整個集群狀態變為正常。
3個節點全部啟動成功,通過 elasticsearch-head 插件查看集群狀態,通過集群健康值:green,表示集群一切正常。目前集群內沒有任何數據,所以看不出索引與分片的情況。
Elasticsearch 一般會配合 Kibana + X-Pack 對集群數據分析、監控等,官方標配。這里使用了 elasticsearch-head 插件,一個比較小巧的工具。插件的安裝方法請看: elasticsearch-head 安裝介紹
添加測試數據:
從截圖可以看出,目前一共3個節點,一個索引 test,test 索引有5個主分片(邊框加粗),5個復制分片(邊框不加粗),分片會別均勻的分布到每個節點中。
我們嘗試幹掉node3,node3 從集群退出之後,集群在短時間內會對分片進行重新分布,當然依賴遵循主、復制分片不會在同一個Node。
如果我們繼續把node2幹掉,那麼整個集群就掛了,集群健康值:未連接。因為當前可用的主節點數 1 < discovery.zen.minimum_master_nodes 設置的 2。
我們嘗試把 discovery.zen.minimum_master_nodes 設置成 1,然後重啟啟動一個節點,會發現有一個 Unassigned 的節點,集群健康值:yellow (5 of 10)。這種情況下代表主分片全部可用,存在不可用的復制分片,5個復制分片沒有分配到節點上,不過此時的集群是可用的,我們任何請求都能處理,只是所有的操作都落到主分片上,而且可能引發單點故障。當我們把第二個節點啟動後,一切就恢復正常了,主分片的數據會同步到復制分片。
實際生產環境,每個節點可能設置不同的節點類型,我們在3個節點的基礎上再增加兩個節點,然後調整 node.master 和node.data 的值,最終設置為2個主節點,2個數據節點,1個客戶端節點。
node1 和 node2 是具有主節點選舉許可權的節點,這里 node1 被選舉為master節點。node3 和 node4 是數據節點,所以數據分片只會分配在這兩個節點上。node5 是客戶端節點,最終是對請求起到負載均衡的作用。
如果是Linux環境下,啟動可能沒有這么順利,可以參考 Linux 環境下安裝 elasticsearch 5.x、6.x 問題匯總 。
Ⅷ linux中elasticsearch怎麼設置java
如果本地沒有Fedora
Docker映像文件,該命令就會首先自動下載映像文件,然後啟動Docker。
如果你想啟動採用某個發行版版本的容器,也可以這么做。比如說,想啟動Ubuntu
13.04
Docker,請執行下面這個命令:
$
docker.io
run
-i
-t
ubuntu:13.04
/bin/bash
Docker使用Linux網橋將容器彼此互聯起來,並將它們連接到外部網路。安裝了Docker後,你應該會看到默認情況下自動組建的docker0
Linux網橋。
你創建的每個容器都將連接到docker0網橋介面。
如果你想,也可以使用自定義Linux網橋將諸容器互聯起來。為此,你可以建立一個自定義網橋,並對它進行配置,如下所示。你可以為該網橋分配一個單獨的子網,並且從子網為Docker分配IP地址。我會使用10.0.0.0/24作為Docker子網。
Ⅸ Elasticsearch啟動及問題解決
配置JDK環境變數
在文件最後添加:
寫好後按esc進入底部命令模式,輸入:wq保存並退出
使配置文件生效
命令:
如果提示shasum命令找不到就試試yum install perl-Digest-SHA 我運行後就好使了
中途提示 選y就好
啟動命令:
訪問瀏覽器loalhost:9200
按照上面的步驟安裝、訪問瀏覽器9200埠,很多時候是訪問不了,這時候需要查看es的日誌。
註:出於安全考慮,elasticsearch默認不允許以root賬號運行。故需要創建一個用戶
解決辦法:
創建用戶,切換到創建的用戶,再運行。
註:系統沒有創建過普通用戶,需要使用adser命令先創建普通用戶,再切換到普通用戶,在重啟es前需要使用kill把啟動的進程殺掉。
這是切換自己創建的用戶後運行時,因為不是root,所以文件許可權不夠。
解決辦法:
先切換到root用戶登錄,然後修改配置文件:
配置文件中添加以下內容: (注意帶*)
記得修改完,先切換到自己創建的用戶,再運行elasticsearch
解決辦法:
先切換到root用戶下,然後執行修改配置文件
( 沒有這個文件的話:root用戶下vim會自動創建一個新的;自己創建的用戶下,不額外配置的話,vim沒有許可權創建 )
所以說,先切換到root用戶下
文件中添加以下內容:
然後執行命令:
記得修改完,先切換到自己創建的用戶,再運行elasticsearch
先切換到root用戶下,然後執行修改配置文件
修改文件中內容:
2019-08-22 03:16:26,465 main ERROR RollingFileManager (/home/leyou/elasticsearch/logs/elasticsearch.log) java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (許可權不夠) java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (許可權不夠)
解決辦法:
切換到root用戶下,再cd 到 elasticsearch安裝目錄下,進行用戶授權
2.6.1、本地 curl localhost:9200 成功訪問
其它機器通過ip無法訪問
解決辦法:
開放防火牆9200埠
2.6.2、bootstrap啟動 報錯,關鍵字 secComp
secComp,而elasticsearch5.2.0以上的版本默認bootstrap。system_call_filter為true進行檢測,所以導致檢測失敗,失敗後會導致es不能啟動。
文件中添加以下內容
第一步:通過命令:ps -ef|grep elasticsearch
第二步:通過命令: kill -9 進程號 關閉此進程。我的進程號為2912
第三步:重新啟動es。命令:./elasticsearch -d
參考文檔: https://blog.csdn.net/FansUnion/article/details/95963914 ;
參考文檔: https://blog.csdn.net/qq_41357211/article/details/100011139
Ⅹ 如何在linux系統的was中啟動節點
1、首先拷貝安裝包,分別命名為elasticsearch-6.2.4-001和elasticsearch-6.2.4-002。