文档章节

docker部署hdoop

centrald
 centrald
发布于 2016/04/21 01:18
字数 1105
阅读 15
收藏 0
点赞 1
评论 0

docker基本用法:

2>下载镜像

docker pull ubuntu

1>启动镜像

docker run -ti ubuntu

2>列出所有镜像

docker images

3>列出所有的容器

docker ps -a

4>列出正在运行的容器

docker ps

5>启动容器

docker start  容器ID

6>进入容器

docker exec -ti 容器ID  /bin/bash

7>停止运行中的容器

docker stop 容器ID

8>删除容器

docker rm 容器ID

9>删除镜像

docker rmi 镜像ID

10>提交镜像

docker commit -m "提交信息" 镜像ID 镜像:标签

eg:docker commit -m "java install" c024e9ecb174 ubuntu:java

11>镜像导出

 docker save -o ubuntu_hadoop.tar.gz ubuntu:hadoop
12>镜像导入

 

安装Docker

1>apt-get install apt-transport-https

2> apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

3>bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"

4>apt-get update

5>apt-get install lxc-docker -y

安装JAVA环境

1>使用Docker镜像创建容器

docker run -ti ubuntu

2>更新数据源(使用网易的源)

# vim sources.list

 

deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

# apt-get update

问题

  1. docker容器ping不同外网

    原因:默认DNS为谷歌服务器

    解决:#vi /etc/resolv.conf

    nameserver 223.5.5.5
    nameserver  223.6.6.6
     

3>.JAVA安装

    1>apt-get install software-properties-common python-software-properties
    2>add-apt-repository ppa:webupd8team/java
    3>apt-get update
    4>apt-get install oracle-java7-installer

    问题:java安装失败

     解决:下载tar包,进行安装配置

      一.让docker容器支持ssh服务

  1. 安装openssh-server

            root@d010c842a739:/# apt-get install openssh-server

        2.要正常启动SSH服务,需要/var/run/sshd存在,

            创建目录

            (1)root@d010c842a739:/# mkdir -p /var/run/sshd

            (2)启动sshd服务

            root@d010c842a739:/# /usr/sbin/sshd -D &
             [1] 593

        3.查看监听端口,22端口处于监听状态

        root@d010c842a739:/# netstat -antlpeu
        Active Internet connections (servers and established)
        Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
        tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          1114522     593/sshd        
        tcp6       0      0 :::22                   :::*                    LISTEN      0          1114524     593/sshd        
        4.修改SSH服务的安全登录配置,取消pam登录限制

        (1)root@d010c842a739:/# vim /etc/pam.d/sshd

        (2)注释pam限制

        #session    required     pam_loginuid.so

        5.创建ssh自动登录密钥

        (1)mkdir /root/.ssh

        (2) cd /root/.ssh/

        (3)将公钥拷贝到auth中

        vim authorized_keys

         (1>.ssh-keygen -t rsa 2.> vim id_rsa.pub)

        6.添加开机自启动ssh服务

        # vim ~/.bashrc

            #ssh autorun
            /usr/sbin/sshd  

        二.将jdk-7u80-linux-x64.tar.gz配置到docker中

            环境变量:

            1.#vim /etc/profile

            JAVA_HOME=/usr/local/jdk1.7
            export JAVA_HOME
            PATH=$JAVA_HOME/bin:$PATH
            export PATH
            2.使环境变量生效

            #source /etc/profile

            3.查看java版本,则配置成功

            # java -version
            java version "1.7.0_80"
4>将装好java环境的容器打包为镜像

# docker commit -m "java install" c024e9ecb174 ubuntu:java

配置hadoop环境

1>使用打包好的镜像创建容器

docker run -ti ubuntu:java

2>下载安装hadoop

安装目录:

/usr/local/apache/hadoop

3>配置hadoop环境变量

#vim /etc/profile

export HADOOP_HOME=/usr/local/apache/hadoop
export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop
export PATH=.:$HADOOP_HOME/bin:$PATH
export PATH=.:$HADOOP_HOME/sbin:$PATH

4>使环境变量生效

source /etc/profile

5>配置hadoop

1)创建三个目录

  • root@0c6acf88bac7:/usr/local/apache/hadoop# mkdir tmp
    root@0c6acf88bac7:/usr/local/apache/hadoop# mkdir namenode
    root@0c6acf88bac7:/usr/local/apache/hadoop# mkdir datanode

2)修改配置文件

1>root@0c6acf88bac7:/usr/local/apache/hadoop/etc/hadoop# vim core-site.xml

<configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://master:9000</value>
                <final>true</final>
                <description>master node</description>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/apache/hadoop/tmp</value>
                <description>Hadoop temporary directories</description>
        </property>
</configuration>

2>root@0c6acf88bac7:/usr/local/apache/hadoop/etc/hadoop# vim hdfs-site.xml

<configuration>
<property>
        <name>dfs.replication</name>
        <value>2</value>
        <final>true</final>
        <description>datanode count</description>
</property>
<property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/apache/hadoop/namenode</value>
        <final>true</final>
</property>
<property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/apache/hadoop/datanode</value>
        <final>true</final>
</property>
</configuration>

3>root@0c6acf88bac7:/usr/local/apache/hadoop/etc/hadoop# vim mapred-site.xml

<configuration>
<property>
        <name>mapred.job.tracker</name>
        <value>master:9001</value>
</property>
</configuration>

4>root@0c6acf88bac7:/usr/local/apache/hadoop/etc/hadoop# vim hadoop-env.sh

export JAVA_HOME=/usr/local/jdk1.7

6>格式化namenode

root@0c6acf88bac7:/usr/local/apache/hadoop/etc/hadoop# hadoop namenode -format

7>.将安装好hdoop环境的容器提交为镜像

docker commit -m "docker install" 容器ID ubuntu:hadoop

docker commit -m "hadoop install" 8ef06706f88d ubuntu:hadoop

 

1>配置IP与地址映射

vim /etc/hosts

172.17.0.2 master
172.17.0.3 slave1
172.17.0.4 slave2
 

2>

root@master:~# source /etc/profile
    javaapi下载

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class app {
	public static void main(String[] args) throws Exception {
		FileSystem fileSystem = FileSystem.get(new URI("hdfs://115.28.140.177:9000"), new Configuration());
		InputStream in = fileSystem.open(new Path("/dir1/hadoop-1.2.1.tar.gz"));
		OutputStream out = new FileOutputStream("e://hadoop.tar.gz");
		IOUtils.copyBytes(in, out, 4096,true);
	}
}

 

© 著作权归作者所有

共有 人打赏支持
centrald
粉丝 11
博文 68
码字总数 114870
作品 0
杭州
程序员
在idea上使用docker作为java的开发环境

准备,开发环境使用的MacOS, windows 和 Linux理论上差异不大。 , 安装idea插件 安装docker for Mac 和 docker-compose (一般使用pip或brew安装) 在idea中指定docker-compose的目录。 在ide...

weineeL ⋅ 2017/09/28 ⋅ 0

Linux下从零开始部署和使用Jaeger

原文链接:https://imscc.io/posts/trace/installjaegeronlinux/ 原文作者: 聪少 最近在折腾Jaeger,Jaeger官网都是介绍如何通过Docker部署,二进制部署文档基本没有(已咨询过作者,作者说...

abv123456789 ⋅ 05/07 ⋅ 0

利用Docker Registry服务实现多数据中心的部署优化

本文来源:Ghostcloud翻译(https://www.ghostcloud.cn/) 本文主要讲解了Docker在跨远程数据中心的部署中所起的作用,以及如何通过Docker技术实现多个数据中心的部署优化。 在生产环境中用D...

精灵云 ⋅ 2016/06/04 ⋅ 0

用 IBM UrbanCode Deploy 和 Docker 实现持续集成及交付

背景介绍 在实际工作中,很多时间都会花费在产品的安装和部署过程 DevOps 是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合,提高整个产品...

姜 河, 朱 琳, 和 李 敏敏 ⋅ 05/21 ⋅ 0

docker:编排与部署小神器>>Compose概念篇

docker-compose是什么 Compose是定义和运行多容器Docker应用程序的工具。 使用Compose,您可以使用YAML文件来配置应用程序的服务。 然后,使用单个命令,您可以创建并启动配置中的所有服务。...

甘兵 ⋅ 03/07 ⋅ 0

Docker 三剑客之 Docker Swarm

上一篇:Docker 三剑客之 Docker Compose 阅读目录: Docker Machine 创建 Docker 主机 Docker Swarm 配置集群节点 Docker Service 部署单个集群服务 Docker Stack 部署多个集群服务,以及 ...

那谁爸爸 ⋅ 01/08 ⋅ 0

Docker技术这些应用场景,你知道吗?

场景一:节省项目环境部署时间 1.单项目打包 每次部署项目到测试、生产等环境,都要部署一大堆依赖的软件、工具,而且部署期间出现问题几率很大,不经意就花费了很长时间。 Docker主要理念就...

李振良OK ⋅ 2017/11/01 ⋅ 0

简单化搭建 Docker 数据中心

Docker 数据中心 CaaS 平台为各种规模的企业的敏捷应用部署提供了容器和集群的编排和管理,使之更简单、安全和可伸缩。使用新为 Docker 数据中心预编译的云模板,开发者和 IT 运维人员可以无...

linux小陶 ⋅ 2016/11/18 ⋅ 0

Docker时代来临,你的团队准备好了吗?

长久以来,软件测试团队等待着一个合适的测试版本已经是个老问题,开发环境、测试环境、生产环境之间的差异,总会导致生产版本有缺陷被遗漏。虚拟机的出现解决了这些问题,但是同时也带来了性...

dockerer ⋅ 2015/12/09 ⋅ 0

Docker Swarm 编排及部署 PostGIS,并操作 GIS 数据

本文还是继docker之后的一片更新,只是这次使用 Docker stack 进行容器部署及编排。部分图片来自 Docker 官网。 postgis 镜像的基础是 PostgreSql,所以我们部署了 postgis 镜像也就意味着有...

上官瑾文 ⋅ 05/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部