你的位置:首页 > 数据库

[数据库]Mdrill 安装部署(单机版)

前期:
--------------------------------------------------------
准备:
1、centos6.5 /7 x86_64(后期会更改主机名称)
2、jdk 1.6
3、hadoop
4、zookeerper-3.4.5
5、zeromq-2.1.7
6、jzmq 2.1.0
7、mdrill 0.20.9
-------------------------------------------------------
开始:(root用户)----------(-注:这里的主机名和hosts名都为master.chinaj.com,可以修改,但尽量不要修改,为了跟后面的文件相对应,否则需要更改的配置文件太多)
1、配置主机名:
nano /etc/sysconfig/network
修改为以下内容:
HOSTNAME=master.chinaj.com
2、配置hosts文件
nano /etc/hosts
增加如下内容:
主机ip地址 master.chinaj.com
(192.168.0.103  master.chinaj.com) ------此处为192.168.0.103
3、关闭SELINUX
nano /etc/selinux/config
修改SELINUX=disabled
--------------------------------------可能需要重启
4、配置好yum(/etc/yum.repos.d) 注:非常重要,很多软件都是基于yum安装
5、配置本机无密码登陆:
ssh-keygen -t rsa
cd /root/.ssh/
cat id_rsa.pub   >>authorized_keys   ------创建authorized_keys 文件
chmod 777 authorized_keys ---- 修改 authorized_keys 权限
ssh master.chinaj.com uptime-------注:测试,建议一定要执行;
6、安装 java jdk(jdk1.6)
yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel
(注: 可以使用压缩包直接添加环境变量使用,这里直接安装,本可以不用配置环境变量,这里建议配置上环境变量,预防后面出错,也可以不添加环境变量,等出错后再 行添加,默认安装路径 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.36.x86_64/,直接在/root/.bashrc 同下面要配置的环境变量一样,直接添加即可)
如果电脑上配置多个java环境可以通过 alternatives --cofig java 命名直接切换。
7、安装hadoop-0.20.2
解压目录src,进入目录后再次解压install.tgz,进入hadoop-0.20.2。此处不需要解压,若需要解压,请自行解压。(具体应该是hadoop-0.20.2-cdh3u3.tar.gz,此处已经给出
直接添加环境变量:这里的目录为(/home/centos/mdrill/src/hadoop)
编辑 /root/.bashrc文件     nano  /root/.bashrc
添加:
export HADOOP_HOME=/home/centos/mdrill/src/hadoop
export PATH=$PATH:$HADOOP_HOME/bin--------------------------后面有其他的环境变量,可在此直接添加路径
8、立即启用bashrc文件 :  source    /root/.bashrc
9、完后验证 直接输入  hadoop  ---------------若出现“Usage: hadoop [--config confdir] COMMAND”  证明成功!
10、配置hadoop文件,(core-site.大致内容如下:(按实际情况,谨慎修改)
 



11、启动hadoop  
start-all.sh  ---启动完后查看进程  jps(如果有5个进程  JobTracker、SecondaryNameNode、NameNode、 DataNode、Jps  、TaskTracker 则启动成功)
----------------------------注:如果hadoop中的namenode节点没有起来的话,可以尝试 :hadoop namenode  -format
12、在浏览器中输入    :           http://主机IP地址:50070或者主机名加端口号,本机的话也可以localhost:50070
13、安装依赖   yum -y install libtool------------libtool工具
yum -y install gcc-c++ ------------------gcc工具https://app.yinxiang.com/Home.action#n=50d169d6-1209-4cb7-9702-c8056eb3b2a8&ses=4&sh=2&sds=5&

yum -y install uuid-devel

yum -y install libuuid-devel--------------- 安装uuid-devel   

14、安装 zeromq和jzmq

直接进入目录相应的目录后  rmp -ivh  zeromq-2.1.7.rmp

                                     rmp -ivh jzmq 2.1.0.rpm
15、 安装zookeeper-3.4.5
直接进入目录  在此为:/home/centos/mdrill/src/zookeeper-3.4.5
按照步骤7、8 中配置环境变量,并启用.
 ZOOPKEEPER_HOME=/home/centos/mdrill/src/zookeeper-3.4.5
 PATH=$PATH:$HADOOP_HOME/bin:$ZOOPKEEPER_HOME/bin
                                                               
16、验证  直接输入zkServer.sh----------------"Usage:   /home/mdrill/zookeeper-3.4.5/bin/zkServer.sh   {start|start-foreground|stop|restart|status|upgrade|print-cmd}"出现这样的提示,证明成功。
17、配置zookeeper服务   进入conf 目录
 cp zoo_sample.cfg  zoo.cfg -----------------注:请仔细观察,在给出的源码中,此处可省略,请酌情处理,因为这是配置好的.
在这里需要更改的为12行左右,dataDir=PATH(修改为自己的特定的路径)
常规的话,可能需要在末尾添加server.1=主机名:2888:3888,此处已经有了,不需要再次添加。
我这里的目录为 dataDir=/home/centos/mdrill/src/zookeeperdata
18、新建zookeeper服务数据文件夹
mkdir /home/centos/mdrill/src/zookeeperdata
nano /home/centos/mdrill/src/zookeeperdata/myid ------------------给文件myid中写入 “1”。
19、启动zookeeper并查看状态
zkServer.sh start
zkServer.sh status
20、启动客户端测试
zkCli.sh -server mdrill:2181 ---------------------------------“WATCHER::WatchedEvent
                                                                                        state:SyncConnected   type:None path:null”
21、安装mdrill,,,配置storm.yml文件
nano /home/centos/mdrill/src/mdrill-0.20.9/conf/storm.yaml修改内容主要是对主机地址,shards个数,worker启动参数进行调整。
内容大体如下:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
###zookeeper配置####                                                                                             

 storm.zookeeper.servers:                                                                                                                                           - "master.chinaj.com"                                                                                            
 storm.zookeeper.port: 2181                                                                                         

 storm.zookeeper.root: "/higo2"                                                                                     

####蓝鲸配置####

storm.local.dir: "/home/mdrill/alimama/bluewhale/stormwork"

nimbus.host: "master.chinaj.com"

####hadoop配置####

 hadoop.conf.dir:   "/home/mdrill/hadoop-0.20.2-cdh3u3/conf"

 hadoop.java.opts: "-Xmx128m"

 ####mdrill存储目录配置####

 higo.workdir.list:   "/home/mdrill/alimama/higoworkerdir"---------------------/home/centos/mdrill/src/mdrillworker

 #----mdrill的表格列表在hdfs下的路径-----

 higo.table.path:   "/home/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

…… ------------------------------绿色显示为要修改的地方,其他地方,请谨慎处理

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

22、新建mdrill工作目录  我这里是

mkdir /home/centos/mdrill/src/mdrillworkerdir-----------------------按照个人情况建立相应的目录

23、启动 hadoop

start-all.sh

24、启动zookeeper

zkServer.sh start

25、启动 nimbus

进入mdrill的bin目录    cd /home/centos/mdrill/src/mdrill-0.20.9/bin

修改 bluewhale的权限     chmod 777 ./bluewhale

启动nimbus    nohup ./bluewhale nimbus >nimbus.log   &

26、启动supervisor

依然在mdrill的bin目录中 nohup ./bluewhale supervisor   >supervisor.log &

27、启动ui和jdbc接口 

mkdir ./ui -----------------此过程可以省略,因为该目录下已经存在该文件目录

nohup ./bluewhale   mdrillui 1107 ../lib/adhoc-web-0.18-beta.jar ./ui >ui.log &

启动后,可以通过浏览器打开mdrill的1107端口,看是否能正常打开即可,可看到下图:


 27、查看进程 jps(应该具有以下进程)

 Jps

NameNode

JobTracker

Supervisor

SecondaryNameNode

 MdrillUi

NimbusServer

TaskTracker

DataNode

QuorumPeerMain

------------------------------------------------------------------------------------------

后期:

测试:单机测试