服务器上提前安装好jdk1.8以上版本
计划将elasticsearch安装到 /data目录下
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-linux-x86_64.tar.gz
其他版本可到如下链接下载: https://www.elastic.co/cn/downloads/elasticsearch
tar -xzvf elasticsearch-7.17.4-linux-x86_64.tar.gz
文件句柄数:
vi /etc/security/limits.conf
增加以下配置
* soft nofile 65536
* hard nofile 65536
修改vm.max_map_count的大小:( 默认的操作系统对 mmap 计数的限制可能太低,这可能会导致内存不足异常)
vi /etc/sysctl.conf
增加如下配置
vm.max_map_count=262144
mkdir /data/elasticsearch-7.17.4/data
mkdir /data/elasticsearch-7.17.4/logs
es不能被root账号启动,因此单独创建一个账号
命令如下:
groupadd es
useradd -g es es
chown -R es:es /data/elasticsearch-7.17.4
修改解压后的elasticsearch-7.17.4/config/elasticsearch.yml文件
# 节点名称
node.name: node-1
# 开启安全功能
xpack.security.enabled: true
# 监听网路
network.host: 0.0.0.0
# 启用单点
discovery.type: single-node
# 修改数据目录
path.data: /data/elasticsearch-7.17.4/data
#
# Path to log files:
#
path.logs: /data/elasticsearch-7.17.4/logs
注意,需要切换用户启动es
进入elasticsearch-7.17.4/bin目录
su es
#后台启动(可以先用 ./elasticsearch 启动看看是否异常,正常启动后,在重新后台启动)
./elasticsearch -d
#初始化账号(执行下边命令,出现 Please confirm that you would like to continue [y/N] 按y,之后设置密码)
./elasticsearch-setup-passwords interactive
#退出es账号
exit
http://ip:9200/
在弹出界面输入账号[elastic]和上边设置的密码,出现以信息,说明es安装启动完成
{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "tXpgbxD1QzauHrboD6gXWA",
"version" : {
"number" : "7.17.4",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "79878662c54c886ae89206c685d9f1051a9d6411",
"build_date" : "2022-05-18T18:04:20.964345128Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
修改elasticsearch-7.17.4/config/elasticsearch.yml文件
#跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,Content-Type
下载地址 https://github.com/mobz/elasticsearch-head
#没git直接下载源码也行
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm install -g grunt-cli
npm run start
备注1:发现了一个PhantomJs的问题,安装 bzip2 后解决
yum install bzip2
备注2:如果端口冲突,编辑 Gruntfile.js 修改端口
如下9100改为其他端口
connect: {
server: {
options: {
port: 9100,
base: '.',
keepalive: true
}
}
}```
## 验证
http://elasticsearch-head的ip:9100/?base_uri=http://elasticsearch的ip:9200&auth_user=elastic&auth_password=elastic的密码
注意:密码有特殊字符需要 urlencoded转码,不想用elastic可以单独创建一个账号,分配 all,monitor,manage 的权限。