提示:以下是本篇文章正文内容,下面案例可供参考
执行命令下面命令查看可安装java版本
yum -y list java*
选择一个java版本进行安装
yum install -y java-1.8.0-openjdk-devel.x86_64
这里有个地方要注意,要选择 要带有-devel的安装,因为这个安装的是jdk,而那个不带-devel的安装完了其实是jre。
输入java -version查看已安装的jdk版本,当出现如下输出表示安装成功。
jdk 的安装目录
cd /usr/lib/jvm
配置环境变量,编辑/etc/profile文件:
vi /etc/profile
在文件尾部添加如下配置:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el6_10.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
wq退出vim编辑器,然后使用命令更新配置
source /etc/profile
官网下载地址 https://www.elastic.co/cn/downloads/elasticsearch
查看版本
选择版本
下载
Elasticsearch不能以 root 权限启动
当我们以root用户执行 ./elasticsearch 的时候,会报错。这里,我们需要手动创建用户,下面给出我自己的解决方式。
#首先切换到 root 用户,输入密码,然后执行以下步骤:
su root
#一,创建一个用户组,这里,我给用户组取名为 es_users
groupadd es_users
#二、创建一个用户 es_user1,并将其添加到 es_users用户组
useradd es_user1 -g es_users
#三、创建目录,把压缩包放到此文件夹下解压
cd /home/es_user1/
mkdir es
cd es
tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz
#四、为es_user1用户赋予 /home/es_user1目录权限
chown -R es_user1:es_users /home/es_user1
然后切换到 es_user1用户,再执行elasticsearch 即可。
#切换到 es_user1 用户
su es_user1
#进入目录
cd /elasticsearch-7.12.1/bin/
#执行 elasticsearch
./elasticsearch
可以在本机通过 localhost:9200 进行访问,但是却不能在远程通过 IP:9200进行访问,修改配置文件network.host: 0.0.0.0
核心文件:/config/elasticearch.yml
#修改集群名称
cluster.name: test-elasticsearch
#修改当前的es节点名称
node.name: es-node0
#修改data数据保存地址和日志数据保存地址
path.data: /home/es_user1/es/elasticsearch-7.12.1/data
path.logs: /home/es_user1/es/elasticsearch-7.12.1/logs
#绑定es网络ip
network.host: 0.0.0.0
#集群节点修改为之前的节点名称
cluster.initial_master_nodes: ["es-node0"]
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
elasticsearch安装时遇到的错误
问题翻译过来就是:elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;
解决办法:
#切换到root用户修改
vim /etc/security/limits.conf
在最后面追加下面内容
es_user1 是启动ES的用户
es_user1 hard nofile 65536
es_user1 soft nofile 65536
退出重新这个用户登录就行了
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法:
vim /etc/sysctl.conf
# 修改vm.max_map_count=262144
vm.max_map_count=262144
#使配置
sysctl -p
注意防火墙是否关闭,或者端口是否开放,此处略
http://192.168.73.129:9200/
http://192.168.73.129:9200/_cat/nodes?v
按照上述步骤部署3台以上的es,把9200和9300端口都开放了(是两个端口,可以自定)
找到每台的配置文件,修改配置文件
vi ./config/elasticsearch.yml
以下是我自己节点中的节点2,配置参考,自行修改(每个节点的配置都要改动)
#你的集群名称
cluster.name: my-application
#节点名称 例如 node1 node2 node3
node.name: node2
#是否作为主节点,每个节点都可以被配置成为主节点,是:true、否:false 默认为true
node.master: true
#当前节点是否用于存储数据,是:true、否:false
node.data: true
#数据目录
path.data: /home/es_user2/es/elasticsearch-7.12.1/data
#日志目录
path.logs: /home/es_user2/es/elasticsearch-7.12.1/logs
#用来同时设置bind_host和publish_host(我这里填的是自己主机的ip,具体自己搜)
network.host: 192.168.73.130
#设置对外服务的http端口,默认为9200
http.port: 9200
#设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
#集群ip端口列表 node1 node1 node1
cluster.initial_master_nodes: ["192.168.73.129","192.168.73.130","192.168.73.131"]
#节点交互ip端口列表 node1 node1 node1
discovery.seed_hosts: ["192.168.73.129:9300", "192.168.73.130:9300", "192.168.73.131:9300"]
如果还是不行,去找找其他教程吧,我亲试是可以的