【云计算产品案例】ManageOne OC资源池数据无法展示

[复制链接]
发表于 : 2019-8-26 17:51:02 最新回复:2019-08-26 17:51:02
269 0
【问题描述】         
         ManageOne 6.3.0版本中的ES程序提供索引管理功能,长期运行过程中会产生冗余的索引,当总索引量超过1000后,可能会导致ES程序的查询性能下降,甚至出现查询超时等异常,影响ManageOne资源池的数据展示。
【云计算产品案例】ManageOne OC资源池数据无法展示-3045049-1
【问题根因】   
         ManageOne 6.3.0版本在长期运行过程中,由于ES程序的索引老化机制代码健壮性不足会出现概率性老化失败,导致累积过多的历史索引,影响ES程序的索引查询性能。
【问题处理】
一、清除索引

1、开启9200端口
1.使用sopuser用户登录ManageOne Service01节点,并切换至root用户;
2.执行以下命令,修改配置文件;
sed -i -r"s/^http.enabled:\s*false\s*$/http.enabled: true/g" /opt/oss/Product/apps/MODataSetService/elasticsearch/config/elasticsearch.yml
su - ossadm -c"/opt/oss/manager/agent/bin/ipmc_adm -cmd restartapp -appMODataSetService"
3. 执行以下命令,查看9200端口是否监听;
netstat -anp | grep 9200
执行结果:
【云计算产品案例】ManageOne OC资源池数据无法展示-3045049-2
4. 执行以下命令,检查9200口是否可以服务。若不能提供服务,则等待5min后再尝试;
curl -i -k -u admin:admin -X"GET" http://localhost:9200/
返回如下结果,表明9200正常服务。
【云计算产品案例】ManageOne OC资源池数据无法展示-3045049-3
二、清除历史索引
1.使用sopuser用户登录ManageOne Service01节点,并切换至root用户;
2.使用vim工具新建文件/tmp/clean_index.sh,并粘贴以下命令至文件中;

#!/bin/bash
before7date=`date -d "-7 day"+%Y%m%d`
before1date=`date -d "-1 day"+%Y%m%d`
mkdir -p /var/log/oss/clean_es/
curl -k -u admin:admin -X "GET""http://localhost:9200/_cat/indices?pretty" | sort -k 3 >/var/log/oss/clean_es/allindex_sort.list
echo "history index count is : `cat/var/log/oss/clean_es/allindex_sort.list | wc -l`"
cat /var/log/oss/clean_es/allindex_sort.list| grep -E "perf-.*_1m" > /var/log/oss/clean_es/perf1m.list
cat /var/log/oss/clean_es/allindex_sort.list| grep -E "stat-.*_30m" > /var/log/oss/clean_es/stat30m.list
if [ -f /var/log/oss/clean_es/perf1m.list];then
   cat /var/log/oss/clean_es/perf1m.list | while read line
    do
             rowindex=`echo $line | awk '{print $3}'`
       rowdate=`echo $rowindex | awk -F '_' '{print $2}'|awk -F '-' '{print$1}'`
       if [ $((rowdate)) -le $((before7date)) ];then
           echo $rowindex >> /var/log/oss/clean_es/perf_indexfordel.list
                            echo"--------------deleteindex------${rowindex}--------------------">> /var/log/oss/clean_es/perf_indexfordel.log
                            curl-i -k -u admin:admin -X "DELETE"http://localhost:9200/${rowindex}?pretty >>/var/log/oss/clean_es/perf_indexfordel.log 2>&1
       fi
   done
fi
if [ -f /var/log/oss/clean_es/stat30m.list];then
   cat /var/log/oss/clean_es/stat30m.list | while read line
    do
       rowindex=`echo $line | awk '{print $3}'`
       rowdate=`echo $rowindex | awk -F '_' '{print $2}'|awk -F '-' '{print$1}'`
       if [ $((rowdate)) -le $((before1date)) ];then
           echo $rowindex >> /var/log/oss/clean_es/stat_indexfordel.list
           echo"--------------deleteindex------${rowindex}--------------------">> /var/log/oss/clean_es/stat_indexfordel.log
           curl -i -k -u admin:admin -X "DELETE"http://localhost:9200/${rowindex}?pretty >>/var/log/oss/clean_es/stat_indexfordel.log 2>&1
       fi
   done
fi
curl -k -u admin:admin -X "GET""http://localhost:9200/_cat/indices?pretty" | sort -k 3 >/var/log/oss/clean_es/allindex_sort_new.list
echo "new index count is : `cat /var/log/oss/clean_es/allindex_sort_new.list| wc -l`"
3.执行以下命令,清除历史索引;
bash /tmp/clean_index.sh
三、关闭9200端口
1.使用sopuser用户登录ManageOne Service01节点,并切换至root用户。
2.执行以下命令,修改配置文件。
sed -i -r"s/^http.enabled:\s*true\s*$/http.enabled: false/g" /opt/oss/Product/apps/MODataSetService/elasticsearch/config/elasticsearch.yml
su - ossadm -c"/opt/oss/manager/agent/bin/ipmc_adm -cmd restartapp -appMODataSetService"
3.执行以下命令,查看9200端口是否监听。
netstat -anp | grep 9200
【云计算产品案例】ManageOne OC资源池数据无法展示-3045049-4



四、设置ES堆栈参数
以下步骤分别需要在ManageOne Service01Service02Service03节点执行。以Service01节点为例说明。1.使用sopuser用户登录Service01节点,并切换至root用户;
2.执行以下命令,清除历史堆栈文件;
rm -f /opt/oss/Product/apps/MODataSetService/java_pid*
find /opt/oss/envs/Product-MODataSetService/ -name"java_pid*" | xargs -i rm -f {}
3.执行以下命令,注释打印堆栈文件配置;
sed -i's/^-XX:+HeapDumpOnOutOfMemoryError/#-XX:+HeapDumpOnOutOfMemoryError/g'/opt/oss/Product/apps/MODataSetService/elasticsearch/config/jvm.options
4.执行以下命令,查看打印堆栈文件配置是否已被注释。
grep -r HeapDumpOnOutOfMemoryError/opt/oss/Product/apps/MODataSetService/elasticsearch/config/jvm.options
回显信息如下,若首字符为#说明已被注释;
【云计算产品案例】ManageOne OC资源池数据无法展示-3045049-5
5.执行以下命令,重启ES服务。
su - ossadm -c"/opt/oss/manager/agent/bin/ipmc_adm -cmd restartapp -appMODataSetService"
6.依次在ManageOne Service02Service03节点重复执行上述步骤。
五、资源池展示成功


【云计算产品案例】ManageOne OC资源池数据无法展示-3045049-6

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
  • x
  • 常规:

点评 回复

跳转到指定楼层
发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录