Elasticsearch 学习第一天

一、centos7.2  下进行部署 Elasticsearch6.8.3

  1、软件包链接地址 https://pan.baidu.com/s/1sXDXDdl8vwIceliv9n35yw

        2、安装环境搭建

          1)创建普通用户root 权限  

[root@localhost home]# adduser jjw
[root@localhost home]# passwd jjw
[root@localhost home]# chmod -v u+w /etc/sudoers
[root@localhost home]# vim /etc/sudoers
找到         root       ALL=(ALL)           ALL
然后添加   jjw          ALL=(ALL)       ALL
[root@localhost home]# chmod -v u-w /etc/sudoers

    2)搭建jdk 环境

#解压
[root@localhost home]#  tar -xvf jdk-8u161-linux-x64.tar.gz -C /usr/local/
#配置变量     
[root@localhost home]#  vim /etc/profile
JAVA_HOME=/usr/local/jdk1.8.0_161
JRE_HOME=/usr/local/jdk1.8.0_161/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export  JAVA_HOME JRE_HOME PATH CLASS_PATH
[root@localhost home]# source /etc/profile

    3) 安装 Elasticsearch6.8.3

##  安装测试后异常处理
##  不能使用root启动:  文件夹权限所有,所有组等 不能为root 
##  内存空间不够:Elasticsearch默认使用1G内存,如果内存不够 需要更改 配置文件jvm.options
##  服务器文件上限不够:修改限制
## 服务器线程数上限不够:修改限制
## 外部端口未开放:内部可以访问 9200,但是外部访问不了。

# 解压文件到指定目录
[root@localhost jjw]# tar -xvf elasticsearch-6.8.3-linux-x86-64.tar -C /usr/chandler/elasticsearch

# 测试是否安装成功
[jjw@localhost ~]$ /usr/chandler/elasticsearch/elasticsearch-6.8.3/bin/elasticsearch &
[jjw@localhost ~]$  curl localhost:9200

      4)测试时相关错误处理

##关于内存不够处理
#修改配置文件
[jjw@localhost config]$ vim jvm.options
-Xms1g
-Xmx1g
## 关于 服务器文件上限,和线程上限比较低处理
[jjw@localhost config]$ vim /etc/security/limits.conf
#末尾添加如下内容
*  soft    nofile  65536
*  hard    nofile  65536
*  soft    nproc   4096
*  hard    nproc   4096

#重启后进行测试是否已更改
#查看每个进程最大同时打开文件数
[jjw@localhost ~]$ ulimit -Hn
65536
[jjw@localhost ~]$ ulimit -Sn
65536
#查看最大线程个数
[jjw@localhost ~]$ ulimit -Hu
4096
[jjw@localhost ~]$ ulimit -Su
4096

##虚拟内存太小故障
[jjw@localhost ~]$ sudo vim /etc/sysctl.conf
#添加如下内容
vm.max_map_count=655360
[jjw@localhost ~]$ sysctl -p

##注意 linux 内核版本低于3.5 不支持seccomp
#处理方法  升级内核 或修改配置文件 禁止seccomp
[jjw@localhost config]$ vim elasticsearch.yml
  #添加如下内容
  bootstrap.system_call_filter:false

       5)对外端口开放

##修改配置文件开放端口
[jjw@localhost config]$ vim elasticsearch.yml
   #添加如下内容 network.host:
10.2.33.33 http.port: 9200 ##测试端口是否打开 #运行 elasticsearch 进行 #打开谷歌浏览器 10.2.33.339200

    6)安装  Elasticsearch Head

##获取elasticsearch head 方法:
    1、Github:https://github.com/mobz/elasticsearch-head
    2、进入  /usr/chandler 目录
       [jjw@localhost chandler]$ cd /usr/chandler
       [jjw@localhost chandler]$ wget https://github.com/mobz/elasticsearch-head/archive/master.zip  
       [jjw@localhost chandler]$ unzip master.zip
       [jjw@localhost chandler]$ mkdir elasticsearch-head
       [jjw@localhost chandler]$ mv elasticsearch-head-master elasticsearch-head        

    7) 安装 node.js

##  Elasticserach head 是用HTML5 编写,所以要使用 node.js。  
##  注意   不要使用最新版本,  因为,npm版本可能对应不上;应用启动时出现版本不对应
#安装 npm 包(node.js)
[jjw@localhost chandler]$ cd /usr/chandler/elasticsearch-head
[jjw@localhost elasticsearch-head]$ wget https://npm.taobao.org/mirrors/node/latest-v11.x/node-v11.0.0-linux-x64.tar.gz
[jjw@localhost elasticsearch-head]$ tar -zcvf node-v11.0.0-linux-x64.tar.gz

##配置环境变量(npm)
[jjw@localhost elasticsearch-head]$ vim /etc/profile
JAVA_HOME=/usr/local/jdk1.8.0_161
JRE_HOME=/usr/local/jdk1.8.0_161/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
NODE_HOME=/usr/chandler/elasticsearch-head/node-v11.0.0-linux-x64
NODE_PATH=$NODE_HOME/lib/node_modules
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$NODE_HOME/bin
export  JAVA_HOME JRE_HOME PATH CLASS_PATH NODE_HOME NODE_PATH

[jjw@localhost elasticsearch-head]$ source /etc/profile

##检测node版本和npm版本
[jjw@localhost elasticsearch-head]$ node -v
v11.0.0
[jjw@localhost elasticsearch-head]$ npm install
[jjw@localhost elasticsearch-head]$ npm -v
6.4.1

   8)启动Elasticsearch Head

[jjw@localhost chandler]$ cd elasticsearch-head
[jjw@localhost elasticsearch-head]$ npm  install -g grunt-cli
[jjw@localhost elasticsearch-head]$ npm  install -g grunt
[jjw@localhost elasticsearch-head]$ npm run start

##注意运行时会出现错误
#编译时错误,一般需要修改 package.json文件
#启动时的错误,一般为端口占用
#使用时的错误,一般因为跨域问题
#修改 package.json文件
[jjw@localhost elasticsearch-head]$ vim package.json
"license": "Apache" 修改为 "license": "Apache-2.0"

#端口占用问题
linux服务器安装了Github代码仓库,Gitlab占用了9100端口。解决方法:
1、kill 掉 9100端口进程
2、修改Elasticserach-Head 端口,修改 Gruntfile.js 配置文件
修改配置文件方法如下:
[jjw@localhost elasticsearch-head]$ vim Gruntfile.js
 connect: {
                        server: {
                                options: {
                                        port: 9001,
                                        base: '.',
                                        keepalive: true
                                }
                        }
                }
# 开放端口
[jjw@localhost elasticsearch-head]$ vim Gruntfile.js
 connect: {
                        server: {
                                options: {
                                        hostname: '10.2.33.33',
                                        port: 9001,
                                        base: '.',
                                        keepalive: true
                                }
                        }
                }
## hostname: '*',  表示所有IP可访问
#防火墙端口打开
[jjw@localhost elasticsearch-head]$ firewall-cmd --permanent --zone=public --add-port=9001/tcp
[jjw@localhost elasticsearch-head]$ firewall-cmd --reload
[jjw@localhost elasticsearch-head]$ firewall-cmd --list-ports
[jjw@localhost elasticsearch-head]$ netstat -anp    

    9)检查

[jjw@localhost elasticsearch-head]$ npm run start

> elasticsearch-head@0.0.0 start /usr/chandler/elasticsearch-head
> grunt server

Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://10.2.33.33:9001


#表示配置成功

##  用谷歌浏览器 进行测试  http://10.2.33.33:9001

     10)添加 Elasticserach-Head  连接 Elasticserach 集群

##Elasticserach 默认不允许入第三方接入,需要修改 elasticsearch.yml 配置文件

[jjw@localhost config]$ vim elasticsearch.yml
    #添加如下内容
    http.cors.enabled: true
    http.cors.allow-origin: "*"
## 启动 Elasticserach 进程 登录 http://10.2.33.33:9001 可进行连接

      11)elasticserach-analysis-ik 中文分词插件安装

      ## 注意需要  需要下载 编译后的依赖包;  没有编译自行manv  编译

      下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.8.3

[jjw@localhost plugins]$ cd /usr/chandler/elasticsearch/elasticsearch-6.8.3/plugins

[jjw@localhost plugins]$ mkdir elasticsearch-analysis-ik-6.8.3
[jjw@localhost plugins]$ unzip elasticsearch-analysis-ik-6.8.3.zip -d elasticsearch-analysis-ik-6.8.3

   12)Kibana 安装

   下载链接:https://www.elastic.co/cn/downloads/past-releases/kibana-6-8-3

[jjw@localhost chandler]$ mkdir kibana
[jjw@localhost chandler]$ tar -xvf kibana-6.8.3-linux-x86_64.tar.gz -C kibana

   开放端口

[jjw@localhost kibana-6.8.3-linux-x86_64]$ vim config/kibana.yml
#添加以下内容
server.port: 5601
server.host: "10.2.33.33"
elasticsearch.hosts: ["http://10.2.33.33:9200"]

##检查防火墙端口是否开放
[jjw@localhost kibana-6.8.3-linux-x86_64]$ firewall-cmd --permanent --zone=public --add-port=5601/tcp
[jjw@localhost kibana-6.8.3-linux-x86_64]$ firewall-cmd --reload
[jjw@localhost kibana-6.8.3-linux-x86_64]$ netstat -tunlp | grep 5601

   配置汉化版

  ## 因为 kibana 7以前  官方没有支持中文。需要自行打补丁包

  下载地址链接:https://github.com/anbai-inc/Kibana_Hanization

  

原文地址:https://www.cnblogs.com/jiejunwang/p/12060890.html