版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
任務(wù)1.1認知大數(shù)據(jù),完成系統(tǒng)環(huán)境搭建任務(wù)實施新建虛擬機時,此虛擬機內(nèi)存設(shè)置4G,磁盤大小使用40G任務(wù)實施(1)安裝CentOS系統(tǒng)(確保CentOS系統(tǒng)版本在7及以上,以便配合后續(xù)Docker安裝)。①
在VMware中設(shè)置CentOS7鏡像,進入后選擇第一項安裝CentOS7,如圖所示。②在新打開頁面中設(shè)置時間(DATE&TIME),分配磁盤(INSTALLATIONDESTINATION)和網(wǎng)絡(luò)設(shè)置(NETWORK&HOSTNAME)等,如圖所示。③單擊“INSTALLATIONDESTINATION”鏈接,在打開的界面中選擇“Iwillconfigurepartitioning”選項,然后單擊“Done”按鈕,跳轉(zhuǎn)到分配磁盤頁面即可進行磁盤分配,如圖1-10所示。點擊加號,swap設(shè)置為內(nèi)存的1-2倍(4-8G),boot設(shè)置為512MB-1024MB,home設(shè)置為6-10G,剩下的全給“根/”目錄單擊“NETWORK&HOSTNAME”鏈接,可以進行網(wǎng)絡(luò)和主機名稱設(shè)置,如圖所示。④單擊圖1-9安裝設(shè)置頁面中的“BeginInstallation”按鈕,在新打開界面中分別設(shè)置root賬戶密碼和創(chuàng)建普通用戶,如圖所示。在創(chuàng)建用戶界面,勾選第一個選項,可將創(chuàng)建的用戶設(shè)置為管理員,單擊“Done”按鈕,完成創(chuàng)建操作。安裝操作完成后,單擊“Reboot”按鈕重啟操作系統(tǒng),如圖所示。⑤在用戶登錄提示后,輸入設(shè)置的賬號和密碼,進入CentOS系統(tǒng),如圖所示。(2)CentOS中常用命令的使用①常用文件和目錄操作命令有“cd”“l(fā)s”“l(fā)l”“mkdir”“rm”“cp”“touch”“pwd”“mv”“vi”等。命令“cd”用于切換當前工作目錄,操作命令及結(jié)果如下。[root@CentOS~]#cd/usr/[root@CentOSusr]#命令“l(fā)s”用于顯示指定工作目錄中的內(nèi)容(列出當前工作目錄所含的文件及子目錄),操作命令及結(jié)果如下。[root@CentOSusr]#lsbinetcgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“l(fā)l”用于顯示指定工作目錄中的內(nèi)容(列出當前工作目錄所含的文件及子目錄,包含隱藏目錄),操作命令及結(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”用于建立一個新的文件,操作命令及結(jié)果如下。[root@CentOSusr]#touchfiles.txt[root@CentOSusr]#lsbinetcfilesfiles.txtgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“rm”用于刪除一個文件,操作命令及結(jié)果如下。[root@CentOSusr]#rmfiles.txtrm:removeregularemptyfile‘files.txt’?yes[root@CentOSusr]#lsbinetcfilesgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“rm-r”用于刪除一個文件或目錄(可以包含多個子文件),操作命令及結(jié)果如下。[root@CentOSusr]#rm-rfiles/rm:removedirectory‘files/’?yes[root@CentOSusr]#lsbinetcgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“cp”用于復制文件或目錄,操作命令及結(jié)果如下。[root@CentOSusr]#touchfiles.txt[root@CentOSusr]#cpfiles.txtFILE.txt[root@CentOSusr]#lsbinetcfiles.txtFILE.txtgamesincludeliblib64
libexeclocalsbinsharesrctmp命令“pwd”用于顯示當前工作路徑,操作命令及結(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”用于從光標當前位置進入編輯狀態(tài)。參數(shù)“I”用于從光標當前所在行最前位置進入編輯狀態(tài)。參數(shù)“A”用于從光標當前所在行最后位置進入編輯狀態(tài)。參數(shù)“?”用于查找指定內(nèi)容所在位置,找到后按N表示向下查找,按n表示向上查找。參數(shù)“:q”用于在沒有任何修改操作的情況下退出vi編輯器。參數(shù)“:q!”用于強行退出vi編輯器。參數(shù)“:wq”用于在進行編輯后保存并退出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ù)器自動下載相應軟件包,執(zhí)行命令完成會看到“Complete”字樣的提示信息,此處以安裝“vim”為例,操作命令如下:[root@CentOS~]#yuminstall-yvim可以為系統(tǒng)更換國內(nèi)yum源,首先通過yum安裝軟件wget,操作命令如下。[root@CentOS~]#yuminstall-ywget然后切換目錄到“/etc/yum.repo.d/”目錄下,并通過mv對本地默認yum源“CentOS-Base.repo”進行備份,操作命令如下。[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è)置和遠程連接。通過“ipaddr”命令查看自動分配的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ù)字部分可能會略有不同)文件內(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等遠程登錄工具,以便可以遠程登錄CentOS系統(tǒng),啟動遠程軟件并新建會話,通過設(shè)置會話的名稱和要連接的主機IP,默認連接端口為22號端口,設(shè)置遠程登錄參數(shù),如圖所示。單擊“確定”按鈕后,在新打開的界面中填寫要登錄的用戶名稱和密碼,再次單擊“確定”按鈕,即可實現(xiàn)遠程登錄系統(tǒng),如圖所示。02安裝docker任務(wù)1.2
Docker安裝及基礎(chǔ)命令任務(wù)實施1.在CentOS系統(tǒng)中安裝Docker(1)設(shè)置Docker存儲庫和相關(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安裝成功后,因為Docker的運行需要用到各種端口,為避免防火墻的存在對操作過程產(chǎn)生影響,所以在啟動Docker前,需要先執(zhí)行“systemctlstopfirewalld”命令用于關(guān)閉防火墻,然后執(zhí)行“systemctlstatusfirewalld”命令用于查看防火墻的運行狀態(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”命令,用于禁止防火墻開機自啟動,操作命令及結(jié)果如下。[root@CentOS~]#systemctldisablefirewalldRemovedsymlink/etc/systemd/system/multi-user.target.wants/firewalld.service.Removedsymlink/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.隨后,可以通過命令“systemctlstartdocker”來啟動Docker,啟動后可以執(zhí)行“systemctlstatusdocker”命令查看Docker的運行狀態(tài),查看狀態(tài)信息可以看到“active(running)”字樣,表示Docker正常啟動,操作命令及結(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”命令,運行Docker的樣例測試,如果在運行結(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”命令,停止正在運行的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”命令,刪除本地已存在的容器文件夾。學習Docker基本命令前,可以將當前普通用戶加入Docker組里,若不添加或者不用sudo則會報錯權(quán)限不足,添加后普通用戶使用Docker命令時,就不用每次都在命令前加上sudo了,操作命令及結(jié)果如下。2.Docker常用命令(1)Docker基礎(chǔ)命令啟動Docker的命令:systemctlstartdocker停止Docker的命令:systemctlstopdocker重啟Docker的命令:systemctlrestartdocker查看Docker狀態(tài)的命令::systemctlstatusdocker設(shè)置Docker開機自啟動的命令:systemctlenabledocker查看Docker概要信息的命令:dockerinfo查看Docker總體幫助文檔的命令:docker--help查看Docker命令幫助文檔的命令:docker具體命令--help(2)Docker相關(guān)鏡像操作的命令①列出本地主機上鏡像的命令為: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項用來代表同一個倉庫源中鏡像的不同版本
,可以使用REPOSITORY:TAG來指定鏡像的版本,若不指定,默認拉取最新版本(lasted)②查找Docker鏡像的命令為:dockersearch[options]鏡像名稱,其中[options]為可選項,常用的參數(shù)有“l(fā)imitN”,表示列出N個鏡像,默認為25個,“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如果下載鏡像時不指定標簽,則默認會下載倉庫中最新版本的鏡像,即選擇標簽為latest標簽。④Docker鏡像刪除的命令如下:刪除一個鏡像時:Dockerrmi-f鏡像名稱/鏡像ID;刪除全部鏡像時:Dockerrmi-f$(dockerimages-qa)。刪除多個鏡像時:Dockerrmi-f鏡像名1:TAG1鏡像名2:TAG2或Dockerrmi-f鏡像ID1鏡像ID2,多個鏡像間使用空格分隔,如圖所示。(3)新建Docker容器的命令①創(chuàng)建一個新的Docker容器但不啟動的命令為:dockercreate[options]IMAGE[COMMAND][ARG...]。②創(chuàng)建一個Docker容器并運行它的命令為:dockerrun[options]IMAGE[COMMAND][ARG...]其中,options的常用參數(shù)如下:-d后臺運行容器,并返回容器ID-i以交互模式運行容器,通常和-t同時使用-P隨機端口映射,容器內(nèi)部端口隨機映射到主機端口-p指定端口映射,格式為主機端口:容器端口-t為容器重新分配一個偽輸入終端,通常與-i同時使用--name名稱為容器指定一個名稱-h主機名稱指定容器的hostname--network=網(wǎng)橋名讓容器加入指定網(wǎng)橋操作命令及結(jié)果如下。(4)Docker啟動和停止的命令
①啟動Docker的命令為:dockerstart容器ID/容器名稱
②停止Docker的螟蛉畏:dockerstop容器ID/容器名稱Docker啟動和停止命令及對應執(zhí)行結(jié)果如下。[user01@CentOSroot]$dockerstarttesttest[user01@CentOSroot]$dockerstoptesttest(5)進入和退出Docker的命令
①進入Docker第一種方式的命令為:dockerexec-i-t容器ID/名稱/bin/bash
②進入Docker第二種方式的命令為:dockerattach容器ID/名稱
③退出方式:輸入“exit”命令或者使用“ctrl+p+q”組合鍵exec用exit退出時,不停止容器,attach用exit退出時,停止容器。操作命令及結(jié)果如下。(6)查看和刪除Docker的命令①查看運行中的容器的命令為: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③刪除未啟動的容器的命令為:dockerrm容器ID/名稱。
④強制刪除容器的命令為:dockerrm-f容器ID/名稱。該命令也可以用于刪除啟動中的容器。以上兩種命令的執(zhí)行結(jié)果如下。[user01@CentOSroot]$dockerrmtest02test02[user01@CentOSroot]$dockerrm-ftesttest03安裝部署Hadoop環(huán)境任務(wù)1.3
Hadoop環(huán)境搭建任務(wù)實施1.單機模式的安裝與配置(1)安裝JDK在Xshell登錄root用戶,在CentOS上輸入“systemtclstartdocker”啟動docker,然后執(zhí)行“systemctlstatusdocker”命令,檢查Docker的狀態(tài),如圖所示。確認docker啟動后,需要執(zhí)行命令“dockerpullcentos:7”拉取centos7鏡像,操作命令及結(jié)果如下。Centos7鏡像下載完成后,需要執(zhí)行“dockerrun-dit-h主機名
–name容器名–privileged=truecentos:7init”命令,啟動后進入docker容器,操作命令及結(jié)果如下。[root@CentOS~]#dockerrun-dit-hhadoop--namehadoop--privileged=truecentos:7initb8228a5e9603df7b16714854be992b0f88b2693a9d666fef26bfaabc08377586Hadoop是使用Java編寫的,所以需要安裝Java環(huán)境。將Centos中準備好的TAR包,通過“dockercp宿主機TAR包存儲路徑容器名稱:容器存儲路徑”命令,將jdk拷貝到相應的容器中,操作命令及結(jié)果如下。進入目標Docker容器的存儲目錄中查看軟件包,并執(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”命令,驗證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容器的存儲目錄中執(zhí)行“tar-zxvfhadoop-2.7.7.tar.gz-C/usr/local”命令,對Hadoop進行解壓,并切換目錄為解壓目錄,重命名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此時,vi編輯器處于“命令”模式,在英文輸入狀態(tài)下,按下并釋放“i”鍵,切換vi編輯器為“插入”模式,找到“#exportJAVA_HOME=${JAVA_HOME},若有“#”,將注釋符號“#”去掉,并設(shè)置好JDK路徑,如圖所示。配置SSH免密登錄SSH為SecureShell的縮寫,由IETF的網(wǎng)絡(luò)小組所制定。SSH為建立在應用層基礎(chǔ)上的安全協(xié)議,專為遠程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用SSH協(xié)議可以有效地防止遠程管理過程中的信息泄露問題。先為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”,切換當前路徑為ssh目錄,執(zhí)行命令“ssh-keygen-trsa",生成密鑰后,執(zhí)行命令“catid_rsa.pub>>authorized_keys”,將公鑰追加到authorized_keys中,實現(xiàn)SSH免密登錄配置。操作命令如下。[root@hadoop.ssh]#ssh-keygen-trsa[root@hadoop.ssh]#catid_rsa.pub>>authorized_keys執(zhí)行命令“sshlocalhost”,驗證配置是否生效,操作命令及結(jié)果如下。[root@hadoop.ssh]#sshlocalhostLastlogin:MonMar1308:27:432023fromlocalhost[root@hadoop~]#(5)驗證Hadoop單機模式是否安裝成功執(zhí)行“start-all.sh”啟動hadoop服務(wù),并通過“jps”命令查看當前進程,操作命令及結(jié)果如下。[root@hadoop~]#start-all.sh[root@hadoop~]#jps906ResourceManager1179NodeManager1291Jps在Hadoop單機模式下,進程中并沒有NameNode、DataNode等守護進程。執(zhí)行Hadoop自帶的hadoop-mapreduce-examples-2.7.7.jar程序,驗證單機模式配置是否生效。在HDFS中創(chuàng)建input目錄,即執(zhí)行命令“hadoopdfs-mkdirinput”,操作命令及結(jié)果如下。[root@hadoop~]#hadoopdfs-mkdirinputDEPRECATED:Useofthisscripttoexecutehdfscommandisdeprecated.Insteadusethehdfscommandforit.在本地目錄中創(chuàng)建一個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.這里以運行hadoop-mapreduce-examples-2.7.7.jar為例進行說明,執(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)計字詞的個數(shù),操作命令如下。[root@hadoop~]#hadoopjar/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jarwordcountinputoutput因為在root用戶的主目錄進行的操作,所以直接可以看到生成的output目錄,output目錄中產(chǎn)生了2個文件,通過“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單機模式安裝與配置成功。2.偽分布式模式的安裝與配置(1)創(chuàng)建有端口映射的docker容器在宿主機,執(zhí)行“dockerrun-dit-hmaster--namemaster-p50070:50070--privileged=truecentos:7init”命令運行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)境變量(步驟詳見單機模式的安裝與配置)。
驗證master免密登錄,具體操作及結(jié)果如下。[root@master.ssh]#sshmaster[root@master~]#exitlogoutConnectiontomasterclosed.(3)配置SSH免密登錄在當前目錄中執(zhí)行命令“ssh-keygen–trsa”,生成密鑰對,執(zhí)行命令“ssh-copy-idmaster”。將公鑰復制到master的authorized_keys文件中,具體操作及結(jié)果如下。[root@master/]#systemctlstartsshd[root@master/]#ssh-keygen-trsa[root@master/]#ssh-copy-idmaster切換到“~/.ssh”目錄下,執(zhí)行命令“l(fā)s”,查看生成的認證文件,具體操作及結(jié)果如下。[root@master/]#cd~/.ssh[root@master.ssh]#lsauthorized_keysid_rsaid_rsa.pubknown_hosts(3)Hadoop配置進入/usr/local/hadoop/etc/hadoop中,執(zhí)行命令“vicore-site.xml”,并切換到編輯模式,配置core-site.xml文件,此處注意在“<value>/usr/local/hadoop/data/tmp</value>”配置項中的目錄需要手動創(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>”配置項中的目錄需要手動創(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é)點,如果在返回的信息中看到“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)驗證測試在任意目錄中,執(zhí)行命令“start-all.sh”,啟動hadoop集群,操作命令如下。[root@masterhadoop]#start-all.sh執(zhí)行“jps”命令查看進程,操作命令及結(jié)果如下。[root@masterhadoop]#jps257NameNode921NodeManager381DataNode1086Jps543SecondaryNameNode703ResourceManager與單機模式比對,在偽分布式模式進程中有“NameNode”、“DataNode”等守護進程。測試HDFS和YARN,在Windows瀏覽器地址欄中輸入“http://docker宿主機IP:50070”,進入HDFS信息界面,如圖所示。如果該頁面可以成功運行,說明Hadoop偽分布式模式的安裝與配置成功。3.集群模式的安裝與配置在Hadoop集群模式的安裝與配置中,Hadoop集群架構(gòu)如圖所示。如果之前已經(jīng)運行過偽分布式模式,則建議在切換到集群模式之前,先刪除之前的偽分布模式下生成的臨時文件。(1)創(chuàng)建網(wǎng)橋
為了后續(xù)hadoop集群規(guī)劃在同一個網(wǎng)段里,需要執(zhí)行“dockernetworkcreate--subnet/24--gateway=網(wǎng)橋名稱”來建立自定義網(wǎng)橋,操作命令及結(jié)果如下。[root@CentOS~]#dockernetworkcreate--subnet=/24--gateway=hadoop1d4d5fde4ad0d08ab50afa1fdf4eb10302541d66a04562c7036c48c2cf2b6b56(2)創(chuàng)建并運行容器①需要創(chuàng)建三個容器,實現(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②三臺容器都建立后,查看是否已加入網(wǎng)橋,執(zhí)行“dockernetworkinspect網(wǎng)橋名稱”命令查看結(jié)果,如圖所示。(3)基礎(chǔ)配置
①傳輸所需安裝包,需要在docker宿主機執(zhí)行“dockercp/opt/XXX.tar.gz容器名稱:目標存儲路徑”,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于2025年度市場調(diào)研數(shù)據(jù)之分析報告保密協(xié)議2篇
- 二零二五年度工廠搬遷及設(shè)施重建合同3篇
- 2024網(wǎng)絡(luò)安全保障服務(wù)外包合同
- 2025年度抵押借款房屋租賃期滿續(xù)約合同示范4篇
- 二零二五版校企合作實習實訓基地安全教育與保障協(xié)議3篇
- 2025年銷售渠道拓展勞動合同標準范本3篇
- 2025年度個人買賣房屋交易稅費結(jié)算及支付合同4篇
- 2025年度美容院連鎖經(jīng)營合作協(xié)議范本3篇
- 長沙航空職業(yè)技術(shù)學院《童話名篇研讀》2023-2024學年第一學期期末試卷
- 個人二手物品交易平臺服務(wù)協(xié)議(2024版)3篇
- 2024年采購代發(fā)貨合作協(xié)議范本
- 工業(yè)自動化設(shè)備維護保養(yǎng)指南
- 《向心力》參考課件4
- 2024至2030年中國膨潤土行業(yè)投資戰(zhàn)略分析及發(fā)展前景研究報告
- 【地理】地圖的選擇和應用(分層練) 2024-2025學年七年級地理上冊同步備課系列(人教版)
- (正式版)CB∕T 4552-2024 船舶行業(yè)企業(yè)安全生產(chǎn)文件編制和管理規(guī)定
- JBT 14588-2023 激光加工鏡頭 (正式版)
- 2024年四川省成都市樹德實驗中學物理八年級下冊期末質(zhì)量檢測試題含解析
- 廉潔應征承諾書
- 2023年四川省成都市中考物理試卷真題(含答案)
- 泵車述職報告
評論
0/150
提交評論