ElasticSearch 安裝, 帶視頻

瘋狂創客圈 Java 高併發【 億級流量聊天室實戰】實戰系列 【博客園總入口html

架構師成長+面試必備之 高併發基礎書籍 【Netty Zookeeper Redis 高併發實戰java


瘋狂創客圈 高併發 環境 視頻,陸續上線:node

  • Windows Redis 安裝(帶視頻)
  • Linux Redis 安裝(帶視頻)
  • Windows Zookeeper 安裝(帶視頻)
  • Linux Zookeeper 安裝(帶視頻)
  • RabbitMQ 離線安裝(帶視頻)
  • Nacos 安裝(帶視頻)
  • ElasticSearch 安裝, 帶視頻

小視頻以及所需工具的百度網盤連接,請參見 瘋狂創客圈 高併發社羣 博客python

1 版本選擇

建議須要安裝6以上版本,這裏使用的版本是6.2.2,能夠在ElasticSearch官方網站上下載。因爲ElasticSearch官方網站的文檔很是的全面,對於初學者解決學習、開發過程當中的實際問題都很是有參考價值,因此,這裏列出官網的地址: https://www.elastic.co/linux

why 6.2.2?git

因爲截止目前,與spring-data集成的最高版本,是6.2.2, 集成spring-data後,能夠使用JPA直接操做ElasticSearch,減小編程的壓力。github

2 下載

1:下載須要安裝的ElasticSearch版本,這裏爲6.2.2面試

ElasticSearch 6.2.2版本的下載地址爲spring

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz編程

瘋狂創客圈網盤,已經備好,能夠直接下載

2:下載須要安裝的Kibana版本,須要與ElasticSearch匹配

kibana是Elasticsearch官方提供的工具,可是在實際生產使用過程當中, 可視化作的不足,沒有elasticsearch-head全面。kibana官方地址爲
https://www.elastic.co/cn/downloads/kibana/
瘋狂創客圈網盤,已經備好,能夠直接下載

3:下載IK分詞器,做爲中文分詞器

在IK 分詞器的github網頁地址爲:https://github.com/medcl/elasticsearch-analysis-ik。在這個網址上,找到與前面安裝的ElasticSearch相互匹配的版本,這裏這裏版本爲6.2.2,下載連接以下:
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.2/elasticsearch-analysis-ik-6.2.2.zip

瘋狂創客圈網盤,已經備好,能夠直接下載

3 按照ElasticSearch

第1步: 將安裝包上傳到Linux,而且解壓

上傳到Linux服務器,建立JDK的安裝目錄,將jdk壓縮包解壓到建立的安裝目錄

mkdir -p  /usr/local/elasticsearch-6.2.2
tar  -zxvf   /usr/local/elasticsearch-6.2.2.tar.gz   -C   /usr/local/elasticsearch-6.2.2

爲了方便後續的使用,和elasticsearch版本的升級,能夠爲elasticsearch創建一個統一的軟鏈接 /usr/elasticsearch,命令以下:

ln -s /usr/local/elasticsearch-6.2.2/elasticsearch-6.2.2/  /usr/elasticsearch

第2步:創建用來存放elasticsearch數據目錄、日誌目錄

創建用來存放elasticsearch數據存儲目錄,命令以下:

mkdir -p /home/elasticsearch/data
mkdir -p /home/elasticsearch/log

第3步:修改elasticsearch的配置文件

elasticsearch的配置文件爲安裝目錄下的config/elasticsearch.yml,主要修改的選項爲:節點名稱、集羣名稱、日誌目錄、數據目錄等等,修改後的配置文件以下:

vi  /usr/elasticsearch/config/elasticsearch.yml
#節點名稱

cluster.name:  singlenode-cluster

#集羣名稱

node.name:  node-1

#數據目錄

path.data:  /home/elasticsearch/data

#日誌目錄

path.logs:  /home/elasticsearch/log

#主機地址

network.host: 10.18.3.91
#下面配置爲head插件配置,若是要用到head的話     

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With,Content-Type,Content-Length,X-User"

第4步:爲ElasticSearch建立專門的用戶

注意elasticsearch默認是不支持使用root運行的,須要新建專門的用戶,用戶的名稱爲es,使用以下命令:

[root@localhost elasticsearch]#  useradd  es
爲es設置密碼,使用以下命令:
[root@localhost elasticsearch]# passwd  es

密碼的保密程度要求比較高,新的密碼設置爲:123!@#qwe
給es用戶,授予安裝目錄、數據目錄、日誌的所有權限,使用的命令爲:

chown -R  es:es  /usr/local/elasticsearch-6.2.2/
chown -R  es:es  /home/elasticsearch/data
chown -R  es:es  /home/elasticsearch/log

注意:在使用chown指令修改目錄的owner時,須要對原始目錄進行修改;若是對軟鏈接進行修改,目錄是無效的。

第5步: 更改linux的最大文件描述限制要求

修改 Linux下/etc/security/limits.conf文件設置

vim  /etc/security/limits.conf

更改linux的最大文件描述限制要求
添加或修改以下:

* soft nofile 262144                                                                                                                                              
* hard nofile 262144                                                                                                                                              
es soft memlock unlimited                                                                                                                                         
es hard memlock unlimited

第6步:更改linux的的最大線程數

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

更改linux的的最大線程數,添加或修改以下:

*          soft    nproc     unlimited
root       soft    nproc     unlimited

第7步:更改linux一個進行能擁有的最多的內存區域要求

更改linux一個進行能擁有的最多的內存區域要求,Linux下/etc/sysctl.conf文件設置
,添加或修改以下:

vi /etc/sysctl.conf

vm.max_map_count = 262144
vm.swappiness = 1

更改linux禁用swapping,:vm.swappiness = 1

第8步:啓動elasticsearch

啓動以前,請切換到es用戶,命令以下:

su  es

/usr/elasticsearch/bin/elasticsearch

若是要後臺啓動elasticsearch,加上&符號便可,完整的命令爲:

/usr/elasticsearch/bin/elasticsearch -d

Kibana的安裝

Elasticsearch 的經常使用的工具大體有兩個:一個是elasticsearch-head,另一個是kibana。elasticsearch-head 是一個開源項目,官方地址爲:
https://github.com/mobz/elasticsearch-head

kibana是Elasticsearch官方提供的工具,雖然圖形化的用戶操做沒有elasticsearch-head全面。可是在實際生產使用過程當中,使用也是不少的。

kibana是Elasticsearch官方提供的工具,可是在實際生產使用過程當中, 可視化作的不足,沒有elasticsearch-head全面。kibana官方地址爲
https://www.elastic.co/cn/downloads/kibana/

第1步: 上傳與解壓

將安裝包上傳到Linux服務器,建立kibana的安裝目錄,將kibana壓縮包解壓到安裝目錄

mkdir -p  /usr/local/kibana
tar  -zxvf  /usr/local/kibana-6.2.2-linux-x86_64.tar.gz  -C  /usr/local/kibana

爲了方便後續的使用,和kibana版本的升級,能夠爲kibana創建一個統一的軟鏈接 /usr/kibana,命令以下:

ln -s /usr/local/kibana/kibana-6.2.2-linux-x86_64  /usr/kibana

第2步:啓動配置

修改kibana更目錄下config/kibana.yml 配置文件,配置kibana須要監控的ElasticSearch服務器,和kibana服務所在的機器。配置的內容以下:

vi /usr/kibana/config/kibana.yml

elasticsearch.url: "http://172.18.7.49:9200"      # kibana監控哪臺es機器
server.host: "172.18.7.49"                # kibana運行在哪臺機器

第3步:運行和訪問

啓動kibana,運行使用下面的命令:
/usr/kibana/bin/kibana

[root@localhost ~]#  /usr/kibana/bin/kibana
  log   [00:48:50.903]  Status changed from uninitialized to green - Ready
  log   [00:48:51.005]  Status changed from uninitialized to yellow - Waiting for Elasticsearch
  log   [00:48:51.030]  Status changed from uninitialized to green - Ready
  log   [00:48:51.296]  Status changed from uninitialized to green - Ready
  log   [00:48:51.303]  Status changed from uninitialized to green - Ready
  log   [00:48:51.336]  Server running at http://172.18.7.49:5601
  log   [00:48:51.511]  Status changed from yellow to green - Ready

使用瀏覽器能夠訪問http://ip:5601 ,查看kibana的操做界面

第4步:不能訪問排查

在kibana啓動成功後,若是瀏覽器不能訪問,有多是linux 的防火牆進行了請求的攔截,在測試環境,能夠關閉防火牆。
首先使用systemctl status firewalld 命令,查看防火牆的狀態,執行命令以下:

[root@localhost ~]# systemctl status firewalld
 firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2019-07-25 19:15:01 CST; 18h ago
     Docs: man:firewalld(1)
 Main PID: 634 (firewalld)
   Memory: 220.0K
   CGroup: /system.slice/firewalld.service
           └─634 /usr/bin/python -Es /usr/sbin/firewalld --nofork –nopid

結果中的Active: active (running) ,表示防火牆正在運行,實驗和測試環境,建議進行關閉。關閉防火牆的命令以下:
service firewalld stop
首先查看防火牆狀態:

service iptables status

永久性生效,重啓後不會復原

chkconfig iptables off

關閉:
即時生效,重啓後復原

後臺啓動:

nohup  /usr/kibana/bin/kibana &

查看進程

netstat -anltp|grep 5601

IK分詞器的安裝

Elasticsearch默認狀況下,只支持英文分詞。默認狀況下,Elasticsearch會將中文句子,分紅一個一個的漢字。因此,須要給Elasticsearch安裝中文分詞器插件,這裏選擇的是IK分詞器插件。

IK分詞器有兩種分詞模式:ik_max_word和ik_smart模式。兩種模式的區別,在於分詞結果的顆粒度粗細不一樣:ik_max_word會將中文作最細粒度分詞,而ik_smart會作最粗粒度的分詞。好比,對於「中華人民共和國人民大會堂」一個字符串,在ik_max_word分詞模式下,將被拆分爲「中華人民共和國、中華人民、中華、華人、人民共和國、人民、共和國、大會堂、大會、會堂等詞語。在ik_smart 模式下,該字符串將被拆分爲中華人民共和國、人民大會堂等詞語。

第1步: 將安裝包上傳到Linux,而且解壓

將壓縮包elasticsearch-analysis-ik-6.2.2.zip上傳到/usr/local目錄後,而且創建一個解壓縮的目標目錄。而後,將壓縮包解壓縮到目標目錄。以上兩步,所使用的命令以下:

mkdir -p /usr/local/elasticsearch-analysis-ik-6.2.2
unzip /usr/local/elasticsearch-analysis-ik-6.2.2.zip -d  /usr/local/elasticsearch-analysis-ik-6.2.2

將elasticsearch-analysis-ik-6.2.2解壓縮目錄,複製到elasticsearch的插件目錄plugins下,而後重啓elasticsearch服務。

mv -fiv /usr/local/elasticsearch-analysis-ik-6.2.2/elasticsearch  /usr/elasticsearch/plugins

能夠經過kibana工具,測試ik_max_word.

POST /_analyze
{
  "text":"中華人民共和國人民大會堂",
  "analyzer":"ik_max_word"
}

{
  "tokens" : [
    {
      "token" : "中華人民共和國",
      "start_offset" : 0,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "中華人民",
      "start_offset" : 0,
      "end_offset" : 4,
      "type" : "CN_WORD",
      "position" : 1
    },
    ….(篇幅緣由,省略了10以上的分詞結果)
  ]
}

具體,請關注 Java 高併發研習社羣博客園 總入口


最後,介紹一下瘋狂創客圈:瘋狂創客圈,一個Java 高併發研習社羣博客園 總入口

瘋狂創客圈,傾力推出:面試必備 + 面試必備 + 面試必備 的基礎原理+實戰 書籍 《Netty Zookeeper Redis 高併發實戰

img


瘋狂創客圈 Java 死磕系列

  • Java (Netty) 聊天程序【 億級流量】實戰 開源項目實戰
相關文章
相關標籤/搜索