Centos7搭建全文搜索引擎Elasticsearch

  • 搭建準備

官方網站: https://www.elastic.co/
    
下載內容: Elasticsearch

環境要求:安裝並配置JDK 1.8以上版本環境變量,Linux 的內核版本需要在2.6以上(如採用 CentOS7, Linux 內核爲3.10+)

搭建版本:6.6.0

 

  • 安裝 Elasticsearch

 

解壓Elasticsearch

1)下載 Elasticsearch 放之/opt目錄中

2)解壓文件(解壓/opt):tar -zxvf elasticsearch-6.6.0.tar.gz

 

創建Elasticsearch用戶

es 規定 root 用戶不能啓動 es,所以需要新建一個其他用戶來啓動 es修改配置文件

先創建組, 再創建用戶:
1)創建 elasticsearch 用戶組
            [root@localhost ~]# groupadd elasticsearch
        
2)創建用戶 es 並設置密碼爲自己想要的密碼,注意密碼不能過於簡單
            [root@localhost ~]# useradd es
            [root@localhost ~]# passwd es

3)用戶es 添加到 elasticsearch 用戶組
            [root@localhost ~]# usermod -G elasticsearch es
            [root@localhost ~]# chown -R es /opt/elasticsearch-6.6.0

4)設置sudo權限
            [root@localhost ~]# visudo

            在root ALL=(ALL) ALL 一行下面
            添加es用戶 如下:
            es ALL=(ALL) ALL
             
            添加成功保存後切換到es用戶操作

            [root@localhost ~]# su es
            [es@localhost root]$

 

修改配置文件

1)進入/opt/elasticsearch-6.6.0/config目錄,
    

2)如要修改JVM內存, 使用vi編輯器: vi jvm.options
       將默認1g的內存自己根據情況調整
    
3)使用vi編輯器:vi elasticsearch.yml

           3.1)取消如下注釋,並修改爲當前主機地址(注:冒號前面不能有空格,後面必須有一個空格):
      cluster.name: my-application
      node.name: node-1

            #ES官網建議生產環境需要設置bootstrap.memory_lock: true,  (設置爲true會報錯, 解決方法在附件1)
      bootstrap.memory_lock: false 
      network.host: 192.198.126.130           #改成你電腦實際IP地址
      http.port: 9200                         #9200是Web管理端口號; 另個9300是ES的TCP內部通信端口號
    
            #可不配
            path.data: /opt/elasticsearch/data
            path.logs: /opt/elasticsearch/logs
      discovery.zen.ping.unicast.hosts: ["192.198.126.130"]
      discovery.zen.minimum_master_nodes: 1   #注意,因爲本人目前是單節點,這裏必須爲1    

           3.2)新增如下配置:
      transport.tcp.port: 9300
      transport.tcp.compress: true
      bootstrap.system_call_filter: false     #因爲Centos6不支持SecComp,而ES默認bootstrap.system_call_filter爲true進行檢測     

      3.3)使用vi編輯器,修改/etc/sysctl.conf文件,添加如下代碼    
      vm.max_map_count=655360

      3.4)退出保存後執行如下命令:
      sysctl -p

      3.5)使用vi編輯器,修改/etc/security/limits.conf文件,在文件末尾添加如下代碼  
            * soft nofile 65536
            * hard nofile 65536
            * soft nproc  4096
            * hard nproc  4096

 

啓動Elasticsearch

1) 重啓Linux
        reboot

2)切換用戶
        cd /opt/elasticsearch-6.6.0
   su es

3)啓動服務
   elasticsearch-6.5.0/bin/elasticsearch

4)後臺啓動
   elasticsearch-6.5.0/bin/elasticsearch -d

5)測試是否啓動成功
   curl -XGET 'http://192.198.126.130:9200/'

 

附件

1)解決bootstrap.memory_lock: true報錯的辦法如下:
        修改
        /etc/security/limits.conf 
        baoshan soft memlock unlimited
        baoshan hard memlock unlimited

        修改:
        /etc/sysctl.conf 
        vm.swappiness=0

        之後重啓機器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章