干净虚拟机(centos 6.4)上从头到尾安装并调试Mdrill(二)
2019独角兽企业重金招聘Python工程师标准>>>
7、安装mdrill
服务安装
拷贝alimama-adhoc.tar.gz到/home/mdrill,解压并替换lib目录中的hadoop-core-0.20.2.jar为hadoop-core-0.20.2-cdh3u3.jar;拷贝hadoop服务lib目录下guava-r09-jarjar.jar到mdril服务lib目录。
tar -xvf alimama-adhoc.tar.gz cd /home/mdrill/alimama/adhoc-core/lib/ cp $HADOOP_HOME/hadoop-core-0.20.2-cdh3u3.jar hadoop-core-0.20.2-cdh3u3.jar rm hadoop-core-0.20.2.jar cp $HADOOP_HOME/lib/guava-r09-jarjar.jar /home/mdrill/alimama/adhoc-core/lib/ |
服务配置
配置storm.yaml文件
vi /home/mdrill/alimama/adhoc-core/conf/storm.yaml |
修改完成后内容如下,主要是对主机地址,shards个数,worker启动参数进行了调整:
####zookeeper配置#### storm.zookeeper.servers: - "mdrill" storm.zookeeper.port: 2181 storm.zookeeper.root: "/higo2" ####蓝鲸配置#### storm.local.dir: "/home/mdrill/alimama/bluewhale/stormwork" nimbus.host: "mdrill" ####hadoop配置#### hadoop.conf.dir: "/home/mdrill/hadoop-0.20.2-cdh3u3/conf" hadoop.java.opts: "-Xmx128m" ####mdrill存储目录配置#### higo.workdir.list: "/home/mdrill/alimama/higoworkerdir" #----mdrill的表格列表在hdfs下的路径----- higo.table.path: "/mdrill/tablelist" #----mdrill中启动的solr使用的初始端口号----- higo.solr.ports.begin: 51110 #----mdrill分区方式,目前支持default,day,month,single,default是将一个月分成3个区,single意味着没有分区----- higo.partion.type: "month" #----创建索引生成的每个shard的并行---- higo.index.parallel: 2 #----启动的shard的数,每个shard为一个solr实例,结合cpu个数和内存进行配置,10台48G内存配置60---- higo.shards.count: 2 #----基于冗余的ha,设置为1表示没有冗余,如果设置为2,则冗余号位0,1---- higo.shards.replication: 1 #----启动的merger server的worker数量,建议根据机器数量设定---- higo.mergeServer.count: 1 #----mdrill同时最多加载的分区个数,取决于内存与数据量---- higo.cache.partions: 1 #----通用的worker的jvm参数配置---- worker.childopts: "-Xms128m -Xmx128m -Xmn64m -XX:SurvivorRatio=2 -XX:PermSize=48m -XX:MaxPermSize=64m -XX:+UseParallelGC -XX:ParallelGCThreads=2 -XX:+UseAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:%storm.home%/logs/gc-%port%.log " #----个别的worker的端口的jvm参数配置,通常用于给merger server单独配置---- worker.childopts.6601: "-Xms128m -Xmx128m -Xmn64m -XX:SurvivorRatio=2 -XX:PermSize=48m -XX:MaxPermSize=64m -XX:+UseParallelGC -XX:ParallelGCThreads=2 -XX:+UseAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:%storm.home%/logs/gc-%port%.log " worker.childopts.6602: "-Xms128m -Xmx128m -Xmn64m -XX:SurvivorRatio=2 -XX:PermSize=48m -XX:MaxPermSize=64m -XX:+UseParallelGC -XX:ParallelGCThreads=2 -XX:+UseAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:%storm.home%/logs/gc-%port%.log " #----任务分配,注意,原先分布在同一个位置的任务,迁移后还必须分布在一起,比如说acker:0与merger:10分布在一起了,那么迁移后他们还要在一起,为了保险起见,建议同一个端口跑多个任务的,可以像下面acker,heartbeat那样---- mdrill.task.ports.adhoc: "6901~6902" mdrill.task.assignment.adhoc: #- "####看到这里估计大家都会晕,但是这个是任务调度很重要的地方,出去透透气,回来搞定这里吧####" #- "####注解:merge表示是merger server;shard@0表示是shard的第0个冗余,__acker与heartbeat是内部线程,占用资源很小####" #- "####下面为初始分布,用于同一台机器之间没有宕机的调度####" #- "####切记,一个端口只能分配一个shard,千万不要将merge与shard或shard与shard分配到同一个端口里,这会引起计算数据的不准确的####" #- "merge:10&shard@0:0~4;tiansuan1.kgbNaN4:6601,6701~6705;6602,6711~6715;6603,6721~6725" #- "merge:1&shard@0:5~9;tiansuan2.kgbNaN4:6601,6701~6705;6602,6711~6715;6603,6721~6725" #- "merge:2&shard@0:48~53;adhoc1.kgbNaN6:6601,6701~6706;6602,6711~6716;6603,6721~6726" #- "merge:3&shard@0:10~14;adhoc2.kgbNaN6:6601,6701~6705;6602,6711~6715;6603,6721~6725" #- "merge:4&shard@0:15~19;adhoc3.kgbNaN6:6601,6701~6705;6602,6711~6715;6603,6721~6725" #- "merge:5&shard@0:20~24;adhoc4.kgbNaN6:6601,6701~6705;6602,6711~6715;6603,6721~6725" #- "merge:6&shard@0:25~30;adhoc5.kgbNaN6:6601,6701~6706;6602,6711~6716;6603,6721~6726" #- "merge:7&shard@0:31~36;adhoc6.kgbNaN6:6601,6701~6706;6602,6711~6716;6603,6721~6726" #- "merge:8&shard@0:37~41;adhoc7.kgbNaN6:6601,6701~6705;6602,6711~6715;6603,6721~6725" #- "merge:9&shard@0:42~47;adhoc8.kgbNaN6:6601,6701~6706;6602,6711~6716;6603,6721~6726" - "shard@0:0~1;mdrill:6701~6702;6711~6712;6721~6722" - "" - "##__acker,heartbeat,merge:0他们共用同一个端口,记住要时时刻刻,他们共享的都是同一个端口,别拆开了##" - "__acker:0;mdrill:6601;6602;6603" - "heartbeat:0;mdrill:6601;6602;6603" - "merge:0;mdrill:6601;6602;6603" - "" - "#######################################################################################################################" #- "####如果某台机器宕机了,任务无法在固定的分配都某一台,就需要使用下面的配置,宕机的任务会迁移到新的机器上####" #- "####注意这里的端口不要与上面的端口有重叠,某个任务也不要继续分配在上面的机器,因为那台机器已经宕机了####" #- "####要注意如果某一台机器宕机,他的任务要均匀的分布到集群其他机器上,不要全部迁移到同一台机器上####" #- "merge:2&shard@0:58,59,16,26,38;tiansuan1.kgbNaN4:6604,6721~6725;6605,6731~6735" #- "merge:3&shard@0:59,50,17,27,39;tiansuan2.kgbNaN4:6604,6721~6725;6605,6731~6735" #- "merge:4&shard@0:1,10,18,28,40,57;adhoc1.kgbNaN6:6604,6721~6726;6605,6731~6736" #- "shard@0:2,51,19,29,41;adhoc2.kgbNaN6:6604,6721~6725;6605,6731~6735" #- "merge:6&shard@0:3,52,20,30,42;adhoc3.kgbNaN6:6604,6721~6725;6605,6731~6735" #- "merge:7&shard@0:4,53,33,31,43;adhoc4.kgbNaN6:6604,6721~6725;6605,6731~6735" #- "merge:8&shard@0:6,11,21,32,44,56;adhoc5.kgbNaN6:6604,6721~6726;6605,6731~6736" #- "merge:9&shard@0:7,12,22,37,45,55;adhoc6.kgbNaN6:6604,6721~6726;6605,6731~6736" #- "merge:5&shard@0:8,13,23,34,46;adhoc7.kgbNaN6:6604,6721~6725;6605,6731~6735" #- "merge:10&shard@0:9,14,24,35,54,5,;adhoc8.kgbNaN6:6604,6721~6726;6605,6731~6736" #- "merge:1&shard@0:15,25,36,47,0;adhocbak.kgbNaN6:6604,6721~6726;6605,6731~6736" #- "##__acker,heartbeat,merge:0他们共用同一个端口,记住要时时刻刻,他们共享的都是同一个端口##" #- "__acker:0;adhoc2.kgbNaN6:6604;6605" #- "heartbeat:0;adhoc2.kgbNaN6:6604;6605" #- "merge:0;adhoc2.kgbNaN6:6604;6605" #----mdrill个别表的分区设定,这里为rpt_seller_all_m表---- higo.mode.fact_wirelesspv_clickcosteffect1_lbs_adhoc_d: "@nothedate@" higo.partion.type.fact_p4ppvclick_qrycatpid_d: "day" higo.partion.type.rpt_seller_all_m: "month" higo.partion.type.r_rpt_cps_luna_item: "default" higo.partion.type.fact_wirelesspv_clickcosteffect1_lbs_adhoc_d: "day" higo.partion.type.r_rpt_cps_adhoc_seller: "default" higo.partion.type.rpt_seller_all_m_single: "single" higo.partion.type.rpt_seller_all_m_dir: "dir@thedate" higo.partion.type.ods_allpv_ad_d: "day" higo.partion.type.fact_wirelesspv_clickcosteffect1_app_adhoc_d_1: "day" higo.mode.fact_wirelesspv_clickcosteffect1_app_adhoc_d_1: "@nonzipout@nothedate@" higo.partion.type.fact_wirelesspv_clickcosteffect1_app_adhoc_d_2: "day" higo.mode.fact_wirelesspv_clickcosteffect1_app_adhoc_d_2: "@nonzipout@nothedate@" higo.partion.type.fact_wirelesspv_clickcosteffect1_app_adhoc_d_3: "day" higo.mode.fact_wirelesspv_clickcosteffect1_app_adhoc_d_3: "@nonzipout@nothedate@" higo.partion.type.fact_wirelesspv_clickcosteffect1_app_adhoc_d_4: "day" higo.mode.fact_wirelesspv_clickcosteffect1_app_adhoc_d_4: "@nonzipout@nothedate@" #---注意只有分区类型为day的时候才能配置nothedate参数---- higo.partion.type.fact_wirelesspv_clickcosteffect1_adhoc_d: "day" higo.mode.fact_wirelesspv_clickcosteffect1_adhoc_d: "@nonzipout@nothedate@" higo.partion.type.fact_wireless_pvcost_clickeffect_zz_adhoc_d: "day" higo.mode.fact_wireless_pvcost_clickeffect_zz_adhoc_d: "@nonzipout@nothedate@" #-------------hdfs mode----------------- higo.partion.type.s_ods_log_p4pclick: "day" higo.mode.s_ods_log_p4pclick: "@fdt@nonzipout@nothedate@" higo.mode.ods_allpv_ad_d: "@hdfs@fdt@sigment:15@blocksize:1073741824@iosortmb:256@igDataChange@" higo.index.parallel.ods_allpv_ad_d: 40 #-------------为个别表单独指定并行----------------- higo.index.parallel.r_rpt_cps_luna_item: 10 ####--实时模式相关配置--#### #----binlog记录的位置,默认为local如果hdfs稳定可以写hdfs---- higo.realtime.binlog: "local" #----从tt实时导入到mdrill---- higo.partion.type.rpt_quanjing_tanxclick: "default" higo.partion.type.rpt_quanjing_tanxpv: "default" higo.partion.type.s_ods_mm_adzones: "default" higo.mode.s_ods_mm_adzones: "@fieldcontains:status=A@" higo.mode.tanx_pv: "@realtime@cleanPartions:99@" higo.partion.type.tanx_pv: "day" tanx_pv-log: "tanx_pv" tanx_pv-subid: "01061423317TVV8KSN" tanx_pv-accesskey: "604a3330-5c1f-4488-9466-de63f08fe297" tanx_pv-parse: "com.alimama.quanjingmonitor.mdrillImport.parse.tanx_pv" tanx_pv-reader: "com.alimama.quanjingmonitor.mdrillImport.reader.TT4Reader" tanx_pv-commitbatch: 200 tanx_pv-commitbuffer: 2000 tanx_pv-spoutbuffer: 3000 tanx_pv-boltbuffer: 500 tanx_pv-boltIntervel: 1000 tanx_pv-spoutIntervel: 1000 tanx_pv-threads: 32 tanx_pv-threads_reduce: 12 tanx_pv-mode: "merger" tanx_pv-timeoutSpout: 60 tanx_pv-timeoutBolt: 30 tanx_pv-timeoutCommit: 100 higo.mode.tanx_click: "@realtime@cleanPartions:99@" higo.partion.type.tanx_click: "day" tanx_click_zhitou-log: "tanx_click_zhitou" tanx_click_zhitou-subid: "0106143856X2HG2CRT" tanx_click_zhitou-accesskey: "9f126ea7-e728-464f-92db-8fe03aed561a" tanx_click_zhitou-parse: "com.alimama.quanjingmonitor.mdrillImport.parse.tanx_click_zhitou" tanx_click_zhitou-reader: "com.alimama.quanjingmonitor.mdrillImport.reader.TT4Reader" tanx_click_zhitou-commitbatch: 200 tanx_click_zhitou-commitbuffer: 2000 tanx_click_zhitou-spoutbuffer: 500 tanx_click_zhitou-boltbuffer: 500 tanx_click_zhitou-boltIntervel: 10 tanx_click_zhitou-spoutIntervel: 100 tanx_click_zhitou-threads: 2 tanx_click_zhitou-threads_reduce: 12 tanx_click_zhitou-mode: "merger" tanx_click_zhitou-timeoutSpout: 30 tanx_click_zhitou-timeoutBolt: 20 tanx_click_zhitou-timeoutCommit: 60 tanx_click_rt-log: "tanx_rd_log" tanx_click_rt-subid: "0106144243FH80E8QP" tanx_click_rt-accesskey: "a53f9bb3-26c0-4ba8-9389-13057b9e5d34" tanx_click_rt-parse: "com.alimama.quanjingmonitor.mdrillImport.parse.tanx_click_rt" tanx_click_rt-reader: "com.alimama.quanjingmonitor.mdrillImport.reader.TT4Reader" tanx_click_rt-commitbatch: 200 tanx_click_rt-commitbuffer: 2000 tanx_click_rt-spoutbuffer: 500 tanx_click_rt-boltbuffer: 500 tanx_click_rt-boltIntervel: 10 tanx_click_rt-spoutIntervel: 100 tanx_click_rt-threads: 2 tanx_click_rt-threads_reduce: 12 tanx_click_rt-mode: "merger" tanx_click_rt-timeoutSpout: 30 tanx_click_rt-timeoutBolt: 20 tanx_click_rt-timeoutCommit: 60 tanx_user_rt-log: "user_rd" tanx_user_rt-subid: "0106144909UBGMF3IB" tanx_user_rt-accesskey: "91bb5ad9-dc37-49b1-be75-8e1de52e4407" tanx_user_rt-parse: "com.alimama.quanjingmonitor.mdrillImport.parse.tanx_user_rt" tanx_user_rt-reader: "com.alimama.quanjingmonitor.mdrillImport.reader.TT4Reader" tanx_user_rt-commitbatch: 200 tanx_user_rt-commitbuffer: 2000 tanx_user_rt-spoutbuffer: 500 tanx_user_rt-boltbuffer: 500 tanx_user_rt-boltIntervel: 10 tanx_user_rt-spoutIntervel: 100 tanx_user_rt-mode: "merger" tanx_user_rt-threads: 2 tanx_user_rt-threads_reduce: 12 tanx_user_rt-timeoutSpout: 30 tanx_user_rt-timeoutBolt: 20 tanx_user_rt-timeoutCommit: 60 mdrill.task.ports.p4p_pv2topology: "6801~6806" mdrill.task.assignment.p4p_pv2topology: - "random" ####蓝鲸各种心跳间隔配置-一般不需要改动#### nimbus.task.timeout.secs: 30 task.heartbeat.frequency.secs: 6 nimbus.supervisor.timeout.secs: 300 supervisor.heartbeat.frequency.secs: 20 nimbus.monitor.freq.secs: 60 supervisor.worker.timeout.secs: 600 supervisor.monitor.frequency.secs: 90 worker.heartbeat.frequency.secs: 30 #----每台机器启动的worker进程端口列表,一般请不要改动---- supervisor.slots.ports: - 6601 - 6602 - 6603 - 6604 - 6605 - 6606 - 6701 - 6702 - 6703 - 6704 - 6705 - 6706 - 6707 - 6708 - 6709 - 6710 - 6711 - 6712 - 6713 - 6714 - 6715 - 6716 - 6717 - 6718 - 6719 - 6720 - 6721 - 6722 - 6723 - 6724 - 6725 - 6726 - 6727 - 6728 - 6729 - 6730 - 6731 - 6732 - 6733 - 6734 - 6735 - 6736 - 6737 - 6738 - 6739 - 6801 - 6802 - 6803 - 6804 - 6805 - 6806 - 6901 - 6902 ####以下为adhoc项目专用,跟mdrill无关,不启动UI的话可忽略#### higo.ui.conf.dir: "/home/taobao/bluewhale/ui16/alimama/adhoc-core/webapp" higo.download.offline.conn: "jdbc:mysql://tiansuan1.kgbNaN4:3306/adhoc_download?useUnicode=true&characterEncoding=utf8" higo.download.offline.username: "adhoc" higo.download.offline.passwd: "adhoc" higo.download.offline.store: "/group/tbdp-etao-adhoc/p4padhoc/download/offline" mysql.url: "jdbc:mysql://tiansuan1.kgbNaN4:3306/query_analyser?useUnicode=true&characterEncoding=UTF-8" mysql.username: "adhoc" mysql.password: "adhoc" dev.name.list: - "木晗" - "子落" - "张壮" - "行列" |
由于是在配置单节点学习环境,以上配置去除了shards的备份策略。
新建higoworkerdir
mkdir /home/mdrill/alimama/higoworkerdir |
8、启动和退出
8.1启动hadoop
start-all.sh |
8.2启动zookeeper
zkServer.sh start |
8.3启动nimbus
cd /home/mdrill/alimama/adhoc-core/bin/ chmod 777 ./bluewhale nohup ./bluewhale nimbus >nimbus.log & |
8.4启动supervisor
cd /home/mdrill/alimama/adhoc-core/bin/ nohup ./bluewhale supervisor >supervisor.log & |
注意:每次启动前需要清理 /home/mdrill/alimama/bluewhale/stormwork文件夹。
8.5启动ui和jdbc接口
cd /home/mdrill/alimama/adhoc-core/bin/ mkdir ./ui nohup ./bluewhale mdrillui 1107 ../lib/adhoc-web-0.18-beta.jar ./ui >ui.log & |
启动后,可以通过浏览器打开mdrill的1107端口,看是否能正常打开即可,可看到下图:
所有服务启动完成后,可以看到如下进程:
[mdrill@mdrill bin]$ jps 62621 Jps 60200 NameNode 60467 JobTracker 61568 Supervisor 60401 SecondaryNameNode 61887 MdrillUi 61329 NimbusServer 60592 TaskTracker 60300 DataNode 35049 QuorumPeerMain |
未完待续
转载于:https://my.oschina.net/292672967/blog/209143
干净虚拟机(centos 6.4)上从头到尾安装并调试Mdrill(二)相关推荐
- 干净虚拟机(centos 6.4)上从头到尾安装并调试Mdrill(四)
2019独角兽企业重金招聘Python工程师标准>>> 13.Jdbc测试 替换191.168.3.149为实际IP import java.sql.Connection; impo ...
- linux编译blas,Linux系统CentOS 6.8上yum安装BLAS库
Linux系统CentOS 6.8上yum安装BLAS库 BLAS是一个广泛应用到科学计算软件上面的库文件,在CentOS的软件库中已经有该软件的软件包,我们可以直接使用yum来安装. 1.1.查询C ...
- 快速搭建自己的直播服务器,完成属于你的直播服务。(以windows 下虚拟机centos为例,对安装步骤进行详细说明)
本文以srs v2.0-r8 安装为例,对搭建直播服务器的搭建和安装过程中的注意事项,进行详细的说明. 点击跳转到 教程原文 1.Windows下安装linux centos系统,版本建议 5.7- ...
- linux 虚拟机直播网站,快速搭建自己的直播服务器,完成属于你的直播服务。(以windows 下虚拟机centos为例,对安装步骤进行详细说明)...
本文以srs v2.0-r8 安装为例,对搭建直播服务器的搭建和安装过程中的注意事项,进行详细的说明. 点击跳转到 教程原文 1.Windows下安装linux centos系统,版本建议 5.7- ...
- 在CentOS/Debian/Ubuntu上编译安装最新版 GCC 8 , cmake 3 和ninja
CentOS不像Debian/Ubuntu,不能直接从官方库中安装最新版的gcc/g++,只能源码编译安装. gcc下载地址:Index of /gnu/gcc 我选择了最新版本 gcc-8.3.0, ...
- 【虚拟机】在Windows11上下载安装VMware虚拟机以及Ubuntu(Linux)详细操作
介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...
- centos nginx不是命令_Nginx 在CentOS 6/7 上的安装与使用
增加Nginx的repository,创建一个repo文件 [nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releas ...
- 在VM虚拟机Windows Server r2上部署安装Microsoft Dynamics CRM 2016 步骤详解(一)
应公司需求,最近在学微软的Dynamics CRM.在搭建环境的过程中也遇到了一些雷坑,在这里分享一下安装部署过程当中所遇到的一些问题, 安装Microsoft Dynamics CRM 2016的几 ...
- freeradius 在centos上的安装和调试
1.使用yum安装即可,确定安装的是freeradius2,而不是1.如果以前又freeradius,先卸载 yum remove freeradius 安装 yum i ...
- 在CentOS/Debian/Ubuntu上编译安装最新版gnu make 和GNU 'binutils' (as and ld)
先查看make版本: root@:~/clickhouse/gcc-build# make --version GNU Make 3.82 Built for x86_64-redhat-linux- ...
最新文章
- Docker源码分析(十):Docker镜像下载
- pytorch 矩阵相乘_编译PyTorch静态库
- GDI+中发生一般性错误的解决办法(转帖)
- (4)JavaScript之alert语句
- R语言学习笔记(七)方差分析
- laravel5.5 尝试使用laravel安装器安装(失败) 最后还是用的composer。。。
- sklearn 中的 Pipeline 机制
- spark 读取elasticsearch数据
- 瑞萨单片机-PWM输出
- 小米平板2Android分区表,DIY:8G+128G双系统小米平板2
- iOS中JPG PNG GIF格式图片的区分
- 团队作业8----第二次项目冲刺(Beta阶段) 第四天
- 2015年 网络工程师试卷答案及详解
- php linux unoconv,Linux-CentOS 安装 Unoconv
- electron之坑addon
- 一下科技:未来短视频行业发展呈四大趋势
- 手机屏幕常见故障_手机触摸屏常见问题及解决方法
- eset找不到服务器更新失败,eset nod32无法更新的解决办法-整理常见的nod32更新问题!...
- 乡村少年宫计算机课程,乡村学校少年宫计算机课程安排(5页)-原创力文档
- 代码精进之路-设计原则
热门文章
- docker search oracle,Docker search 命令
- carplay是否可以用安卓系统_Microsoft Teams正在支持CarPlay通话,我还是期待微信支持CarPlay...
- 增益带宽积(GBWP、GBW、GBP、GB)
- java 爬虫 html页面 parse,Java 爬虫 爬取html网页解析
- 如何去除PDF的水印
- [译] 在 Twitch 代码直播一年的总结
- SPOJ QTREE4 Query on a tree IV ——动态点分治
- 初识验收测试管理工具FitNesse
- Windows 10 TH2改进
- 偶然获得2011高校信息化创新征文大赛鼓励奖