es安装脚本
#!/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安装脚本的更多相关文章
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- Linux安装脚本需要交互之如何实现自动安装
Linux中shell脚本运行时经常需要进行交互,比如安装软件的过程中对license声明的确认,需要输入yes,回车之类的确认信息.这个在自动化安装的时候就会是个问题. 通常对于这个问题比较灵活的解 ...
- iredmail安装脚本分析(一)---iRedmail.sh
iredmail是一套以postfix为核心的整合邮件系统的安装脚本,可以达到快速部署邮件服务器的目的.为了让自己不遗忘shell的语法,所以闲来无事,学习一下他的代码. 我从官网下载他的最新版,解压 ...
- CentOS 6、7下pptp vpn一键安装脚本
之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用 ...
- 17.KVM安装之虚拟磁盘,安装脚本
1.创建磁盘 vm.list 指定虚拟磁盘名称和主机名 create_vm.sh #创建vm.list中的虚拟磁盘,并指定大小100G #!/bin/bash VM_DIR="/opt ...
- 一个比较完整的Inno Setup 安装脚本(转)
一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了. [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相 ...
- windows 服务安装脚本拾遗
转自:http://blog.csdn.net/susubuhui/article/details/7881096 1.安装脚本 echo 请按任意键开始安装客户管理平台的后台服务 echo. pau ...
- Linux环境下JDK/Eclipse一键安装脚本
-------------------------------------------------------------------- author:jiangxin Email:jiangxinn ...
- 一个比较完整的Inno Setup 安装脚本
一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了. [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相 ...
随机推荐
- NET应用——你的数据安全有必要升级
最近又被[现场破解共享单车系统]刷了一脸,不得不开始后怕:如何防止类似的情况发生? 想来想去,始终觉得将程序加密是最简单的做法.但是摩拜.ofo也有加密,为什么仍然被破解?那是因为请求在传输过程中被篡 ...
- YumRepo Error: All mirror URLs are not using
yum 安装软件出错,最后发现是网络被拦截导致.
- 35.Spark系统运行内幕机制循环流程
一:TaskScheduler原理解密 1, DAGScheduler在提交TaskSet给底层调度器的时候是面向接口TaskScheduler的,这符合面向对象中依赖抽象而不依赖的原则,带来底层资 ...
- php api接口校验规则示例
1.发送 /** * 客户端请求 * @param url 接口地址 * @param array $params(post) * @return json * @throws Exception * ...
- Ubuntu上开启Apache Rewrite功能的方法
Ubuntu上开启Apache Rewrite功能的方法 本文介绍ubuntn系统中开启apache的urlrewrite功能的方法. 在Windows上开启Apache的urlRewrite非常简单 ...
- 开源游戏地图编辑器MarbleMap
开源游戏地图编辑器MarbleMap MIT协议,MarbleMap是一款as3开发的游戏地图编辑器,他免费开源,同时支持Cocos2d-x坐标系和AS3坐标系,功能丰富,不过是一款新推出的开源项目, ...
- mysql查看表结构,字段等命令
mysql查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名;
- Python开发基础-Day4-布尔运算、集合
布尔值 True 真 False 假 所有的数据类型都自带布尔值,数据只有在0,None和空的时候为False. print(bool()) print(bool()) print(bool('')) ...
- Xamarin iOS项目找不到模拟器
Xamarin iOS项目找不到模拟器 在Visual Studio中,突然找不到模拟器,并且项目提示试用期过期:Trial period has expired.出现这种情况,是由于苹果系统中Xam ...
- [Arc080F]Prime Flip
[Arc080F]Prime Flip Description 你有无限多的"给给全",编号为1,2,3,....开始时,第x1,x2,...,xN个"给给全" ...