设为首页 收藏本站
查看: 2298|回复: 0

[经验分享] docker1.7 搭建spark1.4.0-hadoop2.6集群

[复制链接]

尚未签到

发表于 2015-10-13 07:45:21 | 显示全部楼层 |阅读模式
1 概述     现在国内的资料很少,即使你看到了,资料也不是很全,每个人都为中国在这方面做点贡献,也是为了相互学习。作为学习Spark中的一个重要环节--搭建Spark集群,此次搭建环境使用了Docker1.7,Spark1.4-hadoop2.6,搭建的集群环境,操作系统为CentOS6.5,内存4G2 升级Linux内核具体的什么是Docker,以及Docker的基本原理等,我在这里就不在介绍了。2.1 查看系统内核版本  # lsb_release -aLSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 6.5 (Final)
Release:        6.5
Codename:       Final
# uname -a
Linux xxxxxxx 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
因为 Docker 推荐使用 3.8 以上内核,所以我们选择使用 YUM 方式来升级内核。
2.2 升级Linux内核版本
2.2.1 联网安装 (本部分参考http://dockerpool.com/article/1415195109# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# yum --enablerepo=elrepo-kernel install kernel-lt -y
vi/etc/grub.conf 修改默认的启动内核,新安装的内核一般在第一个,这里把default= 1 改为 default= 0 就好了。重启云主机,查看内核是否升级成功。
# uname -a
Linux xxxxxxx 3.10.59-1.el6.elrepo.x86_64 #1 SMP Thu Oct 30 23:46:31 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

注意:不知道怎么的使用的他们的办法行不通,升级的Linux内核版本还是2.6的,改为下载rpm包安装2.2.2  手动安装下载kernel-lt-3.10.86-1.el6.elrepo.x86_64.rpm,下载地址:http://elrepo.reloumirrors.net/kernel/el6/x86_64/RPMS/kernel-lt-3.10.86-1.el6.elrepo.x86_64.rpmrpm -ivh kernel-lt-3.10.86-1.el6.elrepo.x86_64.rpmvi /etc/grub.conf 修改默认的启动内核,新安装的内核一般在第一个,这里把default= 1 改为 default= 0 就好了。重启云主机,查看内核是否升级成功。
# uname -a
Linux xxxxxxx 3.10.86-1.el6.elrepo.x86_64 #1 SMP Thu Oct 30 23:46:31 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

3 安装与配置Docker(保持网络畅通)3.1 安装yum install docker-io3.2 配置文件# vi /etc/sysconfig/docker
other-args列更改为:other_args="--exec-driver=lxc --selinux-enabled"3.3 启动Dockerservice docker start 3.4 设置开机自动启动chkconfig docker on 3.5 查询docker版本docker version:查看docker的版本号,包括客户端、服务端、依赖的Go等3.6 查询docker信息docker info 不好了出现个这个问题(没法链接docker的守候进程):Cannot connect to the Docker daemon. Is 'docker -d' running on this host?那就按他说的做吧:docker -d3.7 测试一下(docker的一些命令你需要知道一些哦)# docker pull dl.dockerpool.com:5000/ubuntu:14.04
# docker imagesREPOSITORY                      TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
dl.dockerpool.com:5000/ubuntu   latest              5506de2b643b        12 days ago         197.8 MB
启动一个容器看看: docker run -ti ubuntu4 搭建spark集群 4.1 pull spark镜像docker pull sequenceiq/spark:1.4.0这个过程很慢的,并且你的网速还要很好,要是你的网速不好的话,去我的网盘上拿吧加载本地镜像:docker load spark1.4.0.tar4.2 创建镜像docker build --rm -t sequenceiq/spark:1.4.0 .运行时将Docker-hub上的那个Dockerfile下载下来,放到你运行该指令的文件目录下下载地址:https://github.com/sequenceiq/docker-spark/blob/master/Dockerfile4.3 启动并创建容器创建一个master容器:docker run --name master -it -p 8088:8088 -p 8042:8042 -p 8085:8080 -p 4040:4040 -p 7077:7077 -p 2022:22  -v /data:/data  -h master sequenceiq/spark:1.4.0 bash
说明:--name 表示创建的容器的名称,-it可以理解创建一个标准的临时终端,-p表示映射本地到容器的端口 -v 建立本地到容器的文件,就是让本地的data文件和容器上的文件共享,-h设置容器的机器名
创建三个worker容器(在三个不同终端运行):docker run --name worker1 -it -h worker1 sequenceiq/spark:1.4.0 bashdocker run --name worker2 -it -h worker2 sequenceiq/spark:1.4.0 bashdocker run --name worker3 -it -h worker3 sequenceiq/spark:1.4.0 bash
四个容器现在已经建立成功了,相互ping一下,若是平不通的话,请关闭本地的防火墙: service iptables stop5 spark集群配置文件5.1 关闭每个容器上的hadoop集群cd /usr/local/hadoop-2.6.0/sbin/./stop-all.sh5.2 配置每个容器上的hosts文件vi /etc/hosts172.17.0.2      master
172.17.0.3      worker1
172.17.0.4      worker2
172.17.0.5      worker3
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters5.2 配置每个容器上hadoop的slaves文件 vi /usr/local/hadoop-2.6.0/etc/hadoop/slaves配置为worker1
worker2
worker35.2 配置每个容器上core-site.xmlvi /usr/local/hadoop-2.6.0/etc/hadoop/core-site.xml配置为(注意红色部分)  <configuration>
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://master:9000</value>
      </property>
  </configuration>5.3 配置每个容器上spark的slaves文件cd /usr/local/spark-1.4.0-bin-hadoop2.6/confcp slaves.template slavesvi slaves配置为worker1
worker2
worker36 启动spark集群6.1 在master上启动hadoop集群cd /usr/local/hadoop-2.6.0/sbin/#./start-all.sh在master上可以查看jpsbash-4.1# jps
2441 NameNode
2611 SecondaryNameNode
2746 ResourceManager
3980 Jps
在worker上查看bash-4.1# jps
1339 DataNode1417 NodeManager
2290 Jps6.2 在master上启动spark集群cd /usr/local/spark-1.4.0-bin-hadoop2.6/sbin/./start-all.sh在master上查看bash-4.1# jps
2441 NameNode
2611 SecondaryNameNode
2746 ResourceManager
3980 Jps
3392 Master在每个worker上查看bash-4.1# jps
1339 DataNode1417 NodeManager
2290 Jps1759 Worker6.3 在webui上看看 DSC0000.jpg

DSC0001.jpg
7 总结耐下心来学习,做一件事件。
没完,待续,下篇将介绍Spark编程的那些事儿。
用到的软件:链接:http://pan.baidu.com/s/1o6BuO3o 密码:zi9u
推荐学习:Docker —— 从入门到实践:http://dockerpool.com/static/books/docker_practice/index.html
Docker的常用命令:http://www.open-open.com/lib/view/open1410568733492.html         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-126014-1-1.html 上篇帖子: 如何在Docker容器内外互相拷贝数据? 下篇帖子: 阿里云部署Docker(8)----安装和使用redmine
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表