首页 > 其他分享 >2.Elasticsearch单节点安装脚本

2.Elasticsearch单节点安装脚本

时间:2023-08-10 17:06:19浏览次数:38  
标签:脚本 SETCOLOR color echo exit elasticsearch Elasticsearch 节点 es

#!/bin/bash


ES_VERSION=7.17.5
#ES_VERSION=7.9.3
#ES_VERSION=7.6.2
UBUNTU_URL="https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/apt/pool/main/e/elasticsearch/elasticsearch-${ES_VERSION}-amd64.deb"
RHEL_URL="https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/yum/${ES_VERSION}/elasticsearch-${ES_VERSION}-x86_64.rpm"

LOCAL_IP=`hostname -I|awk '{print $1}'`

. /etc/os-release

color () {
    RES_COL=60
    MOVE_TO_COL="echo -en \\033[${RES_COL}G"
    SETCOLOR_SUCCESS="echo -en \\033[1;32m"
    SETCOLOR_FAILURE="echo -en \\033[1;31m"
    SETCOLOR_WARNING="echo -en \\033[1;33m"
    SETCOLOR_NORMAL="echo -en \E[0m"
    echo -n "$1" && $MOVE_TO_COL
    echo -n "["
    if [ $2 = "success" -o $2 = "0" ] ;then
        ${SETCOLOR_SUCCESS}
        echo -n $"  OK  "    
    elif [ $2 = "failure" -o $2 = "1"  ] ;then 
        ${SETCOLOR_FAILURE}
        echo -n $"FAILED"
    else
        ${SETCOLOR_WARNING}
        echo -n $"WARNING"
    fi
    ${SETCOLOR_NORMAL}
    echo -n "]"
    echo 
}

check_mem () {
    MEM_TOTAL=`head -n1 /proc/meminfo |awk '{print $2}'`
    if [ ${MEM_TOTAL} -lt 1997072 ];then
        color '内存低于2G,安装失败!' 1
        exit
    elif [ ${MEM_TOTAL} -le 2997072 ];then
        color '内存不足3G,建议调整内存大小!' 2
    else
        return
    fi
}

install_es() {
    if [ $ID = "centos" -o $ID = "rocky" ];then
        wget -P /usr/local/src/ $RHEL_URL || { color  "下载失败!" 1 ;exit ; } 
        yum -y install /usr/local/src/${RHEL_URL##*/}
    elif [ $ID = "ubuntu" ];then
        wget -P /usr/local/src/ $UBUNTU_URL || { color  "下载失败!" 1 ;exit ; }
        dpkg -i /usr/local/src/${UBUNTU_URL##*/}
    else
        color "不支持此操作系统!" 1
        exit
    fi
    [ $? -eq 0 ] ||  { color '安装软件包失败,退出!' 1; exit; }
}

config_es () {
    cp /etc/elasticsearch/elasticsearch.yml{,.bak}
    cat >> /etc/elasticsearch/elasticsearch.yml  <<EOF
node.name: node-1
network.host: 0.0.0.0
discovery.seed_hosts: ["$LOCAL_IP"]
cluster.initial_master_nodes: ["node-1"]
EOF

    mkdir -p /etc/systemd/system/elasticsearch.service.d/
    cat > /etc/systemd/system/elasticsearch.service.d/override.conf <<EOF
[Service]
LimitMEMLOCK=infinity
EOF
    systemctl daemon-reload
    systemctl enable  elasticsearch.service
}

prepare_es() {
    echo "vm.max_map_count = 262144" >> /etc/sysctl.conf
    sysctl  -p
}

start_es(){
    systemctl start elasticsearch || { color "启动失败!" 1;exit 1; }
    sleep 3
    curl http://127.0.0.1:9200 && color "安装成功" 0   || { color "安装失败!" 1; exit 1; } 
    echo -e "请访问链接: \E[32;1mhttp://`hostname -I|awk '{print $1}'`:9200/\E[0m"
}

check_mem
install_es
config_es
prepare_es
start_es

标签:脚本,SETCOLOR,color,echo,exit,elasticsearch,Elasticsearch,节点,es
From: https://blog.51cto.com/lmm01/7037520

相关文章

  • 3.Elasticsearch集群安装脚本
    #!/bin/bashES_VERSION=7.17.5#ES_VERSION=7.9.3#ES_VERSION=7.6.2UBUNTU_URL="https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/apt/pool/main/e/elasticsearch/elasticsearch-${ES_VERSION}-amd64.deb"RHEL_URL="https://mirrors.tuna.tsinghu......
  • 4.Elasticsearch插件Head和Serebro实现Elasticsearch的图形化管理
    Elasticsearch访问Elasticsearch支持各种语言使用RESTfulAPI通过端口9200与之进行通信,可以用你习惯的web客户端访问Elasticsearch可以用三种方式和Elasticsearch进行交互curl命令和其它浏览器:基于命令行,操作不方便插件:在node节点上安装head,Cerebro等插件,实现图形操......
  • 5.Elasticsearch内存优化建议
    Elasticsearch内存优化建议内存优化建议:为了保证性能,每个ES节点的JVM内存设置具体要根据node存储的数据量来估算,建议符合下面约定1、在内存和数据量有一个建议的比例:对于一般日志类文件,1G内存能存储48G~96GB数据2、JVM堆内存最大不要超过30GB3、单个分片控制在30-50GB,......
  • 6.Filebeat的安装及收集日志到Elasticsearch并使用自定义索引
    利用Filebeat收集日志Filebeat是用于转发和集中日志数据的轻量级传送程序.作为服务器上的代理安装,Filebeat监视指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或Logstash进行索引.Logstash也可以直接收集日志,但需要安装JDK并且会占用至少500M以上的内存生产......
  • 8.利用Filebeat收集Nginx的Json格式访问日志和错误日志到Elasticsearch
    生产环境中经常需要获取Web访问用户的信息,比如:网站的PV,UV,状态码,用户来自哪个地区,访问时间等可以通过收集的Nginx的访问日志实现默认Nginx的每一次访问生成的访问日志是一行文本,ES没办法直接提取有效信息,不利于后续针对特定信息的分析可以将Nginx访问日志转换为JSON......
  • ATL使用.rgs注册脚本文件操作注册表注册Com组件
    1.      ATL注册组件1.1     创建注册脚本注册脚本通过操作系统注册表完成Com服务的注册,通过数字形式而非代码API的形式完成,这种形式显得更加简单有效,因为它只需要几行数字代码就可以将一个Key添加到注册表中。使用ATL向导时,会自动的生成一个后缀为.rgs的注册脚本......
  • Yocto SDK 修改环境加载脚本中的编译选项flags
    修改build/conf/local.conf,增加或者覆盖如下变量DEBUG_BUILD="0"DEBUG_FLAGS=""FULL_OPTIMIZATION="-O3-pipe"这些变量原始定义于poky/meta/conf/bitbake.conf609行附近......
  • foobar2000 歌词搜索脚本
    title:foobar2000歌词搜索脚本date:2019-05-02lang:zh-CNcategories:-[其它]toc:true文章首发于https://wwh1004.github.io/foobar2000-search-lyric-script/脚本搭配foobar2000使用可以自动搜索和匹配网易云音乐的歌词,对二次元歌曲支持比较好。脚本原作者不是我!!!......
  • 使用Visual Studio打开Unity脚本,VS提示“未能完成操作,参数错误“
    使用VisualStudio打开Unity脚本,VS提示"未能完成操作,参数错误".是蛮突然的,但我猜测跟公司这两天动不动突然停电,非法关机导致的.上网搜了各种办法,列举下来:1.https://blog.csdn.net/thksdhr/article/details/126287647链接里这位大哥提供的解决方法要删除这些文件,重新生成,不......
  • Delphi 10.x 提示脚本错误的解决方法
    解决办法如下:10.1版本修改方法:打开注册表,在cmd中输入regedit,以管理员的身份运行,找到HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\18.0\KnownIDEPackages项,找到$(BDS)\Bin\CommunityToolbar240.bpl这个子项目将其内容由EmbarcaderoCommunityToolbarPackage 改为_Em......