前提准备工作:
安装好 jdk1.8
1、下载安装包资源
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
2、解压
tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz
3、启动
cd elasticsearch-7.6.2
./elasticsearch
这个时候第一个问题就出现了,ES默认不允许root用户直接启动 出现“can not run elasticsearch as root“错误提示,解决办法也很简单
解决办法
创建一个用户 然后赋予权限即可
1、创建用户组
group add es
2、创建用户
user add es -g es -p es
3、赋予权限
chown -R es:es /root/elasticsearch-7.6.2
4、切换到 se用户
su es
5、修改es配置文件
cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts:["192.168.191.128:9300","192.168.191.129:9300","192.168.191.130:9300"]
cluster.initial_master_nodes: ["node-1"]
6、继续启动 切换到 /root/elasticsearch-7.6.2/bin
./elasticsearch
后台启动
./elasticsearch -d
这时候大概率你还会报错
1、错误 (启动模式错误)
the default discovery settings are unsuitable for production use;
at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
这个错误是ES默认配置为集群,解决办法也很简单,我们只使用一个节点就好了
解决办法
编辑ES 配置文件
vi elasticsearch.yml
找到下面这行
cluster.initial_master_nodes: ["node-1","node-2"] 修改为 cluster.initial_master_nodes: ["node-1"]
2、错误(每个进程最大同时打开文件数太小)
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
##命令查看当前数量命令
ulimit -Hn
ulimit -Sn
解决办法
修改 vi /etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
##切记 *号不要忘记了 然后必须登出 再登录才能生效
* soft nofile 65536
* hard nofile 65536
#再次查看就修改了
3、错误(最大线程个数太低)
max number of threads [3818] for user [es] is too low, increase to at least [4096]
解决办法
还是修改 vi /etc/security/limits.conf文件
##切记 *号不要忘记了 然后必须登出 再登录才能生效
* soft nproc 65536
* hard nproc 65536
4、错误(虚拟内存地址太小)
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法
修改 vi /etc/sysctl.conf文件 增加配置
vm.max_map_count=262144
sysctl -p 立马生效
验证命令 sysctl -a|grep vm.max_map_count
好了修改完毕这些基本上就可以了
但是接着运行前还是要修改一些配置,方便我们测试
http.port: 9200 //默认端口9200 如果有需要这里修改下,劲量不要修改吧
network.host: 0.0.0.0 //默认只允许本机访问,修改成0.0.0.0 就允许外网访问,当然你防火墙得记得关
好了 接下去可以启动了
运行命令
./elasticsearch
访问 http://你的IP:9200/ 出现以下信息显示就说明安装成功了
{
"name" : "node-1",
"cluster_name" : "my-application",
"cluster_uuid" : "hx4OvoENTbKwqzyuhs0GbA",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
到此单机版本的ES安装完成了