ES基礎(chǔ)學(xué)習(xí)一

學(xué)習(xí)地址為極客時間《Elasticsearch核心技術(shù)與實戰(zhàn)》具垫,這只是我做的筆記来农,僅供參考;

二头朱、安裝上手

1. Elasticsearch的安裝和簡單配置

  1. Elasticsearch非常容易在個人電腦上搭建環(huán)境
    image

    image
  2. 下載Elasticsearch安裝包https://elasticsearch.cn/download/
  3. Elasticsearch還有官方的Docker鏡像座享,我們可以在Docker中很容易的啟動它

2. Elasticsearch的文件目錄結(jié)構(gòu)

目錄 配置文件 描述
bin 腳本啟動婉商,包括啟動Elasticsearch,安裝插件。運行統(tǒng)計數(shù)據(jù)等
config elasticsearch.yml 集群配置文件渣叛,user丈秩,role based 相關(guān)配置
JDK Java運行環(huán)境
data path.data 數(shù)據(jù)文件
lib Java類庫
logs path.log 日志文件
modules 包含所有ES模塊
plugins 包含所有已安裝插件

2.1 JVM配置

  1. 修改 config/jvm.options,7.1版本的默認設(shè)置時 1 GB
  2. XmxXms設(shè)置成一樣
  3. Xmx不要超過機器內(nèi)存的50%
  4. 不要超過30GB - [https://www.elastic.co/blog/a-heap-of-trouble]

3. 運行Elasticsearch

3.1 啟動出現(xiàn)的問題

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

  1. 每個進程最大同時打開文件數(shù)太小,可通過下面2個命令查看當前數(shù)量
ulimit -Hn
ulimit -Sn
  1. 修改/etc/security/limits.conf文件淳衙,增加配置癣籽,用戶退出后重新登錄生效
*               soft    nofile          65536
*               hard    nofile          65536

max number of threads [3818] for user [es] is too low, increase to at least [4096]

  1. 問題同上挽唉,最大線程個數(shù)太低。修改配置文件/etc/security/limits.conf(和問題1是一個文件)筷狼,增加配置
*               soft    nproc           4096
*               hard    nproc           4096
  1. 可通過命令查看
ulimit -Hu
ulimit -Su

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

  1. 修改/etc/sysctl.conf文件瓶籽,增加配置vm.max_map_count=262144
vi /etc/sysctl.conf
sysctl -p
  1. 執(zhí)行命令sysctl -p生效

3.2 啟動

/opt/module/elasticsearch-7.1.0/bin/elasticsearch
  • 打開瀏覽器輸入:http://192.168.37.130:9200/
    image

4. 為Elasticsearch安裝插件(我們可以利用插件來實現(xiàn)一些安全策略,來保護我們存儲的數(shù)據(jù))

image

4.1 查看當前Elasticsearch已經(jīng)安裝的插件

[root@hadoop101 elasticsearch-7.1.0]# bin/elasticsearch-plugin list

4.2 安裝analysis-icu(analysis是一個國際化的分詞插件)

[root@hadoop101 elasticsearch-7.1.0]# bin/elasticsearch-plugin install analysis-icu

4.3 頁面查看安裝的插件

http://192.168.37.130:9200/_cat/plugins

image

5. 在開發(fā)機上運行多個Elasticsearch實例

  • Elasticsearch中一個很大的特色就是以分布式的方式去運行埂材,也就是說你可以在多臺機器上去運行多個Elasticsearch實例塑顺,這些實例最后組成一個大的集群
  • 我們現(xiàn)在要在本機以一個多實例的方式去運行它,來了解它的機制

5.1 修改config/elasticsearch.yml

# 集群名稱
cluster.name: geektime
# 是否鎖住內(nèi)存
bootstrap.memory_lock: false
# 連接地址
network.host: 192.168.2.101
# 候選主節(jié)點列表
discovery.seed_hosts: ["192.168.2.101:9301","192.168.2.101:9302","192.168.2.101:9303"]
# 初始化集群主節(jié)點列表
cluster.initial_master_nodes: ["node1","node2","node3"]
# 開啟跨域訪問支持俏险,默認為false
http.cors.enabled: true
# # 跨域訪問允許的域名地址严拒,(允許所有域名)以上使用正則
http.cors.allow-origin: "*"

5.2 修改config/jvm.options

  • 因為我是在虛擬機上,內(nèi)存不是很大竖独,所以這里將JVM內(nèi)存調(diào)小一點
-Xms512M
-Xmx512M

5.3 創(chuàng)建數(shù)據(jù)目錄和日志目錄

#創(chuàng)建數(shù)據(jù)目錄和日志目錄
cd data; mkdir data1 data2 data3
cd logs; mkdir logs1 logs2 logs3

5.4 啟動

# 啟動(同一臺機子)
bin/elasticsearch -E node.name=node1 -E cluster.name=geektime -E path.data=data/data1 -E path.logs=logs/logs1 -E http.port=9201 -E transport.tcp.port=9301 -E node.master=true -E node.data=true 
bin/elasticsearch -E node.name=node2 -E cluster.name=geektime -E path.data=data/data2 -E path.logs=logs/logs2 -E http.port=9202 -E transport.tcp.port=9302 -E node.master=true -E node.data=false
bin/elasticsearch -E node.name=node3 -E cluster.name=geektime -E path.data=data/data3 -E path.logs=logs/logs3 -E http.port=9203 -E transport.tcp.port=9303 -E node.master=true -E node.data=false

6. Kibana的安裝和界面快速瀏覽

6.1 下載(都是國內(nèi)的社區(qū))

6.2 配置

  • 修改config/Kibana.yml
# 用于在任何主機都可以訪問
server.host: "0.0.0.0"
# es的地址,這個它默認是9200端口,我們現(xiàn)在啟動的是9201莹痢、9202种蘸、9203,所以這里需要配置一下
elasticsearch.hosts: ["http://192.168.37.130:9201"]

6.3 啟動

[els@hadoop101 kibana-7.1.0-linux-x86_64]$ bin/kibana

6.4 設(shè)置中文

  • 在kibana.yml配置文件中添加一行配置 i18n.locale: "zh-CN"

6.4 訪問及簡單介紹

  • 訪問:http://192.168.37.130:5601/
image

image

image

image

7. 在Docker容器中運行Elasticsearch KibanaCerebro

7.1 安裝Docker和Docker Compose

自行百度安裝

7.2 Docker Compose相關(guān)命令

  • docker-compose up: 運行
  • docker compose down
  • docker compose down -v
  • docker stop/rm containerID

7.3 運行Docker-comose竞膳,本地構(gòu)建開發(fā)環(huán)境航瞭,直觀了解Elasticsearch分布式特性,并集成Cerebro,方便查看集群狀態(tài)

7.3.1 docker-compose.yaml文件

version: '2.2'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.3
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
    networks:
      - es7net
  kibana:
    image: docker.elastic.co/kibana/kibana:7.1.0
    container_name: kibana7
    environment:
      - I18N_LOCALE=zh-CN
      - XPACK_GRAPH_ENABLED=true
      - TIMELION_ENABLED=true
      - XPACK_MONITORING_COLLECTION_ENABLED="true"
    ports:
      - "5601:5601"
    networks:
      - es7net
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
    container_name: es7_01
    environment:
      - cluster.name=geektime
      - node.name=es7_01
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01,es7_02
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - es7net
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0
    container_name: es7_02
    environment:
      - cluster.name=geektime
      - node.name=es7_02
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01,es7_02
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data2:/usr/share/elasticsearch/data
    networks:
      - es7net


volumes:
  es7data1:
    driver: local
  es7data2:
    driver: local

networks:
  es7net:
    driver: bridge

7.3.2 啟動運行

  • 進入有docker-compose.yaml文件的目錄運行
  • 我這里的目錄在``
docker-compose up
image

image

image

8. Logstash安裝與導(dǎo)入數(shù)據(jù)

8.1 下載并安裝

8.2 下載logstash數(shù)據(jù)文件

  • D:\WorkSpace\rickying-geektime-ELK-master
  • 并將數(shù)據(jù)導(dǎo)入到Linux中的/opt/module/logstash_data
    image

    image

8.2 修改logstash.conf配置文件

input {
  file {
    path => "/opt/module/logstash-7.1.0/bin/movies.csv"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}
filter {
  csv {
    separator => ","
    columns => ["id","content","genre"]
  }

  mutate {
    split => { "genre" => "|" }
    remove_field => ["path", "host","@timestamp","message"]
  }

  mutate {

    split => ["content", "("]
    add_field => { "title" => "%{[content][0]}"}
    add_field => { "year" => "%{[content][1]}"}
  }

  mutate {
    convert => {
      "year" => "integer"
    }
    strip => ["title"]
    remove_field => ["path", "host","@timestamp","message","content"]
  }

}
output {
   elasticsearch {
     hosts => "http://localhost:9200"
     index => "movies"
     document_id => "%{id}"
   }
  stdout {}
}
image

8.3 指定配置文件運行logstash

./logstash -f logstash.conf
image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坦辟,一起剝皮案震驚了整個濱河市刊侯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锉走,老刑警劉巖滨彻,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挪蹭,居然都是意外死亡亭饵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門嚣潜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冬骚,“玉大人椅贱,你說我怎么就攤上這事懂算。” “怎么了庇麦?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵计技,是天一觀的道長。 經(jīng)常有香客問我山橄,道長垮媒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮睡雇,結(jié)果婚禮上萌衬,老公的妹妹穿的比我還像新娘。我一直安慰自己它抱,他們只是感情好秕豫,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著观蓄,像睡著了一般混移。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侮穿,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天歌径,我揣著相機與錄音,去河邊找鬼亲茅。 笑死回铛,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的芯急。 我是一名探鬼主播勺届,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼娶耍!你這毒婦竟也來了免姿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤榕酒,失蹤者是張志新(化名)和其女友劉穎胚膊,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體想鹰,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡紊婉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了辑舷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喻犁。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖何缓,靈堂內(nèi)的尸體忽然破棺而出肢础,到底是詐尸還是另有隱情,我是刑警寧澤碌廓,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布传轰,位于F島的核電站,受9級特大地震影響谷婆,放射性物質(zhì)發(fā)生泄漏慨蛙。R本人自食惡果不足惜辽聊,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望期贫。 院中可真熱鬧跟匆,春花似錦、人聲如沸通砍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽埠帕。三九已至垢揩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敛瓷,已是汗流浹背叁巨。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留呐籽,地道東北人锋勺。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像狡蝶,于是被迫代替她去往敵國和親庶橱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容