Ubuntu-Docker安装和使用

Dcker安装使用及大数据集群搭建

    • 安装VMwareTools
  • Docker
    • docker安装
    • docker基本命令
      • 查看信息
      • 创建容器
      • 启动容器
      • 初始化容器内root密码
      • 进入正在运行的容器
      • 查看容器
      • 删除容器
      • 文件拷贝
  • 大数据集群搭建
    • 创建docker网桥
    • 创建base容器
      • 安装必要的工具
      • 安装ssh
      • 设置时区
      • 上传软件安装包到容器
      • 安装JDK
      • 安装hadoop
        • 修改配置文件
      • 打包容器生成镜像
    • 创建master,slave容器
    • 安装spark
    • 安装flink
    • 安装mysql
    • 安装hive
    • 安装zookeeper
    • 安装kafka
    • 安装flume
    • 安装maxwell
    • 安装hbase
    • 安装redis
    • 安装clickhouse
    • 时间同步
    • 安装IDEA
    • 安装pycharm

更新源

apt update

如果出现错误:

(appstreamcli:6174): GLib-ERROR **: 02:35:15.404: g_variant_new_parsed: 11-13:invalid GVariant format string
Trace/breakpoint trap (core dumped)
Reading package lists… Done
E: Problem executing scripts APT::Update::Post-Invoke-Success ‘if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null; fi’
E: Sub-process returned an error code

解决:重新安装libappstream4

sudo apt install --reinstall libappstream4

换源

换成国内镜像,下载速度更快,更全面

备份原source.list文件

cp /etc/apt/sources.list /etc/apt/sources.list.bak

删除source.list重新创建,写入阿里源

rm /etc/apt/sources.list
vi /etc/apt/sources.list

根据系统不同版本选择对应的源,否则可能出现无法认证等错误信息

适用于ubuntu16.04

deb https://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

适用于ubuntu18.04

deb http://mirrors.aliyun.com/ubuntu bionic main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-updates main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu bionic-backports main multiverse restricted universe

适用于ubuntu20.04

deb http://mirrors.aliyun.com/ubuntu focal main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu focal-updates main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu focal-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu focal-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu focal-backports main multiverse restricted universe

更新源

sudo apt update

安装tar命令

apt install tar

ubuntu默认没有启用root用户,需要设置root用户密码以激活root账户

sudo passwd root

Ubuntu-Docker安装和使用_第1张图片

安装VMwareTools

VM Tools 可以轻松实现主机和虚拟机之间鼠标的自由切换,复制、移动、共享文件,支持自由拖拽等等。

1.点击虚拟机,安装VM Tools,安装过则显示重新安装VMTools
2.进入Ubuntu文件系统,将VMTools压缩包复制到桌面,因为在那个目录解压不能创建文件,会解压失败
3.进入桌面目录解压VM压缩包

tar -zxvf VMwareTools-X.X.X-590212.tar.gz

Ubuntu-Docker安装和使用_第2张图片

4.执行vmware-install.pl命令

sudo ./vmware-install.pl

过程中出现询问的一律yes,其他一律空格默认
Ubuntu-Docker安装和使用_第3张图片
出现下图文字则表示安装成功,同时你的窗口会变大
Ubuntu-Docker安装和使用_第4张图片

如果有小伙伴安装VM Tool后还是出现无法复制,拖拽文件等操作,可能是由于使用vmware提供的光盘安装导致出现问题

解决方式:安装Linux自带的VM Tool

1.卸载vmware tools

sudo vmware-uninstall-tools.pl

2.安装linux自带的vm-tools

sudo apt-get install open-vm-tools-desktop

3.重启

reboot

即可解决问题

Docker

docker安装

如果先前安装过则先把旧版本的docker删除干净

1.卸载旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc
rm -rf /var/lib/docker

2.更新源,下载所需要的安装包

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

3.下载docker的密钥

从官网下载gpg密钥进行解密后存入文件

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

4.添加docker源到系统中
有可能自带的源或其他源中没有包含docker,保险起见单独添加docker源,当然也可以跳过这一步,如果apt命令安装失败可以再操作添加源

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5.设置阿里云源镜像仓库

sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"

6.更新源,安装docker

默认安装最新 ce是社区版,ee是企业版

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

指定安装版本

创建临时变量保存版本信息

这里我安装的是20.10版本的 : 5:20.10.24~3-0~ubuntu-bionic

VERSION_STRING=5:20.10.24~3-0~ubuntu-bionic
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

测试是否成功安装

sudo docker run hello-world

该命令会下载hello-world镜像,创建容器并运行,成功后则会输出下图内容
出现下图内容则表示安装成功
Ubuntu-Docker安装和使用_第5张图片
设置阿里云镜像加速

国内访问dockerhub不稳定,将dockerhub的镜像拉取代理到阿里云镜像库以加速dockerhub镜像

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://axvfsf7e.mirror.aliyuncs.com"]
}
EOF
#重新加载某个服务的配置文件
sudo systemctl daemon-reload
#重启docker
sudo systemctl restart docker

设置docker开机自启

sudo systemctl enable docker && sudo systemctl start docker

docker基本命令

查看信息

#查看docker的版本信息
docker version 
#查看docker的系统信息,包括镜像、服务器地址和容器的数量
docker info
#查看docker镜像信息
docker images

在这里插入图片描述

#搜索镜像
docker search image_name
#下载镜像,默认最新
docker pull image_name[:tag]
docker pull centos:7

创建容器

docker run [options] --privileged=true image_name /usr/sbin/init
docker run -itd --privileged=true --name clusterbase centos:7 /usr/sbin/init

参数说明

--name :指定容器名字
--privileged:开启特权,以root身份创建容器并且指定/usr/sbin/init作为入口,否则不能访问内核,启动服务
-d :后台方式运行
-it :使用交互方式运行
-p :绑定主机端口和容器端口映射,可以绑定多个 -p … -p … -p …

exit:退出bash shell 会容器停止运行
ctrl+Q+P:不停止容器退出

启动容器

#启动容器
docker start 容器id 
#重启容器
docker restart 容器id 
#停止当前运行的容器
docker stop 容器id 
#强制停止当前容器
docker kill 容器id 

启动成功后会返回容器名,需要执行exec进入

容器开机自启

#设置容器开机自启动
docker update --restart=always 容器id
#关闭容器自启动
docker update --restart=no 容器id

初始化容器内root密码

passwd root

Ubuntu-Docker安装和使用_第6张图片

进入正在运行的容器

docker exec -it 容器id /bin/bash

查看容器

#查看当前运行的容器
docker ps 
# 查看创建的所有容器
docker ps -a
# 显示最近创建的n个容器
docker ps -n=?
# 只显示容器的编号
docker ps -q

删除容器

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

文件拷贝

#容器到主机
docker cp 容器id:容器内路径 目的主机路径
#主机到容器
docker cp 主机文件路径: 目的容器路径

docker run :根据镜像创建一个容器并运行一个命令,操作的对象是镜像;
docker exec :在运行的容器中执行命令,操作的对象是容器。

大数据集群搭建

创建docker网桥

docker network create --subnet=192.168.0.0/24 网络名
docker network create --subnet=192.168.0.0/24 cluster

24表示ip的前24位为固定,后8为可用,即192.168.0.1-192.168.0.254可用,cluster为network的名称

创建base容器

base容器是将集群共同的操作抽取出来,在base容器中先操作好,避免后续繁琐重复的操作

安装必要的工具

在这里插入代码片

安装ssh

安装openssh-server和openssh-clients

yum install openssh-server
yum install openssh-clients

修改sshd_config文件

设置时区

timedatectl set-timezone Asia/Shanghai

在这里插入图片描述

上传软件安装包到容器

安装JDK

安装hadoop

解压安装


修改配置文件

修改配置文件

指定namenode,datanode,resourcemanage等进程运行身份

在环境变量中添加:

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

或者在启动脚本里面添加变量

在start-dfs.sh,stop-dfs.sh顶部添加:

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

在start-yarn.sh,stop-yarn.sh文件顶部添加:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

打包容器生成镜像

将一些基础设施安装配置好后打包成镜像,便于slave的搭建

docker commit container_name image_name[:version_info]
docker commit master master:1.0

创建master,slave容器

创建容器-master

docker run -itd --name master --hostname master --network cluster --ip 192.168.0.10 -p 9870:9870 -p 19888:19888 -p 8020:8020 -p 10020:10020 --privileged=true cluster:base /usr/sbin/init 

创建容器-slave1

docker run -itd --name slave1 --hostname slave1 --network cluster --ip 192.168.0.11 -p 8088:8088 --privileged=true cluster:base /usr/sbin/init

创建容器-slave2

docker run -itd --name slave2 --hostname slave2 --network cluster --ip 192.168.0.12 -p 9868:9868  --privileged=true cluster:base /usr/sbin/init

安装spark

安装flink

安装mysql

这里采用mysql压缩包进行安装

解压目录推荐放在/usr/local/mysql,因为有些配置默认是/usr/local/mysql
安装好后添加mysql环境变量并重命名

tar -zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.41-linux-glibc2.12-x86_64 mysql

1.初始化数据库

mysql_install_db –user=mysql –basedir=/opt/mysql/mysql –datadir=/opt/mysql/data

安装hive

安装zookeeper

安装kafka

安装flume

安装maxwell

安装hbase

安装redis

安装clickhouse

时间同步

1️⃣1️⃣1️⃣1️⃣

安装IDEA

安装pycharm

你可能感兴趣的:(ubuntu,docker,linux)