1. 程式人生 > >【ELK】ELK6.2.2全文檢索

【ELK】ELK6.2.2全文檢索

婷婷@洋蔥OMALL 點選開啟連結

做了個海外購檢索案例,專案演示


 

伺服器搭建平臺管理

安裝軟體包

序號 版本名稱 軟體下載
1 elasticsearch-6.2.2.tar.gz https://www.elastic.co/downloads/elasticsearch
2 elasticsearch-head-6.2.2.zip https://github.com/mobz/elasticsearch-head
3 elasticsearch-analysis-ik-6.2.2.zip https://github.com/medcl/elasticsearch-analysis-ik/releases
4 jdk1.8.0_155 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
5 kibana-6.2.2-linux-x86_64.tar https://www.elastic.co/downloads/kibana
6 logstash-6.2.2.zip https://www.elastic.co/downloads/logstash
7 x-pack-6.2.2.zip https://www.elastic.co/downloads/x-pack
8 fuse-2.8.5.tar.gz https://www.fusetools.com/downloads

本人是在虛擬機器Linux6.8_64位進行安裝的

一、ELK6伺服器部署搭建-JDK1.8.0_155

使用Xftp工具,登入hadoop使用者,將檔案上傳到 /elk/install 資料夾下面,如果忘記使用了root使用者上傳的話,

可以使用命令修改: chown -R  hadoop.hadoop /elk/install/

1.說明 (#代表root使用者,$代表hadoop自己建立的使用者,【】代表注意強調)

2、建立使用者和賦權

新建檔案:

# mkdir -p /elk/install

新建使用者和組:

# groupadd -g 800 hadoop

# useradd -u 800 -g 800 hadoop

# passwd  hadoop

賦予資料夾 許可權

# chown -R  hadoop.hadoop /elk

# chown -R  hadoop.hadoop /elk/install/

3、JDK安裝配置(本人使用hadoop登入進行安裝)

3.1.DK1.8.0_安裝配置

$ cd /elk/install

$ tar zxvf jdk-8u151-linux-x64.tar.gz

$ vim ~/.bash_profile   【shift+“:”中英切換,使用英文冒號;wq儲存退出;q!不儲存強制退出;】

#set java path for weblogic

export JAVA_HOME=/elk/install/jdk1.8.0_151

export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

$ source ~/.bash_profile 【立即生效】

檢視效果

$ java -version

$ javac

二、ELK6伺服器部署搭建-Elasticsearch6.2.2

將檔案上傳到 /elk/資料夾下面

$ cd /elk/

$ chmod 755 *.gz *.zip

$ tar zxvf elasticsearch-6.2.2.tar.gz

$ vim /elk/elasticsearch-6.2.2/config/elasticsearch.yml

$ mkdir -pv /elk/data_es/elasticsearch/{data,logs}  

切換到root賬號進行修改

#vim /etc/security/limits.conf  新增

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

# vim  /etc/sysctl.conf  新增

vm.max_map_count= 655360

sysctl -p 【進行立即生效,如果啟動報錯可能是未生效,進行logout登出賬號重新登入啟動,就沒事了】

vi /etc/security/limits.d/90-nproc.conf

max number of threads [1024] for user [elsearch] likely too low, increase to at least [4096]

修改如下內容:
* soft nproc 1024
#修改為
* soft nproc 4096

登出 logout

用hadoop登入,進行修改elasticsearch配置檔案

$ vim /elk/elasticsearch-6.2.2/config/elasticsearch.yml 【編寫時候名稱與值之間是冒號+空格,小心別敲錯!!!】

#cluster.name指定叢集的名稱,主要設定叢集,同一個叢集的節點要設定在同一個叢集名稱。如果不配置該項,系統預設取elasitcsearch

cluster.name: my-application

#node.name指定節點的名稱,同一叢集的節點名稱不能相同,如果不配置該項,系統會隨機分配一個名稱

node.name: node-185

#關於資料和日誌的存放路徑的,後期版本升級,如果程式與資料分離,將非常容易實現

path.data: /elk/elasticsearch-6.2.2/data/elasticsearch/data

path.logs: /elk/elasticsearch-6.2.2/data/elasticsearch/logs

#啟動後是否鎖定記憶體,提高ES的效能

bootstrap.memory_lock: false

#bootstrap.system_call_filter為true進行檢測,導致檢測失敗,失敗後直接導致ES不能啟動

bootstrap.system_call_filter: false

#關網路的設定,比如RESTful介面,包括curl、瀏覽器、Kibana等HTTP連線過來

#network.host設定對外的閘道器IP,預設本地迴環。

network.host: 192.168.56.185

#http.port設定對外的埠,埠建議重新設定,提高安全性。預設9200

http.port: 9200

#transport.tcp.port 設定TCP傳輸埠,這個埠也非常重要,首先,下面Discovery部分的設定,

#叢集內節點發現走的就是這個埠,發現後,節點之前傳輸資料也是走這個TCP埠。

#另外,官方提供的ES JAVA API也是通過這個埠傳輸資料的。

discovery.zen.fd.ping_timeout: 120s
discovery.zen.fd.ping_retries: 6

discovery.zen.fd.ping_interval: 30s

cluster.routing.allocation.cluster_concurrent_rebalance: 40
cluster.routing.allocation.node_concurrent_recoveries: 40

cluster.routing.allocation.node_initial_primaries_recoveries: 40

http.host: 192.168.56.185http.cors.enabled: true

http.cors.allow-origin: "*"

#指定是否為主節點。該屬性可不指定,節點之間自主選擇。

node.master: false

#指定是否儲存資料(資料節點)

node.data: true

#node.ingest: false   

#search.remote.connect: false

#主要設定叢集的節點之間的連線,

#discovery.zen.ping.unicast.hosts設定叢集內節點的主機,比如叢集內有兩臺機192.168.56.185,192.168.56.184,TCP埠都設定為9300

#discovery.zen.ping.unicast.hosts: ["192.168.56.185"]
#dbUrl: jdbc:mysql://192.168.56.100:3306/solr_doc
#dbUser: root
#dbPwd: Xutao123
#dbTable: t_es_ik_dic
#extField: ext_word
#stopField: stop_word
#flushTime: 500000
#autoLoadIkDic: true

只檢視配置檔案中未被註釋的有效配置行

$ grep '^[^#]'  /elk/elasticsearch-6.2.2/config/elasticsearch.yml 

假如設定了bootstrap.memory_lock: true

需要在/etc/security/limit.conf檔案最後追加兩行

* soft memlock unlimited

* hard memlock unlimited

然後開始啟動

[[email protected] bin]$ ./elasticsearch
[2018-03-09T13:00:16,286][INFO ][o.e.n.Node               ] [node-185] initializing ...
.........
[2018-03-09T13:00:22,289][INFO ][o.e.n.Node               ] [node-185] starting ...
[2018-03-09T13:00:22,503][INFO ][o.e.t.TransportService   ] [node-185] publish_address {192.168.56.185:9300}, bound_addresses {192.168.56.185:9300}
[2018-03-09T13:00:22,516][INFO ][o.e.b.BootstrapChecks    ] [node-185] bound or publishing to a non-loopback address, enforcing bootstrap checks
[2018-03-09T13:00:25,559][WARN ][o.e.d.z.ZenDiscovery     ] [node-185] not enough master nodes discovered during pinging (found [[]], but needed [-1]), pinging again
[2018-03-09T13:00:28,562][WARN ][o.e.d.z.ZenDiscovery     ] [node-185] not enough master nodes discovered during pinging (found [[]], but needed [-1]), pinging again 

紅色資訊一直後臺刷,原因是需要一個master節點,需要把

node.master: false

改成

node.master: true

因為本人master是另外一臺埠9201上面,自行修改重新啟動 

使用最新google瀏覽器進行檢視

{
  "name" : "node-185",
  "cluster_name" : "my-application", 【Cluster叢集名稱,可自行修改叢集時候對應上】
  "cluster_uuid" : "_na_", 【UUDI】
  "version" : {
    "number" : "6.2.2",  【es版本資訊】
    "build_hash" : "10b1edd",
    "build_date" : "2018-02-16T19:01:30.685723Z",
    "build_snapshot" : false,
    "lucene_version" : "7.2.1", 【Lucene版本資訊】
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

午休,後續....

三、ELK6伺服器部署搭建-Elasticsear-head

四、ELK6伺服器部署搭建-Kibana

相關推薦

ELKELK6.2.2全文檢索

婷婷@洋蔥OMALL 點選開啟連結 做了個海外購檢索案例,專案演示   伺服器搭建平臺管理 安裝軟體包 序號 版本名稱 軟體下載 1 elasticsearch-6.2.2.tar.gz https://www.

搜尋引擎Solr Suggester 實現全文檢索功能-分詞和和自動提示

功能需求 全文檢索搜尋引擎都會有這樣一個功能:輸入一個字元便自動提示出可選的短語: 要實現這種功能,可以利用solr的SuggestComponent,SuggestComponent這種方法利用Lucene的Suggester實現,並支援Lucene中可用的所有查詢實現。 實現 1. 配置 manage

搜尋引擎 PostgreSQL 10 實時全文檢索和分詞、相似搜尋、模糊匹配實現類似Google搜尋自動提示

需求分析 要通過PostgreSQL實現類似Google搜尋自動提示的功能,例如要實現一個查詢海量資料中的商品名字,每次輸入就提示使用者各種相關搜尋選項,例如淘寶、京東等電商查詢 思路 這個功能可以用 PostgreSQL的實時全文檢索和分詞、相似搜尋、前模糊匹配等特性實現。具體策略是,定義一個搜尋提示的最大

ELK之Centos6.9_x64安裝elasticsearch6.2.1

limits style 圖片 script 下載 con its eight OS 1、下載elasticsearch6.2.1 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch

ELK2 Logstash安裝

一般模式 FileBeat(更輕量化) --> Logstash 1、Logstash是什麼? Logstash是一個日誌收集、過濾、轉發的中介軟體,主要負責將各條業務線的各類日誌統一收集、過濾後,轉發給 Elasticsearch 進行下一步處理 2、安裝Logstash l

ELKCentos7 安裝 ELK 7.6.2 和 UI 管理介面以及測試例子

# 1. 初始化環境 ## 1.0 初始化環境官網參考 ## 1.1 架構 | 主機 ip | hostname | 安裝的服務 | | ------ | --------- | -------- | | 192.168.110.245 | node01 | es、kibana | | 192.168.

[洛谷3373]模板線段樹 2

兩個 cstring tchar int() 維護 string max nbsp 線段 思路: 線段樹。同時維護兩個 lazy tag ,一個維護乘,一個維護加。根據加法結合律,可以得出:當同一個結點進行兩次加操作時,新的標記等於兩次標記之和。根據乘法結合律,可以得出:

SublimeSublime Text 2集成TortoiseSVN插件

select term man ide targe spa mman 進行 borde 作者:zhanhailiang 日期:2014-09-30 1. 下載TortoiseSVN。將其安裝在默認位置; 2. 使用Sublime包管理器下載安裝Torto

重要NOI-1.2-10-字符串大小

param print .cn itl 時間限制 algo params pac 空間大小 10:Hello, World!的大小 查看 提交 統計 提問 總時間限制: 1000ms 內存限制: 65536kB描述 還記得在上一章裏,我們曾經輸出過的“Hello

P3373 模板線段樹 2 區間求和 區間乘 區間加

std 數列 cst printf int img ostream string uil 題目描述 如題,已知一個數列,你需要進行下面兩種操作: 1.將某區間每一個數加上x 2.將某區間每一個數乘上x 3.求出某區間每一個數的和 輸入輸出格式 輸入格

原創Zend Framework 2框架之MVC

spa lov gef rst 當前 mage 匿名函數 skeleton 一個 ZendFramework 2框架之MVC作者:sys(360電商技術組)1.前言Zend Framework 2是zend官方推出的php開源框架,基於php5.3。他全然採用面向對象的代

JavaDateUtil(2

繼承 ava sim pla bool private throw ons tar import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat;

原創洛谷 LUOGU P3373 模板線段樹2

取模 file 需要 code ace highlight dig org zh-cn P3373 【模板】線段樹 2 題目描述 如題,已知一個數列,你需要進行下面兩種操作: 1.將某區間每一個數加上x 2.將某區間每一個數乘上x 3.求出

BZOJ4945[Noi2017]遊戲 2-SAT

next 開開 blog sin con mic dfs font add 【BZOJ4945】[Noi2017]遊戲 題目描述 題解:2-SAT學藝不精啊! 這題一打眼看上去是個3-SAT?哎?3-SAT不是NPC嗎?哎?這題x怎麽只有8個?暴力走起! 因為x要麽

LeetCode數組-2(628)-數組中三個數相乘最大

負數 [] product leet ont 沒有 程序 時間復雜度 array 題目不難: 思路一(排序取兩端) 先排序,最後三個數相乘即可。(很快就想到了,但是沒想全面 [??] ) 缺陷:沒有考慮到有負數的情況,當至少有兩個負數時,需要判斷 最大數乘兩個最小的負數 和

luogu P3373 模板線段樹 2

strong put || www pri 模板 add clu pro 原題鏈接:https://www.luogu.org/problem/show?pid=3373 其實也沒啥好說的,就是註意一下乘法標記會影響到加法標記 #include<cstdio

洛谷P3373 模板線段樹 2

表示 區別 操作 () 運算 新的 一點 說明 con 題目描述 如題,已知一個數列,你需要進行下面兩種操作: 1.將某區間每一個數加上x 2.將某區間每一個數乘上x 3.求出某區間每一個數的和 輸入輸出格式 輸入格式: 第一行包含三個整數N、M、P,分別表示該數列數字

Shell-- 基礎知識(2)

命令別名 進程 ply exp ron -s 歷史 size 接收 1、Shell腳本運行方式   創建Shell腳本文件,一般以.sh結尾(如:example.sh)   Shell腳本運行方式如下: 添加 ‘x’ 執行權限(相對或絕對路徑執行) 使用bash或sour

MySQL 練習題附加題2

quantity lock 數學 同時 mys 計算方法 處理 讀者 span 本題用到下面三個關系表: CARD 借書卡。   CNO 卡號,NAME 姓名,CLASS 班級 BOOKS 圖書。    BNO 書號,BNAME 書名,AUTHOR 作者,PRICE 單

轉載在Angular 2/Typescript中聲明全局變量的最佳方式是什麽?

more 中一 keyword 訪問 emit 更新 other link 之間 問題詳細描述 我想在Typescript語言中的Angular 2中聲明一些全局可見的變量。最佳的實踐方法是? 推薦的實現方法 這是最簡單的解決方案,無需使用Service或Observe