上面是个基础配置,下面说一下官网上教程让安装的东西,一个是debian一个是rpm ,是用来执行管理命令所使用的安装管理工具包。debian是基于debian的linux系统如:Debian, Ubuntu。rpm是基于rpm的linux系统如:Red Hat, Centos, SLES,OpenSuSE。
我安装的rpm,然后可以使用命令service elasticsearch start/stop/restart/status....
安装步骤:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.3.rpm sha1sum elasticsearch-5.4.3.rpm sudo rpm --install elasticsearch-5.4.3.rpm上述命令执行完成后,
添加到系统启动
chkconfig --add elasticsearch
此时就可以使用service elasticsearch start/stop/...命令了。
RPM包的系统配置文件在/etc/sysconfig/下名字为elasticsearch,该配置文件是全局配置一些参数,如ES_USER,ES_GROUP,JAVA_HOME等,打开看看就知道了。
ElasticSearch的配置文件在/etc/elasticsearch/下。
注意:
此时使用service命令启动的elasticsearch使用的配置文件不再是conf/目录下的了,因为在/etc/elasticsearch/下存在优先级更高的配置,所以使用的是/etc下的配置文件,后期的修改配置文件修改这里的即可。
问题:
使用service elasticsearch start命令启动时如果出现:which: no java in (/sbin:/usr/sbin:/bin:/usr/bin)
说明jdk可能是你手动安装指定的目录文件夹,他到默认位置没找到,这时候又两个选择,一个是建立软连接:
ln -s 你的JAVA_HOME/bin/java /usr/bin/java
一个是在/etc/sysconfig/elasticsearch里面指定JAVA_HOME,这个我没试,我用上面那种方式。
下面简单说一下/etc/elasticsearch/elasticsearch.yml的基本配置内容:
cluster.name: test_es # 集群名称,同一个集群一个名字 node.name: node-115 # 节点名字 #node.attr.rack: r1 # 不了解 path.data: /mnt/elasticsearch-5.4.3/data # 数据存放位置,官网推荐不要放到安装目录,因为升级时候会导致数据丢失 path.logs: /mnt/elasticsearch-5.4.3/logs # 日志存放位置 bootstrap.memory_lock: true # 启动时是否锁定内存,集群时候用的,防止jvm被swap到磁盘用的,还要额外配置系统参数,在/etc/security/limits.conf内:elasticsearch soft memlock unlimited换行elasticsearch hard memlock unlimited network.host: 10.144.255.45 # 默认是注释掉的,也就是本地模式local,127.0.0.1, 这个配置是在集群时候绑定本地网卡使用的,不推荐绑定暴露的公共ip,而是域内内网ip。 #http.port: 9200 #这个是端口,没被占用的话默认就可以 discovery.zen.ping.unicast.hosts: ["10.163.189.82"] # 这个默认也是注释掉的,是在集群时,填写其他节点的ip,多个逗号隔开 discovery.zen.minimum_master_nodes: 1 #这个是最小主节点数,取值 (可用主节点数/2)+1 ,防止脑裂用的(脑裂会导致数据丢失,脑裂是啥?据说是网络出现异常时候如果不配置这个会导致集群分裂为两个单独的集群,然后导致数据丢失) #gateway.recover_after_nodes: 3 #几个节点加入集群以后开始恢复 #action.destructive_requires_name: true # 删除索引是否需要明确的名字?