Elasticsearch 7.0python
Elasticsearch 7.0 使用時遇到的坑
您好,接下來我會爲你們整理一下,本人在使用Elasticsearch 7.0 時遇到一些坑,但願對您有幫助。vim
Linux下安裝 Elasticsearch遇到的問題
基本安裝和配置我就不說了,網上百度一大推。接下來我描述一下問題安全
- 啓動報錯問題
當你在啓動Elasticsearch 時遇到跟上圖同樣的報錯信息時,先別慌。這不是什麼大問題,而是Elasticsearch 在從5.0版本開始後由於安全緣由,就不在容許 支持root 帳戶去啓動,因此你須要手動建立一個帳戶,而後再去啓動 就OK 了。
解決辦法:
接下來,您只須要按照循序複製 粘貼 執行就好了
adduser 用戶名(例:esroot)
passwd 用戶名(就是你剛剛設置的用戶名,我上面設置是esroot,因此這個地方
就是esroot)
app
執行完passwd 後,系統會讓你設置密碼,你設置密碼就好了。ide
而後,改一下es目錄所屬用戶:
chown esroot(這個就是你剛剛輸入的用戶名) 你的Elasticsearch安裝路徑 -R
spa
再而後,
vim /etc/security/limits.conf,再這個文件末尾加上
esroot soft nofile 65536
esroot hard nofile 65536
esroot soft nproc 4096
esroot hard nproc 4096
編輯完後,保存 退出
3d
繼續,去編輯另外一個文件,將裏面的 * 改成你剛剛設置的用戶名(esroot)
vim /etc/security/limits.d/20-nproc.conf
code
#Default limit for number of user’s processes to prevent
#accidental fork bombs.
#See rhbz #432903 for reasoning.
esroot soft nproc 4096
root soft nproc unlimited
編輯完成,保存 退出
blog
再編輯最好一個文件,
vim /etc/sysctl.conf,在末尾加上:
vm.max_map_count = 655360
編輯完成,保存 退出
圖片
而後執行,sysctl -p
當輸出:
kernel.printk = 5
…
…
…
vm.max_map_count = 655360
表明一切配置完成,沒有錯誤
接下來,只須要 su esroot 切換一下用戶,而後再去啓動Elasticsearch 就行。
Kibana 操做Elasticsearch 增、刪、改、查問題
- 自定義mapping 問題
做者,在使用 Elasticsearch 7.0時發現,在自定義 mapping 時,Elasticsearch 7.0 默認是不支持 設置類型的,接下來請看代碼。
PUT m1 { "mappings": { "doc":{ "properties":{ "address" : { "type" : "keyword", "index" : false } } } } }
上圖是我的在自定義mappings 文件時,經常使用的寫法,可是在Elasticsearch 7.0 執行是會報錯的。
後來,做者在各類百度 各類 去看文檔後才知道 Elasticsearch 7.0 默認是不支持設置數據類型的。正確的寫法以下圖
可是,若是各位非要去自定義 這個類型的話,Elasticsearch 7.0是能夠支持設置,可是具體的設置方式,做者也沒在官網文檔上找到,可能做者畢竟笨把。還有一點須要注意就是,Elasticsearch 7.0 也再也不支持 「enabled」:true 的設置了。
- GET 查詢
正常來講,咱們查詢時會常常這樣去查詢。
雖然這樣也能拿到數據,可是會看到右邊 進行了報警了,它在警告咱們在查詢的時候 不要把類型也寫進去,因此正常的查詢方式以下圖:
- 默認返回 1W的問題
其實這個問題,真的讓做者困惑了好久。在網上找了不少的方法,畢竟去配置settings 或者 去修改 Elasticsearch 的配置文件,可依舊都沒有成功。
後來,終於找到一種方法就是
在查詢裏添加這個就能夠了,做者在網上看到說 添加這個會讓數據不許確,不過做者在使用時,好像沒出現這個,具體什麼緣由,做者也不太懂。
以上就是做者在使用Elasticsearch 7.0 時,遇到的所有問題,後期在遇到的話,也會分享出來。但願此次文檔對您在使用Elasticsearch 7.0 能有很大的幫助。