下载
由于官网下载速度非常的慢,这里有国内镜像网下载 可选择版本下载,这篇文章下载7.3.0
https://thans.cn/mirror/elasticsearch.htm

有自带jdk和无jdk
安装
自带JDK 服务器无需安装jdk, 无jdk需要安装,这里不简述安装jdk
step1、创建文件夹:
mkdir /usr/elasticsearch/
step2、上传tar包并解压;
tar zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz
step3、配置es:
cd /usr/elasticsearch/elasticsearch-7.3.0/config
配置elasticsearch.yml:
vim elasticsearch.yml
主要设置的内容:
cluster.name: my-es #设置集群的名字,要小写
node.name: node-1 #设置节点的名字
network.host: 0.0.0.0 #设置ip地址,使外界可以访问es
http.port: 9200 #设置对外服务的端口,默认是9200
discovery.seed_hosts: ["192.168.1.121:9300", "192.168.1.122:9300","192.168.1:9300"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
#设置在集群中的所有节点名称,这个节点名称就是之前所修改的
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
#解决内核版本过低且不升级内核不报错问题
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
#解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
其它几台服务器的配置一样,只需修改node.name: node-2 node.name: node-3 ...
首次启动
由于es需要非root用户来启动,所以我们还需要创建一个用户,并且给这个用户赋权,来启动我们的Elasticsearch
## 新建一个用户
useradd -d /usr/elasticsearch-7.3.0 -m es
## 为es设置密码, 密码需要输入两次,校验不通过可以不用管他
passwd es
## 给es用户为 elasticsearch-7.3.0文件夹授权
chmod -R 777 /usr/elasticsearch-7.3.0
## 进入Elasticsearch的安装目录下,创建data文件夹来存放数据
mkdir data
#### 启动Elasticsearch
./elasticsearch
##或者以守护线程启动则执行
./elasticsearch -d 或者 nohup ./elasticsearch &
##查看日志看看是否启动成功
tail -f nohup.out
首次启动出现这种错误

解决办法
切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
添加安全认证
如果不想elasticsearch数据裸奔,可以设置密码,以前需要付费购买的x-pack部分功能,比如最重要的安全插件,已经不需要付费购买了,而是在默认的发布包中。官方给的消息是从6.8 和 7.1 开始默认提供。
配置如下:
第一步:切换到elastsearch的目录下,使用下列命令生成证书
bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
这里如果报找不到java的问题 就编辑配置文件bin/elasticsearch-env写死jdk的绝对路径
JAVA="/usr/jdk1.8/bin/java"
第二步:打开config/elasticsearch.yaml,在尾部添加下面一行代码:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12(这里最好写全路径,可以保证能找到)
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12(这里最好写全路径,可以保证能找到)
第三步:
在主节点服务器上生成的证书直接复制拷贝到另外几台集群上,切记不能每台都生成一个新的证书
最后启动集群es,设置密码
使用cd命令切换到elasticsearch目录,然后使用 bin/elasticsearch-setup-passwords auto 命令自动生成好几个默认用户和密码。 如果想手动生成密码,则使用 bin/elasticsearch-setup-passwords interactive 命令。一般默认会生成好几个管理员账户,其中一个叫elastic的用户是超级管理员
bin/elasticsearch-setup-passwords auto
bin/elasticsearch-setup-passwords interactive

网友评论