一、安装elasticSearch
elasticsearch 7.x自带JDK,无需额外安装。如果服务器中安装了JDK,版本必须在11以上,否则就要在环境变量中去掉JAVA_HOME,让elasticsearch使用自带的JDK。
1.下载安装包
[root@localhost opt]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-linux-x86_64.tar.gz
个人感觉去官网下载tar包,速度比linux里快一些
官网下载链接 https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-11-1
2.解压
[root@localhost opt]# tar -xvzf elasticsearch-7.11.1.tar.gz
3.创建一个普通用户,elasticsearch-2.x版本以后就不允许使用root账户启动
#创建账号
[root@localhost opt]# useradd dd
#设置密码
[root@localhost opt]# passwd dd
4.给用户设置文件夹的权限,不然切换用户后运行会提示权限不足
[root@localhost opt]# chown -R dd:dd elasticsearch-7.11.1/
5.打开端口:
[root@localhost opt]# firewall-cmd --add-port=9100/tcp
success
[root@localhost opt]# firewall-cmd --add-port=9200/tcp
success
[root@localhost opt]# firewall-cmd --add-port=9300/tcp
success
7.x版本,head插件的访问端口是9100,9200是http访问elastic的端口,9300是节点通信的端口
6.修改config/elasticsearch.yml配置文件
#修改es监听地址,让别的机器可以访问,不然只能在linux内部访问
network.host: 0.0.0.0
#让head插件可以访问es,在5.3,head插件需要手动安装,在1.x和2.x中,head插件可以使用es内部的脚本安装,所以无需设置此参数
http.cors.enabled: true #开启跨域访问支持
http.cors.allow-origin: "*" #跨域访问允许的域名地址,使用正则表达式
#注意冒号后要加空格,否则会报错
端口可以手动指定,也可以不指定,使用默认端口。
http.port: 9200
transport.port: 9300
- V6.7起,transport.tcp.port改为了transport.port。
elasticsearch 7.5.2中,集群为单节点时,必须指定master节点,或指定节点类型为单节点,两种配置互斥。
配置一:指定节点类型为单节点
discovery.type: single-node
配置二:指定master节点
#一个节点时指定master
cluster.initial_master_nodes: ["node-1"]
指定master节点时,必须指定节点名,否则会找不到master节点。
node.name: node-1
7.修改系统参数
修改/etc/security/limits.conf
[root@localhost opt]# vim /etc/security/limits.conf
dd soft nproc 65536
dd hard nproc 65536
dd soft nofile 65536
dd hard nofile 65536
修改sysctl.conf配置文件
[root@localhost opt]# vim /etc/sysctl.conf
vm.max_map_count= 262144
[root@localhost opt]# sysctl -p
8.进入bin目录,运行es,注意要非root用户
[dd@localhost bin]$ ./elasticsearch -d
[dd@localhost bin]$ jps
9617 Jps
9597 Elasticsearch
如果es目录下,有root权限的文件,重新用root修改文件夹权限再运行
浏览器输入地址,访问es
http://192.168.195.132:9200/
会显示es相关信息,说明启动成功
{
"name" : "local",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "3zKH2JOeTJuX7AYLGcA7lA",
"version" : {
"number" : "7.11.1",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "ff17057114c2199c9c1bbecc727003a907c0db7a",
"build_date" : "2021-02-15T13:44:09.394032Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
二、安装head插件
1.下载并配置nodejs
[root@localhost opt]# wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz && xz -d node-v6.9.5-linux-x64.tar.xz
[root@localhost opt]# tar -xvf node-v6.9.5-linux-x64.tar -C /usr/local/
[root@localhost opt]# ln -s /usr/local/node-v6.9.5-linux-x64/bin/node /usr/bin/node
[root@localhost opt]# ln -s /usr/local/node-v6.9.5-linux-x64/bin/npm /usr/bin/npm
[root@localhost opt]# node -v && npm -v
v6.9.5
3.10.10
或
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs
2.安装grunt
[root@localhost opt]# npm install -g grunt-cli
[root@localhost elasticsearch-head]# ln -s /usr/local/node-v6.9.5-linux-x64/lib/node_modules/grunt-cli/bin/grunt /usr/bin/grunt
3.下载head,去git克隆,再放到es目录下
git clone git://github.com/mobz/elasticsearch-head.git
4.更改文件夹权限
[root@localhost elasticsearch-7.11.1]# chown -R dd:dd elasticsearch-head/
5.下载phantomjs-2.1.1-linux-x86_64.tar.bz2,放到/tmp/phantomjs/目录下
head中不包含这个包,但又依赖这个包,且被墙,如果挂着科学上网,可以直接跳过这步,会自动下载,不然只能手动下载。或者用cnpm安装,可以不用手动放包。
这个包官网没法下载,下载到一半速度会降到0,可以去csdn下载,3个积分
推荐本站下载(下载完修改文件名为phantomjs-2.1.1-linux-x86_64.tar.bz2):http://119.45.158.221/upload/2020/08/phantomjs-2.1.1-linux-x86_64.tar-9002a7da3b80464292e82d99615c4b77.bz2
6.在elasticSearch-head目录下执行npm install
[root@localhost elasticsearch-head]# npm install
7.配置head文件
修改elasticsearch-head/_site/app.js文件
[root@localhost elasticsearch-head]# vim _site/app.js
搜索this.config.base_uri ||
找到这一行
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
修改为自己的ip
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.195.132:9200";
修改elasticsearch-head/Gruntfile.js文件
[root@localhost elasticsearch-head]# vim Gruntfile.js
搜索port,在上面加上hostname: “0.0.0.0”,
connect: {
server: {
options: {
hostname: "0.0.0.0",
port: 9100,
base: '.',
keepalive: true
}
}
}
8.启动head插件
[root@localhost elasticsearch-head]# grunt server &
[1] 10752
[root@localhost elasticsearch-head]# Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
[root@localhost elasticsearch-head]#
启动head后,关闭ssh,head就关闭的问题,可以在执行完grunt server &,再exit推出ssh。
9.访问服务
http://192.168.195.132:9100/
如果集群健康值为未连接,重启下es
安装过程中出现过的问题
npm install报错:phantomjs-prebuilt@2.1.16 install: node install.js