1.ubuntu 基礎(chǔ)配置
環(huán)境:ubuntu 18.04
大數(shù)據(jù)技術(shù)與應用賽項平臺環(huán)境
安裝完Ubuntu之后,除了需要新建用戶、設(shè)置密碼之外,我們還要設(shè)置root密碼,雖然Ubuntu默認有root超級管理員賬戶,但是具體的密碼我們可以自行設(shè)置
1.1設(shè)置root密碼:
1.啟動Ubuntu
啟動Ubuntu,有圖形界面的,啟動終端即可
2.終端輸入sudo passwd root
sudo passwd root
驗證測試:
驗證:輸入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
# 預發(fā)布軟件源,不建議啟用
# 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界面,使用戶可以輕松地管理和監(jiān)控多臺服務器的配置。
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 更新系統(tǒng)里的所有的能更新的軟件
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:是用來驗證軟件的真?zhèn)?——防偽的
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 再次更新系統(tǒng)
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安裝的時候自帶設(shè)置啟動,所以直接查看進程是否啟動就可以了
ps aux|grep 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狀態(tài)
#查看docker容器
docker ps #查看當前運行的容器
docker ps -a #查看所有容器
docker rm -f $(docker ps -aq) #刪除所有容器
docker images #查看docker鏡像
#導入鏡像包,兩者都會恢復為鏡像
docker load < /home/hj/大數(shù)據(jù)比賽環(huán)境包/bigdata.tar
docker load -i < /home/hj/大數(shù)據(jù)比賽環(huán)境包/bigdata.tar
#導入容器包,兩者都會恢復為鏡像
docker import 路徑
#刪除鏡像(鏡像有創(chuàng)建過容器則需要刪除容器才可以刪除鏡像)
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
結(jié)果:
參數(shù) | 含義 |
---|---|
REPOSITORY | 鏡像所在的倉庫名稱 |
TAG | 鏡像標簽(版本) |
IMAGEID | 鏡像ID |
CREATED | 鏡像的創(chuàng)建日期(不是獲取該鏡像的日期) |
SIZE | 鏡像大小 |
3.2.2 搜索鏡像
docker search 鏡像名
3.2.3 拉取鏡像
要想獲取某個鏡像,我們可以使用pull命令,從倉庫中拉取鏡像到本地。
如果下載鏡像時不指定標簽,則默認會下載倉庫中最新版本的鏡像,即選擇標簽為 latest 標簽。
docker pull 倉庫名稱/標簽
3.2.4 刪除鏡像
鏡像有創(chuàng)建過容器則需要刪除容器才可以刪除鏡像(或者直接強制刪除)
#普通刪除
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 創(chuàng)建容器
docker run [option] 鏡像名:tag [向啟動容器中傳入的命令]
常用可選參數(shù)說明:
參數(shù) | 意義 |
---|---|
-i | 表示以“交互模式”運行容器 |
-t | 表示容器啟動后會進入其命令行。加入這兩個參數(shù)后,容器創(chuàng)建就能登錄進去。即分配一個偽終端。 |
–name | 為創(chuàng)建的容器命名 |
-v | 表示目錄映射關(guān)系(前者是宿主機目錄,后者是映射到宿主機上的目錄,即 宿主機目錄:容器中目錄),可以使用多個-v 做多個目錄或文件映射。注意:最好做目錄映射,在宿主機上做修改,然后 共享到容器上。 |
-d | 在run后面加上-d參數(shù),則會創(chuàng)建一個守護式容器在后臺運行(這樣創(chuàng)建容器后不 會自動登錄容器,如果只加-i -t 兩個參數(shù),創(chuàng)建后就會自動進去容器)。 |
-p | 表示端口映射,前者是宿主機端口,后者是容器內(nèi)的映射端口。可以使用多個-p 做多個端口映射 |
-e | 為容器設(shè)置環(huán)境變量 |
–network | 指定網(wǎng)橋 |
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指令來創(chuàng)建鏡像;
-m :提交時的說明文字;
-p :在commit時,將容器暫停。
$ docker commit 容器名 鏡像名:tag
3.4 docker網(wǎng)絡設(shè)置
3.4.1 Docker基本網(wǎng)絡
Docker安裝后自動創(chuàng)建3種網(wǎng)絡:bridge、host、none
Docker在啟動時會開啟一個虛擬網(wǎng)橋設(shè)備docker0,默認的地址為172.17.0.1/16,容器啟動后都會被橋接到docker0上,并自動分配到一個ip地址。
bridge 橋接網(wǎng)絡模式: |
---|
1、為每一個容器分配、設(shè)置IP等,并將容器連接到一個docker0虛擬網(wǎng)橋,默認為該模式 |
2、為容器分配獨立IP,具有很好的網(wǎng)絡隔離性,服務不會跟宿主機上的服務發(fā)送端口沖突問題 |
3、主機和容器間通過橋接的方式進行通信 |
4、只能單機使用,不適合跨主機docker服務間通信 |
host 主機本地網(wǎng)絡模式: |
---|
1、docker容器共享主機的ip、端口號等等網(wǎng)絡資源,如果單機部署 |
2、只能單機使用,不適合跨主機docker服務間通信 |
3、這種網(wǎng)絡模式效率最高 |
overlay 集群網(wǎng)絡模式: |
---|
多節(jié)點集群下統(tǒng)一分配服務獨立ip |
跨機器節(jié)點上的docker服務間能互相通信 |
支持主機節(jié)點和集群網(wǎng)絡內(nèi)的節(jié)點間互相通信 |
支持節(jié)點間加密通信 注:windows機器節(jié)點不支持加密通信 |
添加網(wǎng)橋,創(chuàng)建容器時可以指定網(wǎng)橋,不使用默認網(wǎng)橋
docker network ls #查看所有網(wǎng)絡
docker network inspect 網(wǎng)絡 #查看網(wǎng)絡的相關(guān)信息
#自定義創(chuàng)建的默認default bridge
docker network create --driver bridge --subnet 192.168.1.1/24 --gateway 192.168.1.1 mynet #自定義創(chuàng)建一個網(wǎng)絡mynet
docker network rm 網(wǎng)絡id #刪除網(wǎng)絡
4.Docker封裝Centos7大數(shù)據(jù)環(huán)境
4.1 編寫Dockerfile
Pull一個centos7鏡像,在此鏡像基礎(chǔ)上安裝ssh服務,開放端口,上傳jdk、hadoop等組件等操作,封裝成hadoop大數(shù)據(jù)環(huán)境
4.1.2 編寫第一個dockerfile,封裝一個新的鏡像
# 選擇一個已有的os鏡像作為基礎(chǔ)
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 查詢網(wǎng)絡狀態(tài)
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" .
運行效果:
查看創(chuàng)建的鏡像:
4.1.3 編寫第二個Dockerfile,上傳所需環(huán)境包,再次封裝成一個新的鏡像
封裝的系統(tǒng)只是完成了ssh服務的安裝,開放22端口,配置root用戶。并沒有達到大數(shù)據(jù)環(huán)境的使用要求,接下來在這個封裝好的系統(tǒng)上,再進行封裝,上傳大數(shù)據(jù)環(huán)境需要的組件
#軟件包根據(jù)自己所需的填寫
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" .
運行效果:
查看新封裝的鏡像:
4.2 Hadoop配置容器啟動:
集群規(guī)劃,一主兩從
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
查看創(chuàng)建情況:
#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 {行號} #刪除規(guī)則
進入容器:
docker exec -it master bash
結(jié)果:文章來源:http://www.zghlxwxcb.cn/news/detail-798359.html
完成文章來源地址http://www.zghlxwxcb.cn/news/detail-798359.html
到了這里,關(guān)于Ubuntu基礎(chǔ)配置+Docker配置和使用+容器化centos7大數(shù)據(jù)環(huán)境準備的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!