集群搬迁所有服务再启动-详细文档

来源:互联网 发布:linux应用软件 编辑:程序博客网 时间:2024/05/17 20:22

集群搬迁所有服务再启动-详细文档

上一篇是概述。这一篇是详细启动文档,概述部分请看上一篇文档,两篇一起对照阅读。

​主要负责部分。需要做的事情。

一、接口。因为部署的环境在10.10.60.8的北京集群,所以这个不需要动任何配置。

二、149服务器

1.su hive

    crontab -l

 2.​需要执行的三个定时任务

10 0 * * * java -jar /home/hive/sxm/ftp/DataImport.jar /home/hive/sxm/ftp

10 7 * * * java -jar /home/hive/sxm/ftp/HiveQuery.jar 0 0 0 0

10 5 * * * /usr/bin/python /home/hive/sxm/SafeDataInput.py​

 3.重跑DataImport.jar

进入服务器:192.168.0.142

cd /home/mongo/db/bin

./mongo --port 27010

use io_report

然后选择所有需要重复的任务表。

 db.iotasklist.find({"repeattask" : "1"},{connDB:1,connTable:1,hiveTable:1});

 移除点击此处添加图片说明文字

​表中所有的数据都要变成一次性的重跑任务,我举个例子:

{

        "connDB" : "new_market_log_201709",

        "connTable" : "user_log_apk",

        "dbConnUrl" : "mongodb://192.168.40.150:27010",

        "dbSeparator" : ",",

        "dbType" : "mongodb",

        "exportPath" : "/home/upload/sxm/ftp",

        "ftpHostName" : "211.151.182.188",

        "ftpPwd" : "hUpz8{YJ2ved",

        "ftpUser" : "upload",

        "query" : "{'u_dt':{'$gte':{'$date':'2017-03-31T16:00:00Z'},'$lt':{'$date':'2017-04-01T16:00:00Z'}}}",

        "taskState" : "1",

        "columnNames" : "apk_n,ch,from,ch2_id,apk_v,IS,app_id,col_d,col,col_id,apk,ch2,_id,u_dt,ac_id,m_cd,uuid,col_id_2,col_2,col_id_3,col_3,f_ms,IE,apk_id,ip,parent_type,mode_type,mode_id,is_page,p_page_id,p_page_name,p_parent_id,p_location_id,page_id,page_name,parent_id,location_id,assembly_id,pindao_id",

        "hiveTable" : "tyd.tyd_user_log_apk_ft",

        "partitions" : "pt:2017-09-16",

        "overwrite" : "true",

        "importPath" : "/home/hive/sxm/ftp",

        "runningStartTime" : "2017-04-07 10:42:15",

        "ip" : "192.168.0.149",

        "last_operate" : "2017-09-16",

        "runningStopTime_2" : "2017-04-07 10:42:15",

        "runningStopTime_4" : "2017-04-07 10:43:26",

        "runningStopTime_5" : "2017-04-07 10:44:14",

        "runningStopTime_6" : "2017-04-07 10:44:17",

        "runningStopTime_0" : "2017-04-07 10:44:17"

}

将这条记录插入到库中。然后,可以执行一次任务,会自动推到下一天的。

java -jar /home/hive/sxm/ftp/DataImport.jar /home/hive/sxm/ftp 

注意:

​对应表名称按月份命名的,跨月份后要对表里配置的月进行更新

如 new_market_log_201708 需要变为 new_market_log_201709

需要注意,重跑,也要注意( 有日期变量的 )

 移除点击此处添加图片说明文字

​4.继续跑脚本:10 7 * * * java -jar /home/hive/sxm/ftp/HiveQuery.jar 0 0 0 0

运行脚本
java -jar /home/hive/sxm/ftp/HiveQuery.jar 0 0 2017-09-16 0 

5.运行最后一个脚本安全数据脚本10 5 * * * /usr/bin/python /home/hive/sxm/SafeDataInput.py

 /usr/bin/python /home/hive/sxm/SafeDataInput.py 2017-09-16 2017-09-16 



三、143 push 定时任务,从北京集群mysql那边拉取数据到hive平台。

su hdfs

crontab -l

 移除点击此处添加图片说明文字

​只有这一个sh脚本需要执行,

10 1 * * * ./etc/profile;/bin/sh /home/hdfs/ftp/oz_log/java/runjar_oz_log_cron_all.sh >> /home/hdfs/ftp/oz_log/java/log/oz_log_cron_all.txt

 移除点击此处添加图片说明文字

​总共要跑这五个jar包。那我们首先可以一个一个来看一下。

​source   /opt/ftp/oz_log/app_command_data/java/runjar_ozlogapp_command_import_yesday.sh 

source /opt/ftp/oz_log/java/runjar_oz_data_operate_rec_import_args.sh

source /opt/ftp/oz_log/java/runjar_oz_topic_dict_import_yesday.sh

source /opt/ftp/oz_log/java/runjar_cap_wap_data_import_args.sh

source /opt/ftp/oz_log/java/runjar_cap_wap_data_apk_import_args.sh

据其中一个当例子把。进去看看。

要改一下这个时间

 移除点击此处添加图片说明文字

然后

sh /home/hdfs/ftp/oz_log/java/runjar_ozlogdownloadimportyesday.sh​

剩下的4个全部要这么做。

并且要记住,改好了之后记得修改回来。


四、82服务器,4个py脚本

su hdfs

crontab -l

 移除点击此处添加图片说明文字

这四个py脚本直接给时间参数即可。

​50 4 * * * /usr/bin/python /home/syndata/util/oz_log_get_client.py > /tmp/oz.log 2>&1

10 1 * * * /usr/bin/python /home/syndata/util/oz_market_get_client.py > /tmp/oz.log 2>&1

30 6 * * * /usr/bin/python /home/syndata/util/oz_log2_get_client.py > /tmp/oz2.log 2>&1

30 5 * * * /usr/bin/python /home/syndata/util/WebMarket_get_client.py > /tmp/market.log 2>&1

举例:

  /usr/bin/python /home/syndata/util/oz_log_get_client.py 2017-09-16 2017-09-16


五、141,除了push的hive同步到mongodb之外还有很多。

su hdfs

 移除点击此处添加图片说明文字

还没有完呢。​

 移除点击此处添加图片说明文字

​用端城的截图就是。

 移除点击此处添加图片说明文字

那我总结了,就这些要弄了。下面是我把那些注释掉的任务弄出来的。

 移除点击此处添加图片说明文字

00 2 * * * /usr/bin/python /home/hdfs/ImportPayInfoIntoHive.py > /home/hdfs/pay.log


50 0 * * * ./etc/profile;/bin/sh /opt/ftp/freemeos_project/java/freemeos_all_run_args_yesday.sh > /tmp/freeme_progress_log.log


40 0 * * * /bin/sh /opt/ftp/freemeos_project/java/fros_beautify_center/test_beautify.sh


30 2 * * * ./etc/profile;/bin/sh /opt/ftp/oz_log/java/runjar_all_oz_log.sh >> /opt/ftp/oz_log/java/log/cron_command.txt


50 0 * * *  ./etc/profile;/bin/sh /opt/ftp/oz_market/java/runjar_all_oz_market_yesday.sh >> /opt/ftp/oz_market/java/log/runjar_all_oz_market_yesday.txt


50 6 * * * ./etc/profile;/bin/sh /opt/ftp/freemeos_project/java/freemeos_all_run_args_yesday.sh

00 6 * * * ./etc/profile;/bin/sh /opt/ftp/oz_log/java/runjar_all_oz_log.sh >> /opt/ftp/oz_log/java/log/cron_command.txt


#市场push报表

20 15 * * * source /etc/profile;/bin/sh /etl/tools/etl-python/push/push_report.sh > /etl/tools/etl-python/push/push_report_log.txt



00 6 * * *  ./etc/profile;/bin/sh /opt/ftp/freemeos_project/report_data/java/safe_report/safe_report_args_mongo.sh > /tmp/safe_log.txt


#每月第2天 修改数据拉去跨月参数

05 0 2 * *  ./etc/profile;/bin/sh /opt/wxw/importdata/across_month_modiy.sh >> /opt/wxw/importdata/info.log 2>&1


#插入市场 apk标签表oz_market.apk_label_withh2

20 4 * * *  ./etc/profile;/bin/sh  /opt/app/market_recommend/wirte_table_apk_label_withh2.sh > /opt/app/market_recommend/rec_log.txt


#查询半年内imsi安装数据

10 7 * * *  ./etc/profile;/bin/sh  /opt/app/market_recommend/wirte_table_apk_ids_per_imsi.sh > /opt/app/market_recommend/imis_log.txt

#市场应用推荐,hive导出文件 sftp发送到远程服务器,要先于com.tydtech.mig.newmarket_10 

10 5 * * * /bin/sh /opt/wxw/project/rec_hive_file/rec_hive_file.sh >/opt/wxw/project/rec_hive_file/rec_sh.log 2>&1


#安全服务数据

05 8 * * * /bin/sh /opt/wxw/project/safedata_imei/safedata_start.sh >/opt/wxw/project/safedata_imei/safedata_start.log 2>&1


#pcb销量整合

05 15 * * * /bin/sh /opt/wxw/project/pcb_freemeos_sales/pbc_data_start.sh  >/opt/wxw/project/pcb_freemeos_sales/pcb.log 2>&1


#baas push2.0日志 add 2017-08-20

53 13 * * * /bin/sh /opt/wxw/project/baas_push_two/baas_push_two_etl.sh > /opt/wxw/project/baas_push_two/info.log 2>&1


#市场外下-api下载数据 插入 外网 mongo

10 1 * * * /bin/sh /opt/wxw/project/marketHiveToMongo/marketHiveToMongo.sh > /opt/wxw/project/marketHiveToMongo/mongo_to_hive.log 2>&1


总共有17个脚本,当然了,记住这个时间,因为,到了搬迁集群那一天都要用这个时间去恢复的。

可以显而易见的看到push的内容,push的内容其实很容易看到的。那我们先去看一下push的东西?

好。

1.push的sh脚本。

 移除点击此处添加图片说明文字

移除点击此处添加图片说明文字

​其实到了这一步,push项目,将hive平台数据同步到了前台的mongo库了。

/usr/bin/python /etl/tools/etl-python/push/push_detail_statistics_bckdcnt.py $yesday_date $yesday_date

/usr/bin/python /etl/tools/etl-python/push/push_detail_statistics_deploy.py $yesday_date $yesday_date

cd /etl/tools/etl-python/push;/opt/cloudera/parcels/CDH/lib/hadoop/bin/hadoop jar /home/OTAtest/ToMongo-0.0.1-SNAPSHOT-jar-with-dependencies.jar push_detail_statistics_bckdcnt $yesday_date $yesday_date  > ./hive2Mongo.log 

cd /etl/tools/etl-python/push;/opt/cloudera/parcels/CDH/lib/hadoop/bin/hadoop jar /home/OTAtest/ToMongo-0.0.1-SNAPSHOT-jar-with-dependencies.jar push_detail_statistics_deploy $yesday_date $yesday_date   > ./hive2Mongo.log

​分别针对推送部署的和静默下载统计的。这个如果要重新跑很好改的,就是把后面的时间改掉么拉倒了。说道这里等下又要去弄了,因为,8好的push数据又重复了,稍后还要去弄一下。


2.上面所提到的每个脚本都需要重新搞的。

 移除点击此处添加图片说明文字

             又看到了老朋友 ,给入开始时间和结束时间了,这种就比较简单了,我在启动python脚本的时候,直接给入时间即可。

好了,大致的,服务器集群搬迁之后的恢复情况这里就大致写这么点儿,后面会有详细的方案,到底是恢复日期手动写参数,还是​改写crontab时间。我们还是要等开会的。接下来,先去解决问题吧。​


阅读全文
1 0