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.33:9200
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