=== 在节点1上面安装单节点elasticsearch ===
已经把安装包存放在了/opt/src路径下面,直接把elasticsearch-7.2.0-linux-x86_64.tar.gz解压两份,分别放入/opt/elastic-node1和/opt/elastic-node2目录下即可。
在后续版本升级时,将7.8版本的安装文件放置在了/opt/bak路径下。
==== es代码解压部署 ====
[elastic@sjzjs-phy-elastic-110-91 opt]$ ls /opt/elastic-node1
bin config jdk lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
[elastic@sjzjs-phy-elastic-110-91 opt]$ ls /opt/elastic-node2/
bin config jdk lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
==== 编辑elastic-node1 elasticsearch.yml设置几个重要配置参数 ====
设定es集群名称
cluster.name: bw-elastic
设定本es节点名称
node.name: elastic-node1
设定服务绑定定的网卡地址
network.host: 172.17.110.91
启动服务时锁定分配的内存
bootstrap.memory_lock: true
增加一个节点的自定义属性,用于索引分片分布的优化
node.attr.phy_server: phy-elastic-110-91
cluster.routing.allocation.awareness.attributes: phy_server
设定es api服务端口
http.port: 9201
设定es集群内节点间的通信端口
transport.port: 9301
设定本es节点的数据和日志的储路径
path.data: /opt/elastic-node1/data
path.logs: /opt/elastic-node1/logs
* 以上配置专用于sjzjs-phy-elastic-110-91主机上部署的elastic-node1服务节点。
* 此时,暂不启用network.host参数。
==== 编辑elastic-node1 jvm.options调优jvm参数 ====
我们部署elastic服务的物理主机,配置的是128GB内存,每个主机上共部署2个es服务节点,每个es节点可使用的内存为64GB。一半用于jvm,一半留给操作系统做文件缓存,同时出于jvm大缓存使用上的性能考虑,我们统一为每个es服务节点设置jvm缓存为29GB。
-Xms29g
-Xmx29g
==== 启动elastic-node1服务进程 ====
/opt/elastic-node1/bin
[elastic@sjzjs-phy-elastic-110-91 bin]$ ./elasticsearch
==== 检测下服务是否正常启动 ====
[elastic@sjzjs-phy-elastic-110-91 ~]$ curl <nowiki>http://127.0.0.1:9201</nowiki>
{
"name" : "elastic-node1",
"cluster_name" : "bw-elastic",
"cluster_uuid" : "jCBE8Uv_Tni0y6mh5Bqnrw",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
=== 在节点1上安装kibana ===
==== 解压和分发安装包 ====
cd /opt/src
tar zxvf kibana-7.2.0-linux-x86_64.tar.gz
mv kibana-7.2.0-linux-x86_64 ../kibana
==== 编辑config/kibana.yml文件 ====
server.host: "sjzjs-phy-elastic-110-91"
elasticsearch.hosts: ["<nowiki>http://localhost:9201</nowiki>"]
* server.host,将kibana服务绑定到指定的地址
* elasticsearch连接参数,在目前阶段,暂时使用的localhost:9201
==== 启动kibana ====
cd /opt/kibana/
./bin/kibana
对办公网段放行kibana访问
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.81.0/24" port protocol="tcp" port="5601" accept"
firewall-cmd --reload
* 这里暂先只放行了81段,后续根据使用需求,可以追加。
* 公司各办法区到该网段有vpn,因此我们直接通过办公网访问kibana服务。kibana系统还有一套网站的登录授权验证功能,所以这里按网段全放行是安全的。
=== 在节点1上安装MetricBeats ===
Beats针对不同的使用场景,分别提供了不同的工具实现。这里我们使用Metricbeat对节点主机的系统、elasticsearch索引进行监控。
Metricbeat提供预构建的模块,可以使用它们快速实施和部署系统监控解决方案。
==== 解压和分发安装包 ====
cd /opt/src
tar zxvf metricbeat-7.2.0-linux-x86_64.tar.gz
mv metricbeat-7.2.0-linux-x86_64 /opt/metricbeat
==== 编辑metricbeat.yml ====
output.elasticsearch:
hosts: ["localhost:9201"]
setup.kibana:
host: "sjzjs-phy-elastic-110-91:5601"
==== 启用system模块 ====
在这里,我们将运行Metricbeat的system模块以从服务器上运行的操作系统和服务收集指标。system模块收集系统级指标,例如CPU使用率,内存,文件系统,磁盘IO和网络IO统计信息,以及系统上运行的每个进程的类似顶级的统计信息。
./metricbeat modules enable system
==== 初始化数据 ====
./metricbeat setup -e
==== 启动Metricbeat服务 ====
./metricbeat -e
打开浏览器并导航到Metricbeat系统概述仪表板:
<nowiki>http://172.17.110.91:5601/app/kibana#/dashboard/Metricbeat-system-overview-ecs\</nowiki>
至此,单机版本的部署完成,在部署结果通过验收后,进入下一步骤,启用和配置出es安全管理功能。