版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
任務(wù)1.1認(rèn)知大數(shù)據(jù),完成系統(tǒng)環(huán)境搭建任務(wù)實(shí)施新建虛擬機(jī)時(shí),此虛擬機(jī)內(nèi)存設(shè)置4G,磁盤大小使用40G任務(wù)實(shí)施(1)安裝CentOS系統(tǒng)(確保CentOS系統(tǒng)版本在7及以上,以便配合后續(xù)Docker安裝)。①
在VMware中設(shè)置CentOS7鏡像,進(jìn)入后選擇第一項(xiàng)安裝CentOS7,如圖所示。②在新打開頁面中設(shè)置時(shí)間(DATE&TIME),分配磁盤(INSTALLATIONDESTINATION)和網(wǎng)絡(luò)設(shè)置(NETWORK&HOSTNAME)等,如圖所示。③單擊“INSTALLATIONDESTINATION”鏈接,在打開的界面中選擇“Iwillconfigurepartitioning”選項(xiàng),然后單擊“Done”按鈕,跳轉(zhuǎn)到分配磁盤頁面即可進(jìn)行磁盤分配,如圖1-10所示。點(diǎn)擊加號(hào),swap設(shè)置為內(nèi)存的1-2倍(4-8G),boot設(shè)置為512MB-1024MB,home設(shè)置為6-10G,剩下的全給“根/”目錄單擊“NETWORK&HOSTNAME”鏈接,可以進(jìn)行網(wǎng)絡(luò)和主機(jī)名稱設(shè)置,如圖所示。④單擊圖1-9安裝設(shè)置頁面中的“BeginInstallation”按鈕,在新打開界面中分別設(shè)置root賬戶密碼和創(chuàng)建普通用戶,如圖所示。在創(chuàng)建用戶界面,勾選第一個(gè)選項(xiàng),可將創(chuàng)建的用戶設(shè)置為管理員,單擊“Done”按鈕,完成創(chuàng)建操作。安裝操作完成后,單擊“Reboot”按鈕重啟操作系統(tǒng),如圖所示。⑤在用戶登錄提示后,輸入設(shè)置的賬號(hào)和密碼,進(jìn)入CentOS系統(tǒng),如圖所示。(2)CentOS中常用命令的使用①常用文件和目錄操作命令有“cd”“l(fā)s”“l(fā)l”“mkdir”“rm”“cp”“touch”“pwd”“mv”“vi”等。命令“cd”用于切換當(dāng)前工作目錄,操作命令及結(jié)果如下。[root@CentOS~]#cd/usr/[root@CentOSusr]#命令“l(fā)s”用于顯示指定工作目錄中的內(nèi)容(列出當(dāng)前工作目錄所含的文件及子目錄),操作命令及結(jié)果如下。[root@CentOSusr]#lsbinetcgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“l(fā)l”用于顯示指定工作目錄中的內(nèi)容(列出當(dāng)前工作目錄所含的文件及子目錄,包含隱藏目錄),操作命令及結(jié)果如下。[root@CentOSusr]#lltotal116dr-xr-xr-x.2rootroot24576Feb612:33bindrwxr-xr-x.2rootroot6Apr112018etcdrwxr-xr-x.2rootroot6Apr112018gamesdrwxr-xr-x.35rootroot4096Feb515:08includedr-xr-xr-x.29rootroot4096Feb2514:54libdr-xr-xr-x.41rootroot20480Feb515:56lib64drwxr-xr-x.23rootroot4096Feb515:56libexecdrwxr-xr-x.15rootroot175Feb2514:55localdr-xr-xr-x.2rootroot16384Feb612:33sbindrwxr-xr-x.79rootroot4096Feb515:56sharedrwxr-xr-x.4rootroot34Feb512:37srclrwxrwxrwx.1rootroot10Feb512:37tmp->../var/tmp命令“mkdir”用于建立目錄的子目錄,操作命令及結(jié)果如下。[root@CentOSusr]#mkdirfiles[root@CentOSusr]#lsbinetcfilesgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“touch”用于建立一個(gè)新的文件,操作命令及結(jié)果如下。[root@CentOSusr]#touchfiles.txt[root@CentOSusr]#lsbinetcfilesfiles.txtgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“rm”用于刪除一個(gè)文件,操作命令及結(jié)果如下。[root@CentOSusr]#rmfiles.txtrm:removeregularemptyfile‘files.txt’?yes[root@CentOSusr]#lsbinetcfilesgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“rm-r”用于刪除一個(gè)文件或目錄(可以包含多個(gè)子文件),操作命令及結(jié)果如下。[root@CentOSusr]#rm-rfiles/rm:removedirectory‘files/’?yes[root@CentOSusr]#lsbinetcgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“cp”用于復(fù)制文件或目錄,操作命令及結(jié)果如下。[root@CentOSusr]#touchfiles.txt[root@CentOSusr]#cpfiles.txtFILE.txt[root@CentOSusr]#lsbinetcfiles.txtFILE.txtgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“pwd”用于顯示當(dāng)前工作路徑,操作命令及結(jié)果如下。[root@CentOSusr]#pwd/usr命令“mv”用于為文件或目錄改名,或?qū)⑽募蚰夸浺浦疗渌恢茫僮髅罴敖Y(jié)果如下。[root@CentOSusr]#mvfiles.txtfiles02.txt[root@CentOSusr]#lsbinetcfiles02.txtFILE.txtgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“vi”用于使用vi編輯器打開指定文件(vi編輯器中常用參數(shù)有i、I、A、?、:q、:wq、:q!)。參數(shù)“i”用于從光標(biāo)當(dāng)前位置進(jìn)入編輯狀態(tài)。參數(shù)“I”用于從光標(biāo)當(dāng)前所在行最前位置進(jìn)入編輯狀態(tài)。參數(shù)“A”用于從光標(biāo)當(dāng)前所在行最后位置進(jìn)入編輯狀態(tài)。參數(shù)“?”用于查找指定內(nèi)容所在位置,找到后按N表示向下查找,按n表示向上查找。參數(shù)“:q”用于在沒有任何修改操作的情況下退出vi編輯器。參數(shù)“:q!”用于強(qiáng)行退出vi編輯器。參數(shù)“:wq”用于在進(jìn)行編輯后保存并退出vi編輯器。②常用文件權(quán)限修改命令有“sudo”“chmod”“chown”等。命令“sudo”用于以系統(tǒng)管理員的身份執(zhí)行指令,操作命令及結(jié)果如下。[user01@CentOSusr]$mkdirstudentmkdir:cannotcreatedirectory‘student’:Permissiondenied[user01@CentOSusr]$sudomkdirstudent[sudo]passwordforuser01:[user01@CentOSusr]$lsbinetcfiles02.txtFILE.txtgamesincludeliblib64
libexeclocalsbinsharesrcstudenttmp命令“chmod”用于更改指定文件或目錄擁有的權(quán)限,如將student目錄更改為777權(quán)限,操作命令及結(jié)果如下。
[root@CentOSusr]#chmod777student/[root@CentOSusr]#lltotal116dr-xr-xr-x.2rootroot24576Feb612:33bindrwxr-xr-x.35rootroot4096Feb515:08includedr-xr-xr-x.29rootroot4096Feb2514:54libdrwxrwxrwx.2rootroot6Mar1314:40student命令“chown”用于更改指定文件或目錄的用戶擁有者,例如,將student目錄擁有者和擁有組從root更改為指定的用戶和用戶組,操作命令及結(jié)果如下。[root@CentOSusr]#chown-Ruser01:user01student/[root@CentOSusr]#lltotal116dr-xr-xr-x.2rootroot24576Feb612:33bindrwxr-xr-x.35rootroot4096Feb515:08includedr-xr-xr-x.29rootroot4096Feb2514:54libdrwxrwxrwx.2user01user016Mar1314:40student③常用下載與壓縮命令有“tar”“yuminstall”等。命令“tar”用于解壓tar.gz類型的壓縮文件,操作命令及結(jié)果如下。[root@CentOSopt]#tar-zxvf
jdk-8u341-linux-x64.tar.gz-C/usr/lib[root@CentOSlib]#lsdebuggrubmodprobe.dpython2.7systemddracutjdk1.8.0_341modulesrpmtmpfiles.d命令“yuminstall”能夠從指定的服務(wù)器自動(dòng)下載相應(yīng)軟件包,執(zhí)行命令完成會(huì)看到“Complete”字樣的提示信息,此處以安裝“vim”為例,操作命令如下:[root@CentOS~]#yuminstall-yvim可以為系統(tǒng)更換國內(nèi)yum源,首先通過yum安裝軟件wget,操作命令如下。[root@CentOS~]#yuminstall-ywget然后切換目錄到“/etc/yum.repo.d/”目錄下,并通過mv對本地默認(rèn)yum源“CentOS-Base.repo”進(jìn)行備份,操作命令如下。[root@CentOSyum.repos.d]#mvCentOS-Base.repoCentOS-Base.repo.bak通過wget軟件,執(zhí)行“wget-O/etc/yum.repo.d/CentOS-Base.repohttps://mirrors.ali/repo/Centos-7.repo”命令更換yum源,此處以更換阿里云yum源為例,操作命令及結(jié)果如下。[root@CentOSyum.repos.d]#wget-O/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repo--2023-03-1306:56:43--https://mirrors.aliyun.com/repo/Centos-7.repoResolvingmirrors.aliyun.com(mirrors.aliyun.com)...84,1,01,...Connectingtomirrors.aliyun.com(mirrors.aliyun.com)|84|:443...connected.HTTPrequestsent,awaitingresponse...200OKLength:2523(2.5K)[application/octet-stream]Savingto:'/etc/yum.repos.d/CentOS-Base.repo'100%[=======================>]2,523--.-K/sin0.01s2023-03-1306:56:43(220KB/s)-'/etc/yum.repos.d/CentOS-Base.repo'saved[2523/2523][root@CentOSyum.repos.d]#換源后,執(zhí)行“yumcleanall”清除yum源緩存,并執(zhí)行“yummakecache”生成緩存,等待提示MetadataCacheCreated,操作命令及部分結(jié)果如下。[root@CentOSyum.repos.d]#yumcleanallLoadedplugins:fastestmirror,ovlCleaningrepos:baseextrasupdatesCleaninguplistoffastestmirrors[root@CentOSyum.repos.d]#yummakecache
Loadedplugins:fastestmirror,ovlDeterminingfastestmirrors④靜態(tài)ip設(shè)置和遠(yuǎn)程連接。通過“ipaddr”命令查看自動(dòng)分配的ip,此處ip為58,如圖所示。修改靜態(tài)ip需要執(zhí)行“vi/etc/sysconfig/network-scripts/ifcfg-ens33”命令,查看ifcfg-ens33文件,修改BOOTPROTO的值為static,ONBOOT的值為yes,并分別添加IP,子網(wǎng)掩碼,網(wǎng)關(guān),DNS1和DNS2,修改完成后,按“Esc”鍵返回命令模式,輸入“:wq!”保存修改并退出,具體修改后“ifcfg-ens33”(注意此處的ifcfg-ens**操作時(shí)數(shù)字部分可能會(huì)略有不同)文件內(nèi)容如下。BOOTPROTO="static"ONBOOT="yes"IPADDR=58NETMASK=GATEWAY=DNS1=DNS2=保存退出后,重啟網(wǎng)絡(luò)服務(wù),操作命令及結(jié)果如下。[root@CentOS~]#servicenetworkrestartRestartingnetwork(viasystemctl):[OK]在windows上可以通過網(wǎng)絡(luò)下載Xshell等遠(yuǎn)程登錄工具,以便可以遠(yuǎn)程登錄CentOS系統(tǒng),啟動(dòng)遠(yuǎn)程軟件并新建會(huì)話,通過設(shè)置會(huì)話的名稱和要連接的主機(jī)IP,默認(rèn)連接端口為22號(hào)端口,設(shè)置遠(yuǎn)程登錄參數(shù),如圖所示。單擊“確定”按鈕后,在新打開的界面中填寫要登錄的用戶名稱和密碼,再次單擊“確定”按鈕,即可實(shí)現(xiàn)遠(yuǎn)程登錄系統(tǒng),如圖所示。02安裝docker任務(wù)1.2
Docker安裝及基礎(chǔ)命令任務(wù)實(shí)施1.在CentOS系統(tǒng)中安裝Docker(1)設(shè)置Docker存儲(chǔ)庫和相關(guān)配置執(zhí)行“yum”命令安裝相關(guān)軟件包,分別是gcc,gcc-c++,yum-utils,操作命令如下。[root@CentOS~]#yuminstall-yyum-utils[root@CentOS~]#yuminstall-ygcc[root@CentOS~]#yuminstall-ygcc-c++隨后,Docker的鏡像倉庫設(shè)置成國內(nèi)的鏡像倉庫,便于后續(xù)從倉庫拉取鏡像,執(zhí)行“yum-config-manager--add-repo/docker-ce/linux/centos/docker-ce.repo”,操作命令及結(jié)果如下。[root@CentOS~]#yum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loadedplugins:fastestmirroraddingrepofrom:https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repograbbingfilehttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoto/etc/yum.repos.d/docker-ce.reporeposavedto/etc/yum.repos.d/docker-ce.repo執(zhí)行“yummakecachefast”更新yum索引,操作命令及結(jié)果如下。[root@CentOS~]#yummakecache
fastLoadedplugins:fastestmirrorLoadingmirrorspeedsfromcachedhostfile*base:mirrors.aliyun.com*extras:mirrors.aliyun.com*updates:mirrors.aliyun.combase|3.6kB00:00:00docker-ce-stable|3.5kB00:00:00extras|2.9kB00:00:00updates|2.9kB00:00:00隨后通過“yuminstalldocker-cedocker-ce-clicontainerd.iodocker-compose-plugin”命令安裝docker-ce,等待片刻,docker即可安裝成功,操作命令及結(jié)果如下。[root@CentOS~]#yuminstalldocker-cedocker-ce-cli
containerd.iodocker-compose-pluginLoadedplugins:fastestmirrorLoadingmirrorspeedsfromcachedhostfile安裝成功后,因?yàn)镈ocker的運(yùn)行需要用到各種端口,為避免防火墻的存在對操作過程產(chǎn)生影響,所以在啟動(dòng)Docker前,需要先執(zhí)行“systemctlstopfirewalld”命令用于關(guān)閉防火墻,然后執(zhí)行“systemctlstatusfirewalld”命令用于查看防火墻的運(yùn)行狀態(tài)。如果查看到狀態(tài)信息顯示“inactive(dead)”字樣,表示防火墻已經(jīng)關(guān)閉,操作命令及結(jié)果如下。[root@CentOS~]#systemctlstopfirewalld[root@CentOS~]#systemctlstatusfirewalld●firewalld.service-firewalld-dynamicfirewalldaemonLoaded:loaded(/usr/lib/systemd/system/firewalld.service;enabled;vendorpreset:enabled)Active:inactive(dead)sinceMon2023-03-1323:37:59CST;17sagoDocs:man:firewalld(1)Process:714ExecStart=/usr/sbin/firewalld--nofork--nopid$FIREWALLD_ARGS(code=exited,status=0/SUCCESS)MainPID:714(code=exited,status=0/SUCCESS)執(zhí)行“systemctldisablefirewalld”命令,用于禁止防火墻開機(jī)自啟動(dòng),操作命令及結(jié)果如下。[root@CentOS~]#systemctldisablefirewalldRemovedsymlink/etc/systemd/system/multi-user.target.wants/firewalld.service.Removedsymlink/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.隨后,可以通過命令“systemctlstartdocker”來啟動(dòng)Docker,啟動(dòng)后可以執(zhí)行“systemctlstatusdocker”命令查看Docker的運(yùn)行狀態(tài),查看狀態(tài)信息可以看到“active(running)”字樣,表示Docker正常啟動(dòng),操作命令及結(jié)果如下。[root@CentOS~]#systemctlstartdocker[root@CentOS~]#systemctlstatusdocker●docker.service-DockerApplicationContainerEngineLoaded:loaded(/usr/lib/systemd/system/docker.service;enabled;vendorpreset:disabled)Active:active(running)sinceMon2023-03-1315:33:49CST;1h54minagoDocs:MainPID:1219(dockerd)(2)測試Docker首先,使用“dockerversion”查看Docker版本,操作命令及結(jié)果如下。查看Docker版本[root@CentOS~]#dockerversionClient:DockerEngine-CommunityVersion:23.0.0APIversion:1.42Goversion:go1.19.5Gitcommit:e92dd87Built:WedFeb117:49:022023OS/Arch:linux/amd64
containerd:Version:1.6.16
GitCommit:31aa4358a36870b21a992d3ad2bef29e1d693bec
runc:Version:1.1.4
GitCommit:v1.1.4-0-g5fd4c4ddocker-init:Version:0.19.0
GitCommit:de40ad0其次,執(zhí)行“dockerrunhello-world”命令,運(yùn)行Docker的樣例測試,如果在運(yùn)行結(jié)果中可以看到“HellofromDocker!”,即表示Docker安裝成功,操作命令及結(jié)果如下。[root@CentOS~]#dockerrunhello-worldUnabletofindimage'hello-world:latest'locallylatest:Pullingfromlibrary/hello-world2db29710123e:PullcompleteDigest:sha256:2498fce14358aa50ead0cc6c19990fc6ff866ce72aeb5546e1d59caac3d0d60fStatus:Downloadednewerimageforhello-world:latest
HellofromDocker!(3)Docker的卸載執(zhí)行“systemctlstopdocker”命令,停止正在運(yùn)行的Docker服務(wù),操作命令及結(jié)果如下。[root@CentOS~]#systemctlstopdockerWarning:Stoppingdocker.service,butitcanstillbeactivatedby:docker.socket隨后,通過執(zhí)行“
yumremovecontainerd.iodocker-*”命令,卸載Docker及相關(guān)軟件,如圖所示。最后,通過執(zhí)行“rm-rf/var/lib/docker”命令,刪除Docker殘余文件,執(zhí)行“rm-rf/var/lib/containerd”命令,刪除本地已存在的容器文件夾。學(xué)習(xí)Docker基本命令前,可以將當(dāng)前普通用戶加入Docker組里,若不添加或者不用sudo則會(huì)報(bào)錯(cuò)權(quán)限不足,添加后普通用戶使用Docker命令時(shí),就不用每次都在命令前加上sudo了,操作命令及結(jié)果如下。2.Docker常用命令(1)Docker基礎(chǔ)命令啟動(dòng)Docker的命令:systemctlstartdocker停止Docker的命令:systemctlstopdocker重啟Docker的命令:systemctlrestartdocker查看Docker狀態(tài)的命令::systemctlstatusdocker設(shè)置Docker開機(jī)自啟動(dòng)的命令:systemctlenabledocker查看Docker概要信息的命令:dockerinfo查看Docker總體幫助文檔的命令:docker--help查看Docker命令幫助文檔的命令:docker具體命令--help(2)Docker相關(guān)鏡像操作的命令①列出本地主機(jī)上鏡像的命令為:dockerimages[options],[options]為可選參數(shù),常用參數(shù)有:“-a”,表示列出所有本地鏡像;“-q”,表示只顯示鏡像ID(IMAGEID)相關(guān)操作命令的結(jié)果如下。[user01@CentOSroot]$dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEhello-worldlatestfeb5d9fea6a517monthsago13.3kB[user01@CentOSroot]$dockerimages-aREPOSITORYTAGIMAGEIDCREATEDSIZEhello-worldlatestfeb5d9fea6a517monthsago13.3kB[user01@CentOSroot]$dockerimages-qfeb5d9fea6a5[user01@CentOSroot]$dockerimages-qafeb5d9fea6a5對“dockerimages”命令執(zhí)行結(jié)果的解釋如表所示。表”dockerimages”命令執(zhí)行結(jié)果的解釋注意:TAG項(xiàng)用來代表同一個(gè)倉庫源中鏡像的不同版本
,可以使用REPOSITORY:TAG來指定鏡像的版本,若不指定,默認(rèn)拉取最新版本(lasted)②查找Docker鏡像的命令為:dockersearch[options]鏡像名稱,其中[options]為可選項(xiàng),常用的參數(shù)有“l(fā)imitN”,表示列出N個(gè)鏡像,默認(rèn)為25個(gè),“dockersearch”命令的執(zhí)行結(jié)果如圖所示。圖docker鏡像查找對“dockersearch”命令執(zhí)行結(jié)果的解釋如表所示。表
“dockersearch”命令執(zhí)行結(jié)果的解釋③Docker鏡像下載的命令為:dockerpull鏡像名稱:TAG,操作命令及結(jié)果如下。[user01@CentOSroot]$dockerpullcentos:77:Pullingfromlibrary/centos2d473b07cdd5:PullcompleteDigest:sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4Status:Downloadednewerimageforcentos:7docker.io/library/centos:7如果下載鏡像時(shí)不指定標(biāo)簽,則默認(rèn)會(huì)下載倉庫中最新版本的鏡像,即選擇標(biāo)簽為latest標(biāo)簽。④Docker鏡像刪除的命令如下:刪除一個(gè)鏡像時(shí):Dockerrmi-f鏡像名稱/鏡像ID;刪除全部鏡像時(shí):Dockerrmi-f$(dockerimages-qa)。刪除多個(gè)鏡像時(shí):Dockerrmi-f鏡像名1:TAG1鏡像名2:TAG2或Dockerrmi-f鏡像ID1鏡像ID2,多個(gè)鏡像間使用空格分隔,如圖所示。(3)新建Docker容器的命令①創(chuàng)建一個(gè)新的Docker容器但不啟動(dòng)的命令為:dockercreate[options]IMAGE[COMMAND][ARG...]。②創(chuàng)建一個(gè)Docker容器并運(yùn)行它的命令為:dockerrun[options]IMAGE[COMMAND][ARG...]其中,options的常用參數(shù)如下:-d后臺(tái)運(yùn)行容器,并返回容器ID-i以交互模式運(yùn)行容器,通常和-t同時(shí)使用-P隨機(jī)端口映射,容器內(nèi)部端口隨機(jī)映射到主機(jī)端口-p指定端口映射,格式為主機(jī)端口:容器端口-t為容器重新分配一個(gè)偽輸入終端,通常與-i同時(shí)使用--name名稱為容器指定一個(gè)名稱-h主機(jī)名稱指定容器的hostname--network=網(wǎng)橋名讓容器加入指定網(wǎng)橋操作命令及結(jié)果如下。(4)Docker啟動(dòng)和停止的命令
①啟動(dòng)Docker的命令為:dockerstart容器ID/容器名稱
②停止Docker的螟蛉畏:dockerstop容器ID/容器名稱Docker啟動(dòng)和停止命令及對應(yīng)執(zhí)行結(jié)果如下。[user01@CentOSroot]$dockerstarttesttest[user01@CentOSroot]$dockerstoptesttest(5)進(jìn)入和退出Docker的命令
①進(jìn)入Docker第一種方式的命令為:dockerexec-i-t容器ID/名稱/bin/bash
②進(jìn)入Docker第二種方式的命令為:dockerattach容器ID/名稱
③退出方式:輸入“exit”命令或者使用“ctrl+p+q”組合鍵exec用exit退出時(shí),不停止容器,attach用exit退出時(shí),停止容器。操作命令及結(jié)果如下。(6)查看和刪除Docker的命令①查看運(yùn)行中的容器的命令為:dockerps②查看所有容器的命令為:dockerps-a。命令“dockerps”和命令“dockerps-a”的執(zhí)行結(jié)果如下。[user01@CentOSroot]$dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESf7faef83894ecentos:7"/bin/bash"3minutesagoUp58secondstest[user01@CentOSroot]$dockerps-aCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES00a37b5567c4centos:7"/bin/bash"2minutesagoCreatedtest02f7faef83894ecentos:7"/bin/bash"3minutesagoUpAboutaminutetest③刪除未啟動(dòng)的容器的命令為:dockerrm容器ID/名稱。
④強(qiáng)制刪除容器的命令為:dockerrm-f容器ID/名稱。該命令也可以用于刪除啟動(dòng)中的容器。以上兩種命令的執(zhí)行結(jié)果如下。[user01@CentOSroot]$dockerrmtest02test02[user01@CentOSroot]$dockerrm-ftesttest03安裝部署Hadoop環(huán)境任務(wù)1.3
Hadoop環(huán)境搭建任務(wù)實(shí)施1.單機(jī)模式的安裝與配置(1)安裝JDK在Xshell登錄root用戶,在CentOS上輸入“systemtclstartdocker”啟動(dòng)docker,然后執(zhí)行“systemctlstatusdocker”命令,檢查Docker的狀態(tài),如圖所示。確認(rèn)docker啟動(dòng)后,需要執(zhí)行命令“dockerpullcentos:7”拉取centos7鏡像,操作命令及結(jié)果如下。Centos7鏡像下載完成后,需要執(zhí)行“dockerrun-dit-h主機(jī)名
–name容器名–privileged=truecentos:7init”命令,啟動(dòng)后進(jìn)入docker容器,操作命令及結(jié)果如下。[root@CentOS~]#dockerrun-dit-hhadoop--namehadoop--privileged=truecentos:7initb8228a5e9603df7b16714854be992b0f88b2693a9d666fef26bfaabc08377586Hadoop是使用Java編寫的,所以需要安裝Java環(huán)境。將Centos中準(zhǔn)備好的TAR包,通過“dockercp宿主機(jī)TAR包存儲(chǔ)路徑容器名稱:容器存儲(chǔ)路徑”命令,將jdk拷貝到相應(yīng)的容器中,操作命令及結(jié)果如下。進(jìn)入目標(biāo)Docker容器的存儲(chǔ)目錄中查看軟件包,并執(zhí)行“tar-zxvfjdk-8u341-linux-x64.tar.gz-C/usr/lib”命令,解壓Java的TAR包,操作命令如下。[root@CentOS~]#dockerexec-ithadoopbash[root@hadoop/]#cd/opt[root@hadoopopt]#lshadoop-2.7.7.tar.gzjdk-8u341-linux-x64.tar.gz[root@hadoopopt]#tar-zxvfjdk-8u341-linux-x64.tar.gz-C/usr/lib解壓之后,切換到解壓目錄,重命名jdk文件夾名稱為jdk1.8.0,操作命令及結(jié)果如下。[root@hadoop/]#cd/usr/lib查看解壓文件是否存在
[root@hadooplib]#lsbinfmt.dfirewalldgrubkernelmodules-load.dpython2.7sse2tunedcppfirmwarejdk1.8.0_341localeNetworkManagerrpmsysctl.dudevdebuggameskbd
modprobe.dos-releasesendmail
systemdyum-plugins
dracutgcckdumpmodulespolkit-1sendmail.postfixtmpfiles.d重命名
[root@hadooplib]#mvjdk1.8.0_341jdk1.8.0[root@hadooplib]#lsbinfmt.dfirewalldgrubkernelmodules-load.dpython2.7sse2tunedcppfirmwarejdk1.8.0localeNetworkManagerrpmsysctl.dudevdebuggameskbd
modprobe.dos-releasesendmail
systemdyum-plugins
dracutgcckdumpmodulespolkit-1sendmail.postfixtmpfiles.d執(zhí)行“vi~/.bashrc”命令,編輯用戶環(huán)境變量,在.bashrc文件最后添加配置如下:exportJAVA_HOME=/usr/lib/jdk1.8.0PATH=$PATH:$JAVA_HOME/bin執(zhí)行“source~/.bashrc”命令,使新配置的環(huán)境變量立即生效,并執(zhí)行“java-version”命令,驗(yàn)證java安裝是否成功,操作命令及結(jié)果如下。[root@hadooplib]#source~/.bashrc[root@hadooplib]#java-versionjavaversion"1.8.0_341"Java(TM)SERuntimeEnvironment(build1.8.0_341-b10)JavaHotSpot(TM)64-BitServerVM(build25.341-b10,mixedmode)(2)安裝Hadoop2.7.7首先,在Docker容器的存儲(chǔ)目錄中執(zhí)行“tar-zxvfhadoop-2.7.7.tar.gz-C/usr/local”命令,對Hadoop進(jìn)行解壓,并切換目錄為解壓目錄,重命名hadoop-2.7.7為hadoop,操作命令及結(jié)果如下。[root@hadoopopt]#tar-zxvfhadoop-2.7.7.tar.gz-C/usr/local[root@hadooplib]#cd/usr/local/[root@hadooplocal]#lsbinetcgameshadoop-2.7.7hbaseincludeliblib64
libexec
sbinsharesrc[root@hadooplocal]#mvhadoop-2.7.7hadoop[root@hadooplocal]#lsbinetcgameshadoophbaseincludeliblib64
libexec
sbinsharesrc其次,執(zhí)行“vi~/.bashrc”命令,配置用戶環(huán)境變量,在文件最后添加配置如下:exportHADOOP_HOME=/usr/local/hadoopPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin執(zhí)行“source~/.bashrc”命令,使新配置的環(huán)境變量立即生效。(3)配置Hadoop執(zhí)行“cd/usr/local/hadoop/etc/hadoop”命令,切換到hadoop目錄中,執(zhí)行“vimhadoop-env.sh”命令,操作命令如下。[root@hadooplocal]#cd/usr/local/hadoop/etc/hadoop/[root@hadoophadoop]#vihadoop-env.sh此時(shí),vi編輯器處于“命令”模式,在英文輸入狀態(tài)下,按下并釋放“i”鍵,切換vi編輯器為“插入”模式,找到“#exportJAVA_HOME=${JAVA_HOME},若有“#”,將注釋符號(hào)“#”去掉,并設(shè)置好JDK路徑,如圖所示。配置SSH免密登錄SSH為SecureShell的縮寫,由IETF的網(wǎng)絡(luò)小組所制定。SSH為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用SSH協(xié)議可以有效地防止遠(yuǎn)程管理過程中的信息泄露問題。先為Docker容器設(shè)置root密碼,執(zhí)行“passwd”命令,此處密碼設(shè)置為123456,操作命令及結(jié)果如下。[root@hadoop~]#passwdChangingpasswordforuserroot.Newpassword:BADPASSWORD:Thepasswordisshorterthan8charactersRetypenewpassword:passwd:allauthenticationtokensupdatedsuccessfully.通過yum安裝openssh,openssh-server,openssh-clients,which,net-tools軟件包,操作命令如下。[root@hadoop/]#yuminstall-ywhichopenssh
openssh-serveropenssh-clientsnet-tools執(zhí)行“systemctlstartsshd”命令,開啟SSH,操作命令如下。[root@hadoophadoop]#systemctlstartsshd執(zhí)行命令“cd~/.ssh”,切換當(dāng)前路徑為ssh目錄,執(zhí)行命令“ssh-keygen-trsa",生成密鑰后,執(zhí)行命令“catid_rsa.pub>>authorized_keys”,將公鑰追加到authorized_keys中,實(shí)現(xiàn)SSH免密登錄配置。操作命令如下。[root@hadoop.ssh]#ssh-keygen-trsa[root@hadoop.ssh]#catid_rsa.pub>>authorized_keys執(zhí)行命令“sshlocalhost”,驗(yàn)證配置是否生效,操作命令及結(jié)果如下。[root@hadoop.ssh]#sshlocalhostLastlogin:MonMar1308:27:432023fromlocalhost[root@hadoop~]#(5)驗(yàn)證Hadoop單機(jī)模式是否安裝成功執(zhí)行“start-all.sh”啟動(dòng)hadoop服務(wù),并通過“jps”命令查看當(dāng)前進(jìn)程,操作命令及結(jié)果如下。[root@hadoop~]#start-all.sh[root@hadoop~]#jps906ResourceManager1179NodeManager1291Jps在Hadoop單機(jī)模式下,進(jìn)程中并沒有NameNode、DataNode等守護(hù)進(jìn)程。執(zhí)行Hadoop自帶的hadoop-mapreduce-examples-2.7.7.jar程序,驗(yàn)證單機(jī)模式配置是否生效。在HDFS中創(chuàng)建input目錄,即執(zhí)行命令“hadoopdfs-mkdirinput”,操作命令及結(jié)果如下。[root@hadoop~]#hadoopdfs-mkdirinputDEPRECATED:Useofthisscripttoexecutehdfscommandisdeprecated.Insteadusethehdfscommandforit.在本地目錄中創(chuàng)建一個(gè)wordcount.txt文件,文件內(nèi)容為“hellohadoop”“hellojava”“helloworld”,該文件內(nèi)容可以自行設(shè)定,注意,單詞間需要用“空格”隔開,具體操作如下。[root@hadoop~]#vi
wordcount.txt文本內(nèi)容如下
hellohadoophellojavahelloworld將編輯好的wordcount.txt文件保存并退出,并將其上傳到HDFS的input目錄中,執(zhí)行命令“hadoopdfs-copyFromLocal/usr/local/hadoop/wordcount.txtinput”,操作命令及結(jié)果如下。
[root@hadoop~]#hadoopdfs-copyFromLocal
/usr/local/hadoop/wordcount.txtinputDEPRECATED:Useofthisscripttoexecutehdfscommandisdeprecated.Insteadusethehdfscommandforit.這里以運(yùn)行hadoop-mapreduce-examples-2.7.7.jar為例進(jìn)行說明,執(zhí)行命令“hadoopjar/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jarwordcountinputoutput”,使用Hadoop自帶的例子hadoop-mapreduce-examples-2.7.7.jar,在input中以空格分割統(tǒng)計(jì)字詞的個(gè)數(shù),操作命令如下。[root@hadoop~]#hadoopjar/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jarwordcountinputoutput因?yàn)樵趓oot用戶的主目錄進(jìn)行的操作,所以直接可以看到生成的output目錄,output目錄中產(chǎn)生了2個(gè)文件,通過“cat”命令查看文件內(nèi)容,操作命令及結(jié)果如下。[root@hadoop~]#lsanaconda-ks.cfginputoutputwordcount.txt[root@hadoop~]#cdoutput/[root@hadoopoutput]#ls_SUCCESSpart-r-00000[root@hadoopoutput]#cat./part-r-00000hadoop1hello3java1world1程序執(zhí)行成功,說明Hadoop單機(jī)模式安裝與配置成功。2.偽分布式模式的安裝與配置(1)創(chuàng)建有端口映射的docker容器在宿主機(jī),執(zhí)行“dockerrun-dit-hmaster--namemaster-p50070:50070--privileged=truecentos:7init”命令運(yùn)行docker容器,操作命令如下。[root@CentOS~]#dockerrun-dit-hmaster--namemaster-p50070:50070--privileged=truecentos:7init(2)設(shè)置密碼,安裝JDK、Hadoop以及相關(guān)軟件設(shè)置密碼,通過yum安裝openssh,openssh-clients,openssh-server,net-tools,which。隨后,安裝JDK、Hadoop并配置環(huán)境變量(步驟詳見單機(jī)模式的安裝與配置)。
驗(yàn)證master免密登錄,具體操作及結(jié)果如下。[root@master.ssh]#sshmaster[root@master~]#exitlogoutConnectiontomasterclosed.(3)配置SSH免密登錄在當(dāng)前目錄中執(zhí)行命令“ssh-keygen–trsa”,生成密鑰對,執(zhí)行命令“ssh-copy-idmaster”。將公鑰復(fù)制到master的authorized_keys文件中,具體操作及結(jié)果如下。[root@master/]#systemctlstartsshd[root@master/]#ssh-keygen-trsa[root@master/]#ssh-copy-idmaster切換到“~/.ssh”目錄下,執(zhí)行命令“l(fā)s”,查看生成的認(rèn)證文件,具體操作及結(jié)果如下。[root@master/]#cd~/.ssh[root@master.ssh]#lsauthorized_keysid_rsaid_rsa.pubknown_hosts(3)Hadoop配置進(jìn)入/usr/local/hadoop/etc/hadoop中,執(zhí)行命令“vicore-site.xml”,并切換到編輯模式,配置core-site.xml文件,此處注意在“<value>/usr/local/hadoop/data/tmp</value>”配置項(xiàng)中的目錄需要手動(dòng)創(chuàng)建。配置結(jié)束后,按下“Esc”鍵,退出編輯模式,并輸入“:wq”鍵后按下“Enter”鍵保存并退出,編輯“core-site.xml”內(nèi)容如下。<configuration><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop/data/tmp</value></property></configuration>在/usr/local/Hadoop/etc/hadoop目錄下,執(zhí)行命令“vihdfs-site.xml”,并切換到編輯模式,配置hdfs-site.xml文件,此處注意在“<value>/usr/local/hadoop/data/tmp/name</value>”和“<value>/usr/local/hadoop/data/tmp/data</value>”配置項(xiàng)中的目錄需要手動(dòng)創(chuàng)建。配置結(jié)束后,按下“Esc”鍵,退出編輯模式,輸入“:wq”鍵后按下“Enter”鍵保存并退出,編輯“hdfs-site.xml”內(nèi)容如下。<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>/usr/local/hadoop/data/tmp/name</value></property><property><name>dfs.datanode.name.dir</name><value>/usr/local/hadoop/data/tmp/data</value></property></configuration>在/usr/local/Hadoop/etc/hadoop目錄下,拷貝“mapred-site.xml.template”文件,創(chuàng)建新文件mapred-site.xml后,執(zhí)行命令“vimapred-site.xml”,并切換到編輯模式,配置mapred-site.xml文件,配置結(jié)束后,輸入“:wq”鍵后按下“Enter”鍵保存并退出。編輯“mapred-site.xml”內(nèi)容如下。[root@masterhadoop]#cpmapred-site.xml.templatemapred-site.xml[root@masterhadoop]#vi
mapred-site.xmlMapred-site.xml內(nèi)容如下<configuration><property><name>map</name><value>yarn</value></property></configuration>在/usr/local/Hadoop/etc/hadoop目錄下,執(zhí)行命令“viyarn-site.xml”,并切換到編輯模式,配置yarn-site.xml文件,配置結(jié)束后,按下“Esc”鍵,退出編輯模式,并輸入“:wq”鍵后按下“Enter”鍵保存并退出,編輯“yarn-site.xml”內(nèi)容如下。<configuration><!--SitespecificYARNconfigurationproperties--><property><name>yarn.nodemanager.aux_services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.hostname</name><value>localhost</value></property></configuration>(4)格式化HDFS切換到Hadoop的安裝目錄,執(zhí)行命令“./bin/hdfsnamenode-format”,格式化節(jié)點(diǎn),如果在返回的信息中看到“Exitingwithstatus0”,則表示執(zhí)行格式化成功。操作命令及結(jié)果如下。[root@masterhadoop]#./bin/hdfs
namenode-format23/03/1312:03:18INFOutil.ExitUtil:Exitingwithstatus023/03/1312:03:18INFOnamenode.NameNode:SHUTDOWN_MSG:/************************************************************SHUTDOWN_MSG:ShuttingdownNameNodeatmaster/************************************************************/(5)驗(yàn)證測試在任意目錄中,執(zhí)行命令“start-all.sh”,啟動(dòng)hadoop集群,操作命令如下。[root@masterhadoop]#start-all.sh執(zhí)行“jps”命令查看進(jìn)程,操作命令及結(jié)果如下。[root@masterhadoop]#jps257NameNode921NodeManager381DataNode1086Jps543SecondaryNameNode703ResourceManager與單機(jī)模式比對,在偽分布式模式進(jìn)程中有“NameNode”、“DataNode”等守護(hù)進(jìn)程。測試HDFS和YARN,在Windows瀏覽器地址欄中輸入“http://docker宿主機(jī)IP:50070”,進(jìn)入HDFS信息界面,如圖所示。如果該頁面可以成功運(yùn)行,說明Hadoop偽分布式模式的安裝與配置成功。3.集群模式的安裝與配置在Hadoop集群模式的安裝與配置中,Hadoop集群架構(gòu)如圖所示。如果之前已經(jīng)運(yùn)行過偽分布式模式,則建議在切換到集群模式之前,先刪除之前的偽分布模式下生成的臨時(shí)文件。(1)創(chuàng)建網(wǎng)橋
為了后續(xù)hadoop集群規(guī)劃在同一個(gè)網(wǎng)段里,需要執(zhí)行“dockernetworkcreate--subnet/24--gateway=網(wǎng)橋名稱”來建立自定義網(wǎng)橋,操作命令及結(jié)果如下。[root@CentOS~]#dockernetworkcreate--subnet=/24--gateway=hadoop1d4d5fde4ad0d08ab50afa1fdf4eb10302541d66a04562c7036c48c2cf2b6b56(2)創(chuàng)建并運(yùn)行容器①需要?jiǎng)?chuàng)建三個(gè)容器,實(shí)現(xiàn)一主二從的集群配置,執(zhí)行“dockerrun-dit-hmaster1--namemaster1--network=網(wǎng)橋名稱-p50070:50070-p8088:8088--privileged=truecentos:7init”。創(chuàng)建master1后,退出容器并執(zhí)行“dockerrun-dit-hslaveX--nameslaveX--network=網(wǎng)橋名--privileged=truecentos:7init”以創(chuàng)建slave容器。操作命令及結(jié)果如下。創(chuàng)建master1[root@CentOS~]#dockerrun-dit-hmaster--namemaster--network=hadoop--ip=--privileged=true-p50070:50070-p8088:8088centos:7init創(chuàng)建slave1[root@CentOS~]#dockerrun-dit-hslave1--nameslave1--network=hadoop--ip=--privileged=true-p8089:8088centos:7init創(chuàng)建slave2[root@CentOS~]#dockerrun-dit-hslave2--nameslave2--network=hadoop--ip=--privileged=true-p8090:8088centos:7init②三臺(tái)容器都建立后,查看是否已加入網(wǎng)橋,執(zhí)行“dockernetworkinspect網(wǎng)橋名稱”命令查看結(jié)果,如圖所示。(3)基礎(chǔ)配置
①傳輸所需安裝包,需要在docker宿主機(jī)執(zhí)行“dockercp/opt/XXX.tar.gz容器名稱:目標(biāo)存儲(chǔ)路徑”,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)村干部先進(jìn)事跡(6篇)
- 銷售類實(shí)習(xí)報(bào)告模板錦集五篇
- DB12T 509-2014 地稅辦稅服務(wù)廳服務(wù)規(guī)范
- 中秋節(jié)向全體員工的慰問信(12篇)
- 計(jì)算周長課件教學(xué)課件
- 責(zé)任演講稿集錦七篇
- DB12∕T 1058-2021 河湖健康評估技術(shù)導(dǎo)則
- 探求防止初中英語兩極分化的有效策略
- 探究論文:淺談高中數(shù)學(xué)課堂教學(xué)中的探究式教學(xué)
- 影響數(shù)學(xué)成績的15個(gè)壞習(xí)慣
- 幼兒園課件:獨(dú)孤癥譜系障礙兒童融合教育的特殊教育需要
- 《高延性混凝土加固技術(shù)規(guī)程》DB64-T1746-2020
- DL/T 5352-2018 高壓配電裝置設(shè)計(jì)規(guī)范
- 初級經(jīng)濟(jì)師(初級建筑與房地產(chǎn)經(jīng)濟(jì))題庫【重點(diǎn)】
- 化驗(yàn)室安全操作
- MOOC 攝影藝術(shù)創(chuàng)作-中國傳媒大學(xué) 中國大學(xué)慕課答案
- MOOC 電子線路設(shè)計(jì)、測試與實(shí)驗(yàn)(一)-華中科技大學(xué) 中國大學(xué)慕課答案
- 設(shè)備-往復(fù)式壓縮機(jī)結(jié)構(gòu)原理
- 大型活動(dòng)策劃方案流程
- 2024年特種設(shè)備作業(yè)人員技能考試-場(廠)內(nèi)專用機(jī)動(dòng)車輛作業(yè)筆試歷年真題薈萃含答案
- 智慧口岸查驗(yàn)系統(tǒng)整體解決方案
評論
0/150
提交評論