Ubuntu基础配置+Docker配置和使用+容器化centos7大数据环境准备

这篇具有很好参考价值的文章主要介绍了Ubuntu基础配置+Docker配置和使用+容器化centos7大数据环境准备。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.ubuntu 基础配置

环境:ubuntu 18.04
大数据技术与应用赛项平台环境

安装完Ubuntu之后,除了需要新建用户、设置密码之外,我们还要设置root密码,虽然Ubuntu默认有root超级管理员账户,但是具体的密码我们可以自行设置

1.1设置root密码:

1.启动Ubuntu
启动Ubuntu,有图形界面的,启动终端即可

2.终端输入sudo passwd root

sudo passwd root

ubuntu和centos7,ubuntu,docker,大数据,ubuntu,docker,大数据

验证测试:

验证:输入su - 后输入超级管理员账户的密码

1.2 更换源:

更换下载源,不更换的话安装docker时会很慢,可以选择阿里或者清华源

sudo apt install vim 
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak		备份
sudo vi /etc/apt/sources.list    #添加清华源

清华源:

ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
#更新源
sudo apt update

1.3 安装ssh服务:

(方便连接xshell工具)

sudo apt install openssh-server -y

解决windows Ubuntu 之间复制粘贴问题:

sudo apt-get autoremove open-vm-tools -y	//卸载已有的工具
sudo apt-get install open-vm-tools -y		//安装工具open-vm-tools
sudo apt-get install open-vm-tools-desktop -y //安装open-vm-tools-desktop

ubuntu下安装asbru-cm工具:

Asbru-CM是一种开源的配置管理工具,用于管理和部署服务器配置。它提供了一个Web界面,使用户可以轻松地管理和监控多台服务器的配置。

sudo apt install curl -y

curl -s https://packagecloud.io/install/repositories/asbru-cm/asbru-cm/script.deb.sh | sudo bash

sudo apt install asbru-cm -y

2. Docker配置

2.1 如果之前安装过docker,卸载旧版本docker

sudo apt-get remove docker docker-engine docker.io containerd runc

2.2 更新及安装工具软件

2.2.1 更新系统里的所有的能更新的软件
sudo apt-get update
2.2.2 安装几个工具软件
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y
2.2.3 增加一个docker的官方GPG key:

gpgkey:是用来验证软件的真伪 ——防伪的

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

2.2.4 下载仓库文件

sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2.3 安装docker

2.3.1 再次更新系统
sudo apt-get update
2.3.2 安装docker-ce软件
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

2.4 查看是否启动docker

由于docker安装的时候自带设置启动,所以直接查看进程是否启动就可以了

ps aux|grep docker

ubuntu和centos7,ubuntu,docker,大数据,ubuntu,docker,大数据

安装成功

3. Docker 服务操作

3.1 常用命令

sudo service docker start  # 启动Docker
sudo service docker stop  # 停止Docker
sudo service docker restart  # 重启Docker
sudo service docker status  # 查看Docker状态
#查看docker容器
docker ps    #查看当前运行的容器
docker ps -a    #查看所有容器
docker rm -f $(docker ps -aq)  #删除所有容器
docker images  #查看docker镜像
#导入镜像包,两者都会恢复为镜像
docker load < /home/hj/大数据比赛环境包/bigdata.tar
docker load -i < /home/hj/大数据比赛环境包/bigdata.tar
#导入容器包,两者都会恢复为镜像
docker import 路径

#删除镜像(镜像有创建过容器则需要删除容器才可以删除镜像)
docker rmi 镜像名或镜像ID

#删除所有容器
docker rm -f $(docker ps -aq)
docker rm 容器

#启动容器
docker start 容器id

#运行容器
docker exec -it 容器id /bin/bash

#将容器导成镜像
sudo docker commit -a "镜像作者" -m "提交成镜像的说明信息" 容器的名称 新镜像名称:标签

docker 上传文件到容器
docker cp /home/hj/clickhouse-21.9.4.35(tgz) master:/opt/

从容器中上传文件到本地
docker cp master:/opt/ /home/hj

3.2 Docker 的镜像操作

3.2.1 列出镜像
docker images

结果:ubuntu和centos7,ubuntu,docker,大数据,ubuntu,docker,大数据

参数 含义
REPOSITORY 镜像所在的仓库名称
TAG 镜像标签(版本)
IMAGEID 镜像ID
CREATED 镜像的创建日期(不是获取该镜像的日期)
SIZE 镜像大小
3.2.2 搜索镜像
docker search 镜像名
3.2.3 拉取镜像

要想获取某个镜像,我们可以使用pull命令,从仓库中拉取镜像到本地。

如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest 标签。

docker pull 仓库名称/标签
3.2.4 删除镜像

镜像有创建过容器则需要删除容器才可以删除镜像(或者直接强制删除)

#普通删除
docker rmi 镜像名或镜像ID
#强制删除
docker rmi -f 镜像名或镜像ID
3.2.5 导入镜像
#方法1
docker load < 镜像包
#方法2
docker load -i < 镜像包
3.2.6 导出镜像
docker save –o /opt/导出名称.tar 镜像名称:标签

3.3 Docker容器操作

3.3.1 创建容器
docker run [option] 镜像名:tag [向启动容器中传入的命令]

常用可选参数说明:

参数 意义
-i 表示以“交互模式”运行容器
-t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
–name 为创建的容器命名
-v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
-d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
-e 为容器设置环境变量
–network 指定网桥
3.3.2 进入已运行容器
docker exec -it 容器名或容器ID /bin/bash
3.3.3 查看容器
docker ps     #查看当前运行的容器
docker ps –a    #查看当前所有的容器
3.3.4 启动容器
docker start 容器名或容器ID
3.3.5 停止容器
docker stop 容器名或容器ID
3.3.6 删除容器

(运行中的容器不能删除)

docker rm 容器名或容器ID 
3.3.7 将容器保存为镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY]:[TAG]

OPTIONS说明:

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

$ docker commit 容器名 镜像名:tag

3.4 docker网络设置

3.4.1 Docker基本网络
Docker安装后自动创建3种网络:bridge、host、none

Docker在启动时会开启一个虚拟网桥设备docker0,默认的地址为172.17.0.1/16,容器启动后都会被桥接到docker0上,并自动分配到一个ip地址。

bridge 桥接网络模式:
1、为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,默认为该模式
2、为容器分配独立IP,具有很好的网络隔离性,服务不会跟宿主机上的服务发送端口冲突问题
3、主机和容器间通过桥接的方式进行通信
4、只能单机使用,不适合跨主机docker服务间通信
host 主机本地网络模式:
1、docker容器共享主机的ip、端口号等等网络资源,如果单机部署
2、只能单机使用,不适合跨主机docker服务间通信
3、这种网络模式效率最高
overlay 集群网络模式:
多节点集群下统一分配服务独立ip
跨机器节点上的docker服务间能互相通信
支持主机节点和集群网络内的节点间互相通信
支持节点间加密通信 注:windows机器节点不支持加密通信
添加网桥,创建容器时可以指定网桥,不使用默认网桥
docker network ls            #查看所有网络
docker network inspect 网络   #查看网络的相关信息

#自定义创建的默认default bridge   

docker network create --driver bridge --subnet 192.168.1.1/24 --gateway 192.168.1.1 mynet #自定义创建一个网络mynet

docker network rm 网络id  #删除网络

4.Docker封装Centos7大数据环境

4.1 编写Dockerfile

Pull一个centos7镜像,在此镜像基础上安装ssh服务,开放端口,上传jdk、hadoop等组件等操作,封装成hadoop大数据环境

4.1.2 编写第一个dockerfile,封装一个新的镜像
# 选择一个已有的os镜像作为基础  
FROM centos:7
# 安装openssh-server和sudo软件包  
RUN yum install -y --nogpgcheck openssh-server sudo
#安装openssh-clients
RUN yum install -y --nogpgcheck openssh-clients
# 修改ssh配置文件,方便后面通过root用户进行ssh远程登录
RUN sed -i 's/ GSSAPIAuthentication yes /#GSSAPIAuthentication yes/g' /etc/ssh/sshd_config
RUN sed -i 's/ GSSAPICleanupCredentials no /#GSSAPICleanupCredentials no/g' /etc/ssh/sshd_config

#安装initscripts,方便 ip addr 查询网络状态
RUN yum install -y --nogpgcheck initscripts

#安装防火墙 
RUN yum install firewalld -y

#安装which  hadoop版本号查看需要用到  
RUN yum install which -y

#mysql 初始化报错 ,缺少libnuma.so.1情况,缺啥补啥 
RUN yum install numactl -y
RUN yum install libaio -y
RUN yum install libnuma.so.1 -y


# 添加用户root,密码123,并且将此用户添加到sudoers里  
RUN echo "root:123" | chpasswd
RUN echo "root   ALL=(ALL)       ALL" >> /etc/sudoers

# 启动sshd服务并且暴露22端口  
RUN mkdir /var/run/sshd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
RUN mkdir /opt/{software,module}
#封装:docker build -t"centos-ssh-root" . 

编辑好脚本后,使用build命令开始运行

格式:docker build -t”镜像名称” .

docker build -t"centos-ssh-root" .

运行效果:ubuntu和centos7,ubuntu,docker,大数据,ubuntu,docker,大数据

查看创建的镜像:

ubuntu和centos7,ubuntu,docker,大数据,ubuntu,docker,大数据

4.1.3 编写第二个Dockerfile,上传所需环境包,再次封装成一个新的镜像

封装的系统只是完成了ssh服务的安装,开放22端口,配置root用户。并没有达到大数据环境的使用要求,接下来在这个封装好的系统上,再进行封装,上传大数据环境需要的组件

#软件包根据自己所需的填写
FROM centos-ssh-root
COPY apache-flume-1.9.0-bin.tar.gz /opt/software/
COPY apache-hive-3.1.2-bin.tar.gz /opt/software/
COPY flink-1.14.0-bin-scala_2.12.tgz /opt/software/
COPY hadoop-3.1.3.tar.gz /opt/software/
COPY hbase-2.2.3-bin.tar.gz /opt/software/
COPY jdk-8u162-linux-x64.tar.gz /opt/software/
COPY kafka_2.12-2.4.1.tgz /opt/software/
COPY maxwell-1.29.0.tar.gz /opt/software/
COPY redis-6.2.6.tar.gz /opt/software/
COPY scala-2.12.0.tgz /opt/software/
COPY spark-3.1.1-bin-hadoop3.2.tgz /opt/software/
COPY clickhouse-21.9.4.35 /opt/software/
COPY mysql /opt/software/
COPY zookeeper-3.4.6.tar.gz /opt/software/
COPY sqoop-1.4.2.bin__hadoop-2.0.0-alpha.tar.gz /opt/software/

#封装:docker build -t"bigdata" . 

编辑好脚本后,使用build命令开始运行

格式:docker build -t”镜像名称” .

docker build -t"bigdata" .

运行效果:ubuntu和centos7,ubuntu,docker,大数据,ubuntu,docker,大数据

查看新封装的镜像:

ubuntu和centos7,ubuntu,docker,大数据,ubuntu,docker,大数据

4.2 Hadoop配置容器启动:

集群规划,一主两从

master:

docker run -id --name master --hostname master --net mynet --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup -P -p 50070:50070 -p 8088:8088 bigdata /usr/sbin/init

slave1:

docker run -id --name slave1 --hostname slave1 --net mynet --privileged=true -P bigdata /usr/sbin/init

slave2:

docker run -id --name slave2 --hostname slave2 --net mynet --privileged=true -P bigdata /usr/sbin/init

查看创建情况:ubuntu和centos7,ubuntu,docker,大数据,ubuntu,docker,大数据

#docker端口映射(略)

iptables -t nat -vnL  #查看端口映射

iptables -t nat -A DOCKER -p tcp --dport 8089 -j DNAT --to-destination 192.168.12.10:8088  #添加端口映射

iptables -t nat -vnL DOCKER --line-number #显示端口行号

iptables -t nat -D DOCKER {行号}  #删除规则

进入容器:

docker exec -it master bash

结果:ubuntu和centos7,ubuntu,docker,大数据,ubuntu,docker,大数据

完成文章来源地址https://www.toymoban.com/news/detail-798359.html

到了这里,关于Ubuntu基础配置+Docker配置和使用+容器化centos7大数据环境准备的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux(CentOS7)下如何配置多个Tomcat容器?

    1、安装jdk(yum install 安装) 查看是否系统是否自带jdk并卸载 其中,GCJ是GNU的Java编译器,可以把java程序编译成本地代码,编译成功后的可执行文件不再需要jre就可直接运行,编译成本地后的程序运行速度有所提高,缺点是生成后的文件较大。 如果存在自带的jdk相关套件,就需

    2024年02月11日
    浏览(31)
  • CentOS7系统Nvidia Docker容器基于TensorFlow2.12测试GPU

    CentOS7系统Nvidia Docker容器基于TensorFlow1.15测试GPU  参考我的另一篇博客 1. 版本依赖对应关系:从源代码构建  |  TensorFlow GPU 版本 Python 版本 编译器 构建工具 cuDNN CUDA tensorflow-2.6.0 3.6-3.9 GCC 7.3.1 Bazel 3.7.2 8.1 11.2 tensorflow-2.5.0 3.6-3.9 GCC 7.3.1 Bazel 3.7.2 8.1 11.2 tensorflow-2.4.0 3.6-3.8 GCC 7.

    2024年02月15日
    浏览(39)
  • Docker基础——Centos7安装Docker

    Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道。 官方网站上有各种环境下的 安装指南,这里主要介绍 Docker CE 在 CentOS上的安装。 Docker CE 支持 64 位版

    2024年02月09日
    浏览(34)
  • Docker的数据管理及端口映射与容器互联(使用centos镜像)

    目录 Docker数据管理 1.数据卷 2.数据卷容器 Docker端口映射 Docker容器互联 管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。         数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数

    2024年02月12日
    浏览(43)
  • 在Ubuntu操作系统和centos7上安装docker环境的详细步骤

    Ubuntu操作系统安装Docker环境步骤: 如果输出“Hello from Docker!”则表示Docker已经成功安装。 CentOS7安装Docker环境步骤: 如果输出“Hello from Docker!”则表示Docker已经成功安装。

    2024年02月05日
    浏览(98)
  • Selenium技术在CentOS6.8系统的腾讯云服务器上的docker镜像的Ubuntu容器里的相关使用(Linux环境下)

    一开始看标题,我知道你们会很懵,我当初完成的时候,我自己也很懵,主要是想在Linux环境下使用Selenium技术来完成一些工作,本来打算用docker创建一个Anaconda的容器来用Selenium技术的,但发现无法通过chrome驱动来驱动谷歌浏览器,所以我又用docker创建了一个Ubuntu容器来使用

    2024年02月03日
    浏览(72)
  • Centos7 配置Docker镜像加速器

    docker实战(一):centos7 yum安装docker docker实战(二):基础命令篇 docker实战(三):docker网络模式(超详细) docker实战(四):docker架构原理 docker实战(五):docker镜像及仓库配置 docker实战(六):docker 网络及数据卷设置 docker实战(七):docker 性质及版本选择 认知升维: 道、法、术、器、势   daemon.json

    2024年02月12日
    浏览(37)
  • centos7、ubuntu、openkylin、ky10Server等系统docker安装mysql、redis

    默认密码都是 123456 mysql确认    redis确认    

    2024年02月13日
    浏览(48)
  • centos7 docker开启认证的远程端口2376配置

    docker开启2375会存在安全漏洞 暴露了2375端口的Docker主机。因为没有任何加密和认证过程,知道了主机IP以后,,任何人都可以管理这台主机上的容器和镜像,以前贪图方便,只开启了没有认证的docker2375端口,后来被黑客通过这个端口推送了一个挖矿木马病毒的镜像并运行,所

    2024年02月03日
    浏览(28)
  • CentOS7中安装docker并配置阿里云加速器

    参考:https://docs.docker.com/engine/install/centos 本文内容是基于:CentOS Linux release 7.9.2009 (Core)实操。 登录阿里云后,搜索 容器镜像服务 ,如下图: 配置daemon.json   登录你的阿里云服务器,执行以下脚本,意思就是把镜像加速器的地址配置到 /etc/docker/daemon.json ,当然你不习惯的

    2024年02月17日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包