解压压缩包到
/usr/local/
添加用户和组(不是必须得,但是不能以root用户执行,因为elasticsearch可植入外部脚本,用root执行风险太高,是被禁止的)
# groupadd es
# useradd es -g es -p elasticssearch
# chown -R es:es elasticsearch-6.4.2
在安装目录下创建logs和data目录并授予权限
chown -R es:es data
chown -R es:es logs
修改配置文件
vim /usr/local/elasticsearch-6.4.2/config/elasticsearch.yml
三台配置不一样的node.name即可
discovery.zen.ping.unicast.hosts为节点ip
network.publish_host为当前节点的外网ip,这样集群才能相互通信
cluster.name: realfake-es
node.name: node-1
node.master: true
node.data: true
path.data: /usr/local/elasticsearch-6.4.2/data
path.logs: /usr/local/elasticsearch-6.4.2/logs
network.host: 0.0.0.0
network.publish_host: 119.23.237.241
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["119.23.237.241", "118.25.178.145","106.12.203.18"]
discovery.zen.ping_timeout: 120s
client.transport.ping_timeout: 60s
discovery.zen.minimum_master_nodes: 2
配置es jvm参数,注意内存
vim /usr/local/elasticsearch-6.4.2/config/jvm.options
-Xms512m
-Xmx512m
配置系统参数
vim /etc/security/limits.conf
# 添加如下内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
vim /etc/security/limits.d/20-nproc.conf
* soft nproc 4096
vim /etc/sysctl.conf
# 添加下面配置:
vm.max_map_count=655360
# 并执行命令:
sysctl -p
切换es用户,进入安装目录bin目录
su es
./elasticsearch -d #后台启动
三个节点都启动后,查看集群状态
http://ip:9200/_cat/nodes?v
可以继续安装head插件来监控集群,下面是安装步骤:
安装elasticsearch-head监控elasticsaerch集群
解压到
/usr/nodeProject/
配置elasticsearch.yml,进入elasticsearch安装目录的conf目录
vim elasticsearch.yml
添加如下配置
# 增加新的参数,这样head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
进入head解压目录
导入依赖
cnpm install -g grunt-cli
cnpm install
修改Gruntfile.js文件
connect: {
server: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}
增加hostname属性,设置为*
修改连接地址:/_site/app.js
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
把localhost修改成你es的服务器地址,如:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.10.10.10:9200";
配置后台运行,修改package.json
将
"start": "grunt server",
修改为
"start": "nohup grunt server &",
运行head
npm run start
防火墙开启9100端口
在集群运行正常情况下访问9100端口,我这边有个节点歇菜了,只显示2个节点
访问9100端口
出处:https://blog.csdn.net/qq_33683097/article/details/85013506