docker安裝elasticsearch7.6.2及其客戶端

docker安裝elasticsearch及其客戶端

本文將主要記錄elasticsearch安裝過(guò)程中遇到的一些問(wèn)題

1. 安裝配置elasticsearch

(1)docker下載相關(guān)鏡像

docker pull elasticsearch:7.6.2

(2)創(chuàng)建持久化文件

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

初始化配置

echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

注意這里“:”后的空格弧烤,否則會(huì)報(bào)語(yǔ)法錯(cuò)誤

(3)啟動(dòng)鏡像

docker run --name elasticsearch -p 9200:9200  -p 9300:9300 \
 -e "discovery.type=single-node" \
 -e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
 -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
 -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
 -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
 -d elasticsearch:7.6.2

-p:端口映射

-e discovery.type=single-node 單點(diǎn)模式啟動(dòng)

-e ES_JAVA_OPTS="-Xms84m -Xmx512m":設(shè)置啟動(dòng)占用的內(nèi)存范圍(實(shí)驗(yàn)環(huán)境啟動(dòng)后可能因?yàn)樵品?wù)器內(nèi)存過(guò)小而占滿)
-v 目錄掛載
-d 后臺(tái)運(yùn)行

啟動(dòng)后使用docker ps查看發(fā)現(xiàn)未正常啟動(dòng)继低,查看啟動(dòng)日志

docker logs elasticsearch
elasticsearch啟動(dòng)異常.png

發(fā)現(xiàn)是文件拒絕訪問(wèn)異常,為該文件夾設(shè)置所有用戶都有讀寫(xiě)執(zhí)行權(quán)限

chmod -R 777 /mydata/elasticsearch/

重新啟動(dòng)elasticsearch

docker restart elasticsearch 

瀏覽器訪問(wèn) ip:9200測(cè)試哨苛,訪問(wèn)成功

success.png

2. 安裝使用可視化工具

(1)下載同版本鏡像

docker pull kibana:7.6.2

(2)初始化配置

mkdir -p /mydata/kibana
touch /mydata/kibana/kibana.yml
vim /mydata/kibana/kibana.yml
server.host: 0.0.0.0
elasticsearch.hosts: http://你的ip:9200

保存退出

(3)啟動(dòng)kibana

docker run --name kibana -v /mydata/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml -p 5601:5601 -d kibana:7.6.2 

啟動(dòng)后可通過(guò)docker ps查看是否啟動(dòng)成功

等待一段時(shí)間后瀏覽器訪問(wèn) ip:5601 進(jìn)行測(cè)試

3.SpringBoot中使用Elasticsearch Java Rest Client

(1)導(dǎo)入相關(guān)依賴

<!--        elasticsearch依賴-->
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.6.2</version>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
            <version>7.6.2</version>
        </dependency>

此處官方文檔中只寫(xiě)了導(dǎo)入elasticsearch-rest-high-level-client依賴踏揣,但在實(shí)際測(cè)試運(yùn)行中會(huì)報(bào)NoClassDefFoundError錯(cuò)誤,檢查相關(guān)依賴后發(fā)現(xiàn)elasticsearch-rest-high-level-client中的elasticsearch依賴并不是7.6.2,因此需要再手工引入對(duì)應(yīng)版本的依賴,導(dǎo)入完成后可正常運(yùn)行

客戶端依賴.png

(2)創(chuàng)建相關(guān)Bean

import org.apache.http.HttpHost;
import org.elasticsearch.client.HttpAsyncResponseConsumerFactory;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Author: 李豐翼
 * @DateTime: 2020/7/13 0013 09:36
 * @Description: TODO
 */
@Configuration
public class ClientConfig {
    public static final RequestOptions COMMON_OPTIONS;
    static {
        RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
//        builder.addHeader("Authorization", "Bearer " + TOKEN);
//        builder.setHttpAsyncResponseConsumerFactory(
//                new HttpAsyncResponseConsumerFactory
//                        .HeapBufferedResponseConsumerFactory(30 * 1024 * 1024 * 1024));
        COMMON_OPTIONS = builder.build();
    }
    @Bean
    public RestHighLevelClient esRestClient(){
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost("127.0.0.1", 9200, "http")
                        ));
        return client;
    }
}

(3)測(cè)試是否正常運(yùn)行

直接打印client對(duì)象看是否成功注入

@SpringBootTest
class GulimallSearchApplicationTests {
@Resource
private RestHighLevelClient client;
    @Test
    void contextLoads() throws IOException {
        System.out.println(client);
    }
}

elasticsearch使用教程可參考官方文檔

https://www.elastic.co/guide/en/elasticsearch/reference/7.x/query-dsl.html

kibana參考文檔

https://www.elastic.co/guide/en/kibana/7.x/introduction.html

Java REST Client參考文檔

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.x/java-rest-high.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盏档,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子燥爷,更是在濱河造成了極大的恐慌蜈亩,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件前翎,死亡現(xiàn)場(chǎng)離奇詭異稚配,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)港华,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)道川,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人立宜,你說(shuō)我怎么就攤上這事冒萄。” “怎么了橙数?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵尊流,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我商模,道長(zhǎng)奠旺,這世上最難降的妖魔是什么蜘澜? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任施流,我火速辦了婚禮,結(jié)果婚禮上鄙信,老公的妹妹穿的比我還像新娘瞪醋。我一直安慰自己,他們只是感情好装诡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布银受。 她就那樣靜靜地躺著践盼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宾巍。 梳的紋絲不亂的頭發(fā)上咕幻,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音顶霞,去河邊找鬼肄程。 笑死,一個(gè)胖子當(dāng)著我的面吹牛选浑,可吹牛的內(nèi)容都是我干的蓝厌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼古徒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼拓提!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起隧膘,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤代态,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后疹吃,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體胆数,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年互墓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了必尼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡篡撵,死狀恐怖判莉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情育谬,我是刑警寧澤券盅,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站膛檀,受9級(jí)特大地震影響锰镀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜咖刃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一泳炉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嚎杨,春花似錦花鹅、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)古拴。三九已至,卻和暖如春真友,著一層夾襖步出監(jiān)牢的瞬間黄痪,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工盔然, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留满力,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓轻纪,卻偏偏與公主長(zhǎng)得像油额,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刻帚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349