环境:
Elasticsearch: 6.8.0
Kibana: 6.8.0
1.下载Elasticsearch的tar.gz包
地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.0.tar.gz
2.解压
tar -zxvf https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.0.tar.gz
3.单机版是可以直接启动的
./bin/elasticsearch -d
项目是可以直接启动的,访问http://localhost:9200就可以了。
至此,单机版ES就完成了。
4.集群搭建
vim /config/elasticsearch.yml
添加一下配置:
cluster.name: my_cluster
node.name: node-1
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["你的IP1:9300","你的IP2:9300","你的IP3:9300"]
discovery.zen.minimum_master_nodes: 1
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
需要修改的地方:你的IP部分替换成对应的IP地址就行了。
其他两个节点:
cluster.name: my_cluster
node.name: node-2
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["你的IP1:9300","你的IP2:9300","你的IP3:9300"]
discovery.zen.minimum_master_nodes: 1
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.name: my_cluster
node.name: node-2
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["你的IP1:9300","你的IP2:9300","你的IP3:9300"]
discovery.zen.minimum_master_nodes: 1
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
5.逐个启动节点
./bin/elasticsearch -d
到此,集群就搭建成功了。
6.访问:http://你的IP1:9200 看到如下界面,说明启动成功了。
到这里,大家可能觉得就结束了。
But,这个集群是没有安全认证的,在生产环境,这样的集群是及其容易被人攻击的。
所以,想要建立以安全的ES集群,请往下看:
开启ES集群的安全认证之路
(这里说明一下,ES集群之间的节点是通过凭证来通信的,所以才有生成凭证这一步骤,大家别不耐烦,耐心看,仔细操作,能成功的)
1. 生成证书:
./bin/elasticsearch-certutil ca
中间会让输入路径跟密码,路径可以不输,直接回车,但是密码还要设置一下的,为了安全嘛,我们就假定密码就是:123456
完成后会生成一个文件:elastic-stack-ca.p12
2.生成秘钥
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
中间需要输入刚才设置的密码就直接输入就可以了,需要输入路径的地方就直接回车,别输了,然后会生成一个文件:elastic-certificates.p12
这个就是ES的各个节点之间通信的凭证了。
这里说明一下,一个ES集群生成一个凭证就可以了,其他节点不许要生成凭证。
3.将凭证迁移到指定目录
mv /bin/elastic-certificates.p12 /config/certificates/
记得修改一下文件的权限(否则启动的时候会有权限问题):
chmod 777 /config/certificates/elastic-certificates.p12
4.修改配置文件
vim /config/elasticsearch.yml
修改内容如下(把路径替换成相应的路径可以了):
cluster.name: my_cluster
node.name: node-1
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["你的IP1:9300","你的IP2:9300","你的IP3:9300"]
discovery.zen.minimum_master_nodes: 1
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
xpack.security.enabled: true
xpack.security.authc.accept_default_password: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path:/elasticsearch/config/certificates/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path:/elasticsearch/config/certificates/elastic-certificates.p12
5. 将凭证同步到另外两个节点,同步骤3、4
另外两节点的配置:
cluster.name: my_cluster
node.name: node-2
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["你的IP1:9300","你的IP2:9300","你的IP3:9300"]
discovery.zen.minimum_master_nodes: 1
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
xpack.security.enabled: true
xpack.security.authc.accept_default_password: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path:/elasticsearch/config/certificates/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path:/elasticsearch/config/certificates/elastic-certificates.p12
cluster.name: my_cluster
node.name: node-3
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["你的IP1:9300","你的IP2:9300","你的IP3:9300"]
discovery.zen.minimum_master_nodes: 1
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
xpack.security.enabled: true
xpack.security.authc.accept_default_password: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path:/elasticsearch/config/certificates/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path:/elasticsearch/config/certificates/elastic-certificates.p12
6.这时候,大家是不是觉得可以启动集群了?错!!!还差最后一步:你还需要在各个节点上添加密码
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
输入密码:123456(之前设定的密码,请往上看)
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
输入密码:123456(之前设定的密码,请往上看)
7.逐个启动节点
./bin/elasticsearch -d
8.这时候打开 http://你的IP1:9200 看到如下画面
不是的,同学们,我们还没设置密码呢。
9.设置密码:
/bin/elasticsearch-setup-passwords interactive
然后逐个设置吧,记住,中间会有一个elastic账号的密码,然后在用户名跟密码栏填写上就可以了。
至此ES集群的账号跟密码就设置完成了。
如果问题想咨询,可加企鹅:782861070