#!/bin/bash

file_name="/sdzw/es5/conf/es.config"

#安装目录

install_dir="/es5/esinstall"

#es数据目录

es_dir="/data/es5data"

network_host=`cat ${file_name} | grep network_host`

network_host=${network_host#*=}

#节点名

node_name="\"$network_host\""

hosts=`cat ${file_name} | grep hosts`

hosts=${hostst#*=}

if[ $1 ]

then

jvm_options=$1

else

jvm_options="8g"

fi

jarpath="/es5/source"

mkdir_cmd="mkdir -p ${install_dir}"

sed -i 'a\fs.file-max=65536'   /etc/sysctl.conf

sysctl -p

#修改环境变量

sed -i '$a\export NODE_HOME=/es5/esinstall/node-v6.9.1-l-linux-x64'  /etc/profile

sed -i '$a\export PATH=$PATH:$NODE_HOME/bin'   /etc/profile

source /etc/profile

userdel es5

adduser es5

if [ -f ${es_dir} ]

then

echo "数据目录已存在"

else

mkdir -p ${es_dir}

fi

chmod 777 /data/es5data

if [ -f ${install_dir} ]

then

echo "安装目录已存在"

else

mkdir_cmd

fi

chmod es5:es5 -R ${install_dir}

tar -xzvf ${jarpath}/elasticsearch-5.4.0.tar.gz -C  ${install_dir}

tar -xzvf ${jarpath}/eshead.tar.gz -C  ${install_dir}

tar -xzvf ${jarpath}/node.tar.gz -C  ${install_dir}

chown es5:es5 -R {install_dir}/elasticsearch-5.4.0

chown es5:es5 -R {install_dir}/elasticsearch-head

chown es5:es5 -R {install_dir}/node-v6.9.1-linux-x64

#修改配置文件

sed -i "/#node.name: node-1/a\node.name: ${node_name}" ${install_dir}/elasticsearch-5.4.0/config/elasticsearch.yml

sed -i "s/-Xms2g/-Xms${ jvm_options}/g"  ${install_dir}/elasticsearch-5.4.0/config/jvm.options

sed -i "s/-Xmx2g/-Xmx${ jvm_options}/g"  ${install_dir}/elasticsearch-5.4.0/config/jvm.options

cat >> ${install_dir}/elasticsearch-5.4.0/config/elasticsearch.yml

discovery.zen.ping.unicast.hosts: ${hosts}

network.host: ${network_host}

EOF

echo '注册系统服务'

cp -af /es5/conf/esserver /etc/init.d/esserver

chmod +x /etc/init.d/esserver

chkconfig_list=`chkconfig --list 2>&1`

if echo "$chkconfig_list" | grep -q "esserver" ; then

chkconfig --del esserver

fi

chkconfig --add esserver

echo "启动es"

su es5 -c "nohup /es5/esinstall/elasticsearch-5.4.0/bin/elasticsearch >> /dev/null &"

echo "es系统服务注册成功"

es安装脚本的更多相关文章

  1. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  2. Linux安装脚本需要交互之如何实现自动安装

    Linux中shell脚本运行时经常需要进行交互,比如安装软件的过程中对license声明的确认,需要输入yes,回车之类的确认信息.这个在自动化安装的时候就会是个问题. 通常对于这个问题比较灵活的解 ...

  3. iredmail安装脚本分析(一)---iRedmail.sh

    iredmail是一套以postfix为核心的整合邮件系统的安装脚本,可以达到快速部署邮件服务器的目的.为了让自己不遗忘shell的语法,所以闲来无事,学习一下他的代码. 我从官网下载他的最新版,解压 ...

  4. CentOS 6、7下pptp vpn一键安装脚本

    之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用 ...

  5. 17.KVM安装之虚拟磁盘,安装脚本

    1.创建磁盘 vm.list 指定虚拟磁盘名称和主机名 create_vm.sh    #创建vm.list中的虚拟磁盘,并指定大小100G #!/bin/bash VM_DIR="/opt ...

  6. 一个比较完整的Inno Setup 安装脚本(转)

    一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了. [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相 ...

  7. windows 服务安装脚本拾遗

    转自:http://blog.csdn.net/susubuhui/article/details/7881096 1.安装脚本 echo 请按任意键开始安装客户管理平台的后台服务 echo. pau ...

  8. Linux环境下JDK/Eclipse一键安装脚本

    -------------------------------------------------------------------- author:jiangxin Email:jiangxinn ...

  9. 一个比较完整的Inno Setup 安装脚本

    一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了. [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相 ...

随机推荐

  1. SnagIt截图后无法在编辑器打开,不显示截图内容的解决办法(转)

    方法1: 用SnagIt截图后,弹出的编辑器里不显示刚才截图的内容,解决办法如下: 完全退出Snagit和编辑器,删除以下文件夹: Win7用户 C:\Users\Administrator\AppD ...

  2. 从(0)新开始vue2.0【安装】

    安装node:测试安装结果:node -v 安装cnpm(如果你可以***,可以不安装) 安装webpack:npm install webpack -g npm install vue-cli -g ...

  3. CentOS为中文显示

    [sudo yum groupinstall chinese-support]命令即可安装

  4. CentOS 7.4 如何安装 MariaDB 10.3.9 Stable 数据库

    CentOS 7.4 如何安装 MariaDB 10.3.9 Stable 数据库 一.CentOS 7.4上卸载 Mariadb 数据库 1.查询所安装的MariaDB组件 [libin@VM_0_ ...

  5. Oracle 数据库分页查询的三种方法

    一.Oracle 数据库分页查询的三种方法 1.简介 不能对 rownum 使用 >(大于或等于 1 的数值).>=(大于 1 的数值).=(不等于 1 的数值),否则无结果.所以直接用 ...

  6. 将对象转换为JSON字符串

    将对象转换为JSON串: 方案一: 可以通过json-lib工具jar包进行转化:在www.json.org官网下载jar包. 方案二: 通过ObjectMapper对象进行转换 需要引入相应的jar ...

  7. HDU 2665.Kth number-可持久化线段树(无修改区间第K小)模板 (POJ 2104.K-th Number 、洛谷 P3834 【模板】可持久化线段树 1(主席树)只是输入格式不一样,其他几乎都一样的)

    Kth number Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. 0821Servlet基础

    什么是servlet    jsp页面的前身是servlet, 但是servlet和jsp是两个不同概念    servlet是运行在服务器端的一段程序, 是可以直接运行一段java后台代码      ...

  9. SpringBoot整合Quartz作为调度中心完整实用例子

    因为想要做一个类似于调度中心的东西,定时执行一些Job(通常是一些自定义程序或者可执行的jar包),搭了一个例子,总结了前辈们的相关经验和自己的一些理解,如有雷同或不当之处,望各位大佬见谅和帮忙指正. ...

  10. 洛谷——P1123 取数游戏

    P1123 取数游戏 题目描述 一个N×M的由非负整数构成的数字矩阵,你需要在其中取出若干个数字,使得取出的任意两个数字不相邻(若一个数字在另外一个数字相邻8个格子中的一个即认为这两个数字相邻),求取 ...