更新源
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
VM Tools 可以轻松实现主机和虚拟机之间鼠标的自由切换,复制、移动、共享文件,支持自由拖拽等等。
1.点击虚拟机,安装VM Tools,安装过则显示重新安装VMTools
2.进入Ubuntu文件系统,将VMTools压缩包复制到桌面,因为在那个目录解压不能创建文件,会解压失败
3.进入桌面目录解压VM压缩包
tar -zxvf VMwareTools-X.X.X-590212.tar.gz
4.执行vmware-install.pl命令
sudo ./vmware-install.pl
过程中出现询问的一律yes,其他一律空格默认
出现下图文字则表示安装成功,同时你的窗口会变大
如果有小伙伴安装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删除干净
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镜像,创建容器并运行,成功后则会输出下图内容
出现下图内容则表示安装成功
设置阿里云镜像加速
国内访问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 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
passwd root
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 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容器中先操作好,避免后续繁琐重复的操作
在这里插入代码片
安装openssh-server和openssh-clients
yum install openssh-server
yum install openssh-clients
修改sshd_config文件
timedatectl set-timezone Asia/Shanghai
解压安装
修改配置文件
指定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
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
这里采用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
1️⃣1️⃣1️⃣1️⃣