在一个Ubuntu-Server上运行多个elasticsearch节点作为服务

时间:2014-10-02 14:09:38

标签: ubuntu service elasticsearch nodes

我有一台服务器运行Ubuntu 14.04,内存220 GB,我想运行elasticsearch。根据文档,一个节点不应该有超过32 GB的RAM,所以我想我必须在这台机器上运行几个节点才能使用所有RAM。我考虑为每个节点运行4个节点,内存为28 GB。

如何将其设置为ubuntu服务,以便所有节点在系统重启后自动重新启动?我想我必须以某种方式编辑/etc/init.d/elasticsearch - 任何人都可以帮助我吗?

非常感谢你们!

2 个答案:

答案 0 :(得分:3)

我放弃了一段时间后,删除了elasticsearch repo-installation并下载了zip文件。然后我创建了两个新贵工作,到目前为止,每件事都很顺利。

  1. 包装
  2. 
        description "Start several ES-instances at once (this is a wrapper)."
    
        start on (local-filesystems and net-device-up IFACE!=lo)
        stop on runlevel [06] 
        respawn
    
        # Give up respawn if restart occurs 5 times in 120 seconds
        respawn limit 5 120
    
        env NUM_INSTANCES=4
    
        pre-start script
            for i in $(seq 1 $NUM_INSTANCES)
            do
                start elasticsearch-instance ID=$i
            done
        end script
    
        pre-stop script
            curl -XPOST "http://localhost:9200/_cluster/nodes/_local/_shutdown"
        end script
    

    1. 实例
    2. 
          description "starts up an elasticsearch instance (node)"
      
          stop on stopping elasticsearch
          respawn
      
          instance $ID
      
          limit nofile 64000 64000
      
          setuid elasticsearch
          setgid elasticsearch
      
          env JAVA_OPTS="-XX:+UseCompressedOops"
          env ES_HEAP_SIZE=28G
          exec /data/elasticsearch/bin/elasticsearch -Des.config=/data/elasticsearch/config/elasticsearch.yml
      

答案 1 :(得分:2)

假设您的rpm或deb创建了一个init.d脚本,要在同一台机器上启动第二个节点,请执行以下操作:

cd /etc/init.d
cp --preserve elasticsearch elasticsearch2

编辑elasticsearch2脚本:

  1. 将#molasticsearch改为#elasticsearch2
  2. 添加节点=" 2"行前后=" elasticsearch"
  3. 将pidfile = / var / run / elasticsearch / $ {prog} .pid更改为pidfile = / var / run / elasticsearch / $ {prog} $ {node} .pid
  4. 将lockfile = / var / lock / subsys / $ prog更改为lockfile = / var / lock / subsys / $ prog $ node
  5. 更改echo -n $"启动$ prog:" echo -n $"启动$ prog :(节点$ node)"
  6. 更改echo -n $"停止$ prog:" echo -n $"停止$ prog :(节点$ node)"
  7. 保存文件。执行

    chkconfig --add elasticsearch2
    service elasticsearch2 start