mesos集群部署教程
来源:互联网 发布:淘宝办签证会有假的吗 编辑:程序博客网 时间:2024/05/29 16:45
mesos编译安装部署教程
一、编译步骤:
mesos版本:0.22.1
linux版本:3.13.0-59-generic#98-Ubuntu x64
1 下载源码包
wget http://www.apache.org/dist/mesos/0.23.0/mesos-0.23.0.tar.gz
2 安装依赖包
根据官网教程(http://mesos.apache.org/gettingstarted/)先安装依赖包
# Update the packages. $ sudo apt-get update # Install the latest OpenJDK. $ sudo apt-get install -y openjdk-7-jdk # Install autotools (Only necessary ifbuilding from git repository). $ sudo apt-get install -y autoconf libtool # Install other Mesos dependencies. $ sudo apt-get -y installbuild-essential python-dev python-boto libcurl4- nss-dev libsasl2-dev mavenlibapr1-dev libsvn-dev
3 配置并编译
# Change working directory. $ cd mesos # Bootstrap (Only required if building fromgit repository). $ ./bootstrap # Configure and build. $ mkdir build $ cd build $ ../configure --with-python-headers=/usr/include/python2.7 --with-java-home=$JAVA_HOME --with-java-headers=$JAVA_HOME/include--with-webui --with- included-zookeeper --prefix=/home/ndn/mascot/mesos_install #注意配置的时候python要根据你系统的版本,prefix参数就是安装的路径,最好自己新建一个文件 夹,不要使用默认,默认的目录为/usr/local,如果默认安装的话会出现很多权限问题 $ make(可以加 -j <num>参数,num是cpu核的个数,这样可以减少编译的时间)
4 测试编译结果
编译好之后打开build/bin,使用下述命令启动mesos-master,以及附属的一个slave来检查是否编译成功
$ ./bin/mesos-master.sh--ip=127.0.0.1 --work_dir=/var/lib/mesos # Start mesos slave.$ ./bin/mesos-slave.sh--master=127.0.0.1:5050
在本机上访问如下地址$ http://127.0.0.1:5050,如果用浏览器访问上述网页成功,而且面中现实激活的节点为1个则说明编译成功了。
5 安装
虽然教程中安装只有一句命令“make install”,但是make install有时候会出现问题,比如:
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_ndn/protobuf
出现这个问题的原因是安装过程中会下载一些软件,这些数据被墙了,解决的方法是使用国内的源先把需 要软件安装了,针对上述问题,是pip被墙了,我使用清华的源: https://wiki.tuna.tsinghua.edu.cn/MirrorUsage/pypi修改源的步骤在上诉链接中给出了,我使用第一中方法,“临时使用源”。根据错误提示,被墙的包为 google-apputils和protobuf,那么我使用pip命令安装这两个软件如下:
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple google-apputils #没有安装pip请安装sudo apt-get install python-pip sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple protobuf 上述步骤进行之后就可以不出错地安装了 make install
6 配置mesos集群
我有3台服务器
master(master)
192.168.1.62
resourcemanager(slave)
192.168.1.64
datanode1(slave)
192.168.1.66
上述表格中ip和主机名的对应需要在/etc/hosts文件中注明
对于每台机器都做如下操作
打开安装的目录(之前configure中prefix参数),在etc/mesos中有三个文件,使用如下命令新 建3个文件:
cat mesos-master-env.sh.template> mesos-master-env.sh cat mesos-slave-env.sh.template> mesos-slave-env.sh cat mesos-deploy-env.sh.template> mesos-deploy-env.sh
然后新建两个文件:slaves,masters
masters内容如下
master
slaves内容如下
#一个slave一行 datanode1 datanode2修改mesos-master-env.sh文件内容如下
#master日志目录 export MESOS_log_dir=/var/log/mesos #master工作目录 export MESOS_work_dir=/var/lib/mesos
修改mesos-slave-env.sh文件内容如下
#MESOS_master参数必须设置 export MESOS_master=192.168.1.62:5050 #下面两个参数用来设置slave的工作目录和日志目录,值得注意的是这个目录最好在home目录下,因 为在其他目录下的时候会遇到权限问题,如果执行的时候没有权限slave就启动不起来,上面的 master配置也一样 export MESOS_log_dir=/home/ndn/mascot/mesos_install/log export MESOS_work_dir=/home/ndn/mascot/mesos_install/run
mesos-deoply-env.sh不需要更改。
配置环境变量
更改~/.bashrc文件在最后一行添加如下:
export MESOS_HOME=/home/ndn/mascot/mesos_install export PATH=${PATH}:${MESOS_HOME}/sbin:${MESOS_HOME}/bin
当上述配置都完成之后可以启动集群了,在任何一台配置好的服务器上都可以启动。6、启动集群
执行mesos-start-cluster.sh
执行这条命令有时候会启动失败,提示:
./mesos-daemon.sh: line 9: ulimit: open files: cannot modify limit:Operation not permitted
经过检查发现在mesos-daomon.sh 有一条ulimit -n 8192,这条指令是在向服务器索要资源,但是 通过ulimit -a查看可以看出-n为1024,系统要求这个数不能更大,因此把8192更改为1024即可。
再次启动:mesos-start-cluster.sh
查看每台机器,使用ps -e |grep mesos看每台机器上的mesos是否都启动了。
当所有的mesos都启动之后,浏览器访问http://192.168.1.62:5050如果看到如下界面就说明启 动成功了:
注,通过浏览器访问的时候有个bug,访问Sandbox的时候会提示访问不到主机,我的更正方法是在浏览器器所在主机上也修改/etc/hosts文件,加上master、resourcemanager、datanode1名字与ip的映射关
(系)
- mesos集群部署教程
- Spark on Mesos集群部署
- Mesos集群yum安装部署
- 基于安装包方式部署mesos集群
- Mesos单点Master集群部署和High Availability集群部署
- 7条命令在docker中部署Mesos集群
- mesos 0.25.0/0.28.0 集群部署升级指南
- 使用 Docker, 7 个命令部署一个 Mesos 集群
- redis 集群部署教程
- mesos集群搭建
- mesos集群安装
- Spark on Mesos部署
- 使用Docker部署Mesos
- mesos 1.1.0集群搭建
- Mesos集群编译安装(centos7)
- MySQL Cluster集群的初级部署教程
- [Kubernetes] CentOS 7 Etcd 集群部署教程
- Mesos+Kubernetes集成安装部署
- 【小熊刷题】implement strstr()
- PyQt5初级教程--PyQt5中绘画[11/13]
- 使用python执行复制时遇到的一点问题
- Android Api Demos登顶之路(二十六)Action Bar Tabs
- 笔记:Mysql--Date型数据的存储
- mesos集群部署教程
- gtk+程序在关闭主窗口时的事件流
- toString的推荐写法
- 三个因素决定你的薪水高低
- 开源中国源码学习(四)——主界面总体认识
- singlefile.py
- 【Leetcode】Edit Distance #72
- FSMC STM32 + FPGA
- 开源中国源码学习(五)——切换皮肤(日间模式和夜间模式)