重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关ubuntu docker怎样搭建Hadoop集群环境,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联服务项目包括宁城网站建设、宁城网站制作、宁城网页制作以及宁城网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,宁城网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到宁城省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
spark要配合Hadoop的hdfs使用,然而Hadoop的特点就是分布式,在一台主机上搭建集群有点困难,百度后发现可以使用docker构建搭建,于是开搞:
github项目:https://github.com/kiwenlau/hadoop-cluster-docker
docker安装
文章中安装的是docker.io
但是我推荐安装docker-ce,docker.io版本太老了,步骤如下:
1、国际惯例更新下APT软件包的源
sudo apt-get update
2、安装软件包以允许apt通过HTTPS使用存储库
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
3、因为被墙使用教育网镜像:
复制代码 代码如下:
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add
4、同样
sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
5、更新下我们的软件源
sudo apt-get update
6、安装docker
sudo apt-get install docker-ce
7、启动docker服务
sudo service docker start
or
sudo systemctl start docker
8、觉得有必要可以设置开机自带启动
sudo systemctl enable docker
9、关闭自启动
sudo systemctl disable docker
10、国内访问docker会受限制,可以使用加速服务,阿里云、网易云、DaoCloud
11、运行 docker run hello-world
测试是否安装成功
12、想要安装其他image 可以到docker hub上找
https://hub.docker.com/
或是直接在github上搜索相应docker
搭建Hadoop集群
搭建过程很简单
https://github.com/kiwenlau/hadoop-cluster-docker
上步骤说明很详细:
1、pull镜像,速度慢的换国内镜像源
sudo docker pull kiwenlau/hadoop:1.0
200多m不算大,我下过jupyter官方pyspark的docker 5g…
2、克隆项目到本地
git clone https://github.com/kiwenlau/hadoop-cluster-docker
其实只用到里面的 start-container.sh 文件也可以单独下,复制粘贴啥的
3、start-container.sh 需要修改一下 cd 到文件目录
sudo gedit start-container.sh
修改如下
开放9000端口还有创建共享文件夹方便以后使用
4、保存之后,创建docker-Hadoop网络
sudo docker network create --driver=bridge hadoop
5、开启容器
sudo ./start-container.sh
6、开启Hadoop集群
./start-hadoop.sh
7、测试一下Hadoop,在hdfs上创建 test/input 目录
hadoop fs -mkdir -p /test/input hadoop fs -ls /test
8、运行word-count程序
./run-wordcount.sh
结果如下
关于“ubuntu docker怎样搭建Hadoop集群环境”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。