linux安装elasticsearch
阅读数:139 评论数:0
跳转到新版页面分类
应用软件
正文
1、下载https://mirrors.huaweicloud.com/elasticsearch/
根据自已的机器型号,连接对应的cpu架构,是x64、还是arm
2、安装
tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz
注意使用非root用户安装,并且配置了jdk。
3、配置
修改$(ES_HOME)/config/elasticsearch.yml
# 集群名称,同一集群中此名称必须相同,才能组成一个逻辑集群
cluster.name: elasticsearch
# 节点名称,可以设置为与主机名称相同
node.name: es-node0
# 默认的路径是elaticsearch解压名内的data和logs
path.data: /home/cuihs/elasticsearch-7.6.2/data
path.logs: /home/cuihs/elasticsearch-7.6.2/logs
# 访问es使用的端口
http.port: 9200
# 指定哪些网络地址可以访问es服务
network.host: 0.0.0.0
cluster.initial_master_nodes: ["es-node0"]
(2)jvm.options
-Xms128m
-Xmx128m
因为这里只是想体验一下,所以没有什么大内存。
4、启动
es启动不能使用root用户。
./bin/elasticsearch
如果想在后台执行./bin/elasticsearch -d
es提供了9300、9200两个端口,一个是共有的,一个是私有的。
可以通过浏览器输入http://192.168.232.3:9200/测试elasticsearch是否启动。
关闭es可以直接kill。
5、设置开机自启动
(1)建立服务文件
vim /lib/systemd/system/elasticsearch.service
[Unit]
Description=elasticsearch
[Service]
LimitNOFILE=65536
LimitNPROC=65536
ExecStart=/usr/tools/elasticsearch-6.3.0/bin/elasticsearch
User=es
Group=es
[Install]
WantedBy=multi-user.target
(2)给脚本赋权限
chmod +x /usr/lib/systemd/system/elasticsearch.service
systemctl enable elasticsearch
(3)查看elasticsearch状态
sudo systemctl status elasticsearch.service
ps aux|grep java
如果出现错误,使用下面命令查看日志
sudo journalctl -u elaticsearch
6、设置用户名密码访问
(1)设置config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
重启elasticsearch。
(2)执行bin/elasticsearch-setup-passwords interactive
为elastic、kibana、logstash_system等设置密码。
常见问题
1、future version of elasticsearch will requre java11
高版本的es会有这种告警,但不影响es的使用,可以安装jdk11来消除这种告警。
2、max file descriptors [4096] for elasticsearch process likely too low
[root@localhost bin]# vim /etc/security/limits.conf
# 找到如下内容, 如果没有就创建:
* soft nofile 4096
# 修改为65536, 其中*表示所有用户:
* soft nproc 65536
3、max virtual memory areas vm.max_map_count [65530] is too low
max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量。虚拟内存区域是一个连续的虚拟地址空间区域。在进程的生命周期中,每当程序尝试在内存中映射文件,链接到共享内存段,或者分配堆空间的时候,这些区域将被创建。调优这个值将限制进程可拥有VMA的数量。限制一个进程拥有VMA的总数可能导致应用程序出错,因为当进程达到了VMA上线但又只能释放少量的内存给其他的内核进程使用时,操作系统会抛出内存不足的错误。如果你的操作系统在NORMAL区域仅占用少量的内存,那么调低这个值可以帮助释放内存给内核用。
echo "vm.max_map_count=262144">>/etc/sysctl.conf
sysctl -p
4、ElasticsearchException[X-Pack is not supported and Machine Learning is not available for [linux-aarch64]; you can use the other X-Pack features (unsupported) by setting xpack.ml.enabled: false in elasticsearch.yml]
在elasticsearch.yml文件是面添加配置
#设置为false以禁用X-Pack机器学习功能。
xpack.ml.enabled: false