Hadoop平臺搭建與應用(第2版)(微課版) 課件 項目6-8 Hadoop HA集群搭建、Ambari搭建與集群管理、Hadoop平臺應用綜合案例_第1頁
Hadoop平臺搭建與應用(第2版)(微課版) 課件 項目6-8 Hadoop HA集群搭建、Ambari搭建與集群管理、Hadoop平臺應用綜合案例_第2頁
Hadoop平臺搭建與應用(第2版)(微課版) 課件 項目6-8 Hadoop HA集群搭建、Ambari搭建與集群管理、Hadoop平臺應用綜合案例_第3頁
Hadoop平臺搭建與應用(第2版)(微課版) 課件 項目6-8 Hadoop HA集群搭建、Ambari搭建與集群管理、Hadoop平臺應用綜合案例_第4頁
Hadoop平臺搭建與應用(第2版)(微課版) 課件 項目6-8 Hadoop HA集群搭建、Ambari搭建與集群管理、Hadoop平臺應用綜合案例_第5頁
已閱讀5頁,還剩138頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

任務6.1HadoopHA環(huán)境搭建任務實施1.配置靜態(tài)IP在宿主機中,創(chuàng)建自定義網(wǎng)橋,指定網(wǎng)段,網(wǎng)關,操作命令及結果如下。[root@CentOS~]#dockernetworkcreate--subnet=/24--gateway=HAf1bad6fa92064749b7e9df80ae3832fd0a33ba644b781c83b2d7da6510ea57232.Docker容器添加端口映射創(chuàng)建3個容器,并添加端口映射,操作命令如下。[root@CentOS~]#dockerrun-dit-hmaster1--namemaster1--network=HA--ip=0-p10022:22-p50070:50070-p8088:8088-p8042:8042-p2181:2181--privileged=truecentos:7init

[root@CentOS~]#dockerrun-dit-hslave1--nameslave1--network=HA--ip=1-p10023:22-p50071:50070-p8089:8088-p2182:2181-p8043:8042--privileged=truecentos:7init

[root@CentOS~]#dockerrun-dit-hslave2--nameslave2--network=HA--ip=2-p10024:22-p8090:8088-p2183:2181-p8044:8042--privileged=truecentos:7init3.拷貝安裝包到master1容器中,操作命令及結果如下。[root@CentOSopt]#dockercp/opt/hadoop-2.7.7.tar.gzmaster1:/optSuccessfullycopied218.7MBtomaster1:/opt[root@CentOSopt]#dockercp/opt/zookeeper-3.4.8.tar.gzmaster1:/optSuccessfullycopied22.26MBtomaster1:/opt[root@CentOSopt]#dockercp/opt/jdk-8u341-linux-x64.tar.gzmaster1:/optSuccessfullycopied148.2MBtomaster1:/opt4.進入master1容器,安裝并開啟SSH服務,操作命令如下。[root@CentOSopt]#dockerexec-itmaster1bash[root@master1/]#yuminstall-ynet-toolsvimopenssh

openssh-clientsopenssh-serverwhich[root@master1/]#systemctlstartsshd5.解壓jdk,hadoop,zookeeper文件到指定目錄中,并重命名文件,操作命令如下。[root@master1opt]#tar-zxvfjdk-8u341-linux-x64.tar.gz-C/usr/lib/[root@master1opt]#tar-zxvfhadoop-2.7.7.tar.gz-C/usr/local/[root@master1opt]#tar-zxvfzookeeper-3.4.8.tar.gz-C/usr/local/[root@master1opt]#cd/usr/lib[root@master1lib]#mvjdk1.8.0_341jdk1.8.0[root@master1lib]#cd/usr/local/[root@master1local]#mvhadoop-2.7.7hadoop[root@master1local]#mvzookeeper-3.4.8/zookeeper6.編輯“~/.bashrc”文件,將相應軟件的安裝路徑添加到環(huán)境變量中,操作內容如下。exportJAVA_HOME=/usr/lib/jdk1.8.0exportHADOOP_HOME=/usr/local/hadoopexportZOOKEEPER_HOME=/usr/local/zookeeperPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin7.配置免密登錄生成密鑰,配置免密登錄并測試,操作命令如下。[root@master1~]#ssh-keygen-trsa[root@master1~]#ssh-copy-idmaster1[root@master1~]#ssh-copy-idslave1[root@master1~]#ssh-copy-idslave2[root@master1~]#sshslave1Lastlogin:MonMar608:15:562023from[root@slave1~]#8.配置zookeeper切換到zookeeper下的conf目錄,通過復制“zoo_sample.cfg”文件創(chuàng)建“zoo.cfg”文件,操作命令如下。[root@master1conf]#cpzoo_sample.cfgzoo.cfg編輯“zoo.cfg”文件,操作命令及文件內容如下。[root@master1conf]#vizoo.cfg

tickTime=2000initLimit=10syncLimit=5clientPort=2181dataDir=/usr/local/zookeeper/datadataLogDir=/usr/local/zookeeper/logsserver.1=master1:2888:3888server.2=slave1:2889:3889server.3=slave2:2890:3890其中配置項“dataDir”和“dataLogDir”中的目錄需要手動創(chuàng)建,操作命令如下。[root@master1zookeeper]#mkdirdata[root@master1zookeeper]#mkdirlogs進入新創(chuàng)建的data目錄中,創(chuàng)建myid文件,并編輯其內容為1,操作命令如下。[root@master1zookeeper]#cddata/[root@master1data]#touchmyid9.配置Hadoop配置完Zookeeper后,切換到“/usr/local/hadoop/etc/hadoop”目錄中在此查看目錄,操作命令如下。[root@master1hadoop]#lscapacity-scheduler.xmlhttpfs-env.shmapred-env.shconfiguration.xsl

httpfs-pertiesmapred-queues.xml.templatecontainer-executor.cfg

httpfs-signature.secretmapred-site.xml.templatecore-site.xmlhttpfs-site.xmlslaveshadoop-env.cmdkms-acls.xmlssl-client.xml.examplehadoop-env.shkms-env.shssl-server.xml.examplepertiespertiesyarn-env.cmdpertieskms-site.xmlyarn-env.shhadoop-policy.xmlpertiesyarn-site.xmlhdfs-site.xmlmapred-env.cmd編輯hadoop-env.sh,修改JAVA_HOME配置項,配置內容如下。#Thejavaimplementationtouse.exportJAVA_HOME=/usr/lib/jdk1.8.0在“/usr/local/hadoop/etc/hadoop”目錄中,通過拷貝“mapred-site.xml.template”文件生成“mapred-site.xml”文件,操作命令如下。[root@master1hadoop]#cpmapred-site.xml.templatemapred-site.xml分別編輯core-site.xml、hdfs-site.xml、mapred-site.xml,yarn-site.xml四文件個文件。<configuration><!--使用fs.defa還是使用fs.defaultFS,首先判斷是否開啟了namenode的高可用,如果開啟了就用fs.defaultFS,在單一namenode的情況下,就用fs.defa

<!--指定默認的HDFS路徑--><property><name>fs.defaultFS</name><value>hdfs://mycluster</value></property><!--指定NameNode、DataNode、secondaryNamenode等存放數(shù)據(jù)的公共目錄--><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop/tmp</value></property><!--指定zookeeper地址--><property><name>ha.zookeeper.quorum</name><value>master1:2181,slave1:2181,slave2:2181</value></property><!--設置hadoop鏈接zookeeper的超時時間--><property><name>ha.zookeeper.session-timeout.ms</name><value>30000</value></property><!--設置垃圾回收時間,以分鐘為單位,1440分鐘=60*24,剛好是一天--><property><name>erval</name><value>1440</value></property></configuration>編輯“core-site.xml”文件,內容如下。

(文本過長,放在ppt頁面下方)編輯“hdfs-site.xml”文件,文件內容如下,(文本過長,放在ppt頁面下方,第一頁)。

<configuration><!--指定journalnode集群之間通信的超時時間--><property><name>dfs.qjournal.start-segment.timeout.ms</name><value>60000</value></property><!--指定namenode的組名稱,自己可以定義--><property><name>dfs.nameservices</name><value>mycluster</value></property><!--指定namenode組mycluster的成員--><property><name>dfs.ha.namenodes.mycluster</name><value>master1,slave1</value></property><!--配置master1的rpc地址及端口號--><property><name>dfs.namenode.rpc-address.mycluster.master1</name><value>master1:9000</value></property><!--配置slave1的rpc地址及端口號--><property><name>dfs.namenode.rpc-address.mycluster.slave1</name><value>slave1:9000</value></property><!--配置master1的地址及端口號--><property><name>dfs.namenode.http-address.mycluster.master1</name><value>master1:50070</value></property><!--配置slave1的地址及端口號--><property><name>dfs.namenode.http-address.mycluster.slave1</name><value>slave1:50070</value></property><!--指定NameNode的edits元數(shù)據(jù)在JournalNode上的存放位置--><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://master1:8485;slave1:8485;slave2:8485/mycluster</value></property><!--指定該集群出故障時,哪個實現(xiàn)類負責執(zhí)行故障切換--><property> <name>dfs.client.failvider.mycluster</name><value> org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider </value></property><!--配置隔離機制方法,多個機制用換行分割,即每個機制暫用一行--><property> <name>dfs.ha.fencing.methods</name><value>

sshfenceshell(/bin/true)</value></property><!--如果為"true",則在HDFS中啟用權限檢查;如果為"false",則關閉權限檢查;默認值為"true"。--><property><name>dfs.permissions.enabled</name><value>false</value></property>

<property><!--指定是否允許支持文件追加,默認為”false”--><name>dfs.support.append</name><value>true</value></property><!--使用sshfence隔離機制時需要ssh免登錄--><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_rsa</value></property><!--數(shù)據(jù)備份的個數(shù)--><property><name>dfs.replication</name><value>2</value></property><!--指定hdfs元數(shù)據(jù)存儲的路徑--><property><name>dfs.namenode.name.dir</name><value>/usr/local/hadoop/dfs/name</value></property><!--指定hdfs數(shù)據(jù)存儲的路徑--><property><name>dfs.datanode.data.dir</name><value>/usr/local/hadoop/dfs/data</value></property><!--指定journalnode日志文件存儲的路徑--><property><name>dfs.journalnode.edits.dir</name><value>/usr/local/hadoop/tmp/journal</value></property><!--開啟自動故障轉移--><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property><!--開啟WebHDFS功能(基于REST的接口服務)--><property><name>dfs.webhdfs.enabled</name><value>true</value></property><!--配置sshfence隔離機制超時時間--><property><name>dfs.ha.fencing.ssh.connect-timeout</name><value>30000</value></property><!--設定從CLI手動運行的FC功能等待健康檢查、服務狀態(tài)超時時間--><property><name>ha.failover-controller.cli-check.rpc-timeout.ms</name><value>60000</value></property></configuration>編輯“hdfs-site.xml”文件,文件內容如下,(文本過長,放在ppt頁面下方,第二頁)。

編輯“mapred-site.xml”文件,文件內容如下。<configuration><!--設定指定mapreduce執(zhí)行框架為YARN方式--><property><name>map</name><value>yarn</value></property><!--設定jobhistory的IPC地址--><property><name>mapreduce.jobhistory.address</name><value>master1:10020</value></property><!--設定jobhistory的web地址--><property><name>mapreduce.jobhistory.webapp.address</name><value>master1:19888</value></property></configuration>編輯“yarn-site.xml”文件,文件內容如下。(文本過長,放在ppt頁面下方)<configuration><!--開啟resourcemanger高可用--><property><name>yarn.resourcemanager.ha.enabled</name><value>true</value></property><!--指定resourcemanger的clusterid--><property><name>yarn.resourcemanager.cluster-id</name><value>yrc</value></property><!--指定resourcemanger的名字--><property><name>yarn.resourcemanager.ha.rm-ids</name><value>rm1,rm2</value></property><!--分別指定resourcemanger的地址--><property><name>yarn.resourcemanager.hostname.rm1</name><value>master1</value></property><!--分別指定resourcemanger的地址--><property><name>yarn.resourcemanager.hostname.rm2</name><value>slave1</value></property><!--指定resourcemanger使用ZK集群地址--><property><name>yarn.resourcemanager.zk-address</name><value>master1:2181,slave1:2181,slave2:2181</value></property><!--配置yarn運行shuffle的方式,選擇mapreduce的默認shuffle算法--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!--是否啟用日志聚集功能--><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!--配置聚集的日志在HDFS上最多保存時間--><property><name>yarn.log-aggregation.retain-seconds</name><value>86400</value></property><!--開啟Recovery后,ResourceManger會將應用的狀態(tài)等信息保存到y(tǒng)arn.resourcemanager.store.class配置的存儲介質中,重啟后會load這些信息,并且NodeManger會將還在運行的container信息同步到ResourceManager,整個過程不影響作業(yè)的正常運行。--><property><name>yarn.resourcemanager.recovery.enabled</name><value>true</value></property><!--指定yarn.resourcemanager.store.class的存儲介質(HA集群只支持ZKRMStateStore)--><property><name>yarn.resourcemanager.store.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value></property></configuration>修改slaves文件(3.X為workers),編輯內容如下。master1slave1slave2在core-site.xml、hdfs-site.xml、mapred-site.xml,yarn-site.xml四個配置文件中,所涉及的配置項中的目錄需要手動創(chuàng)建,操作命令如下。[root@master1hadoop]#mkdirlogs[root@master1hadoop]#mkdirdfs[root@master1hadoop]#mkdirtmp[root@master1hadoop]#cddfs[root@master1dfs]#mkdirdata[root@master1dfs]#mkdirname[root@master1dfs]#cd..[root@master1hadoop]#cdtmp/[root@master1tmp]#mkdirjournal在master1節(jié)點中分別拷貝“.bashrc”、“jdk”、“hadoop”和“zookeeper”文件到slave1和slave2節(jié)點中,操作命令如下。[root@master1~]#scp-r~/.bashrcslave1:~/.bashrc[root@master1~]#scp-r~/.bashrcslave2:~/.bashrc[root@master1~]#scp-r/usr/lib/jdk1.8.0slave1:/usr/lib/[root@master1~]#scp-r/usr/lib/jdk1.8.0slave2:/usr/lib/[root@master1~]#scp-r/usr/local/zookeeperslave1:/usr/local/[root@master1~]#scp-r/usr/local/zookeeperslave2:/usr/local/[root@master1~]#scp-r/usr/local/hadoopslave1:/usr/local/[root@master1~]#scp-r/usr/local/hadoopslave2:/usr/local/分別在slave1和slave2節(jié)點上執(zhí)行“source~/.bashrc”命令使環(huán)境變量立即生效。10.啟動Hadoop集群(1)啟動Zookeeper集群并查看狀態(tài)。在master1節(jié)點啟動Zookeeper并查看狀態(tài),操作命令及結果如下。[root@master1bin]#./zkServer.shstartZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgStartingzookeeper...STARTED[root@master1bin]#./zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgMode:follower

在slave1節(jié)點啟動Zookeeper并查看狀態(tài),操作命令及結果如下。[root@slave1zookeeper]#cdbin[root@slave1bin]#./zkServer.shstartZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgStartingzookeeper...STARTED[root@slave1bin]#./zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgMode:follower

在slave2節(jié)點啟動Zookeeper并查看狀態(tài),操作命令及結果如下。[root@slave2zookeeper]#cdbin[root@slave2bin]#./zkServer.shstartZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgStartingzookeeper...STARTED[root@slave2bin]#./zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgMode:leader(2)初始化HA在Zookeeper中的狀態(tài),操作命令及部分結果如下。[root@master1bin]#./hdfs

zkfc-formatZK23/03/0614:42:42INFOha.ActiveStandbyElector:Successfullycreated/hadoop-ha/myclusterinZK.23/03/0614:42:42INFOha.ActiveStandbyElector:Sessionconnected.23/03/0614:42:42INFOzookeeper.ZooKeeper:Session:0x386b7555fb80000closed23/03/0614:42:42INFOzookeeper.ClientCnxn:EventThreadshutdown(3)在master1、slave1和slave2中啟動journalnode,操作命令如下。[root@master1sbin]#./hadoop-daemon.shstartjournalnode[root@slave1sbin]#./hadoop-daemon.shstartjournalnode[root@slave2sbin]#./hadoop-daemon.shstartjournalnode在master1中初始化namenode節(jié)點,如果看到“status0”字樣即代表初始化成功,操作命令及部分結果如下。[root@master1bin]#hdfs

namenode-format23/03/0614:47:20INFOutil.ExitUtil:Exitingwithstatus023/03/0614:47:20INFOnamenode.NameNode:SHUTDOWN_MSG:/************************************************************SHUTDOWN_MSG:ShuttingdownNameNodeatmaster1/10************************************************************/(4)在master1節(jié)點執(zhí)行‘start-all.sh’命令,并分別查看master1、slave1和slave2節(jié)點進程,操作命令及結果如下。[root@master1hadoop]#start-all.sh[root@master1hadoop]#jps4896ResourceManager225QuorumPeerMain5330Jps3879JournalNode4072DFSZKFailoverController5016NodeManager3673DataNode3565NameNode

[root@slave1hadoop]#jps2322Jps1783DFSZKFailoverController218QuorumPeerMain1596DataNode1692JournalNode2190NodeManager

[root@slave2hadoop]#jps228QuorumPeerMain1173DataNode1269JournalNode1592NodeManager1724Jps(5)格式化主、從節(jié)點將master1節(jié)點元數(shù)據(jù)復制到slave1和slave2節(jié)點中,由于之前namenode,datanode的數(shù)據(jù)存放在hadoop/dfs目錄下,journalnode的數(shù)據(jù)存放在hadoop/tmp目錄下,所以直接復制dfs和tmp目錄至slave1和slave2節(jié)點中,操作命令如下。[root@master1hadoop]#scp-r/usr/local/hadoop/tmp/*slave1:/usr/local/hadoop/tmp/[root@master1hadoop]#scp-r/usr/local/hadoop/dfs/*slave1:/usr/local/hadoop/dfs/[root@master1hadoop]#scp-r/usr/local/hadoop/tmp/*slave2:/usr/local/hadoop/tmp/[root@master1hadoop]#scp-r/usr/local/hadoop/dfs/*slave2:/usr/local/hadoop/dfs/(6)在slave1節(jié)點啟動resoucemanager和namenode,操作命令及結果如下。[root@slave1sbin]#./yarn-daemon.shstartresourcemanager[root@slave1sbin]#./hadoop-daemon.shstartnamenode[root@slave1sbin]#jps2646Jps1783DFSZKFailoverController2439NameNode218QuorumPeerMain1596DataNode1692JournalNode2190NodeManager2590ResourceManage(7)訪問Hadoop的WebUI界面在Windows瀏覽器中輸入:http://宿主機IP:50070,可以看到master1節(jié)點的NameNode為活躍狀態(tài)(active)。如圖所示。在Windows瀏覽器中輸入:http://宿主機IP:50071,可以看到slave1節(jié)點的NameNode為待命狀態(tài)(standby)。如圖所示。在Windows瀏覽器中輸入:http://宿主機IP:8088,可以進入master1節(jié)點的YARNWebUI頁面。如圖所示。任務6.2

HadoopHA集群的啟動與測試任務實施1.查看集群NameNode狀態(tài)查看集群NameNode狀態(tài)有兩種方式如下。(1)通過命令查看集群NameNode狀態(tài)

hdfshaadmin-getServiceStatenn以上命令中,“nn”是NameNode的名字,也就是NameNode運行狀態(tài)為活躍狀態(tài)(active)和待命狀態(tài)(standby)的節(jié)點名字),具體操作如下。[root@master1~]#hdfs

haadmin-getServiceState

master1active[root@master1~]#hdfs

haadmin-getServiceStateslave1standby(2)通過Web頁面查看集群NameNode狀態(tài)在Windows瀏覽器中輸入:http://宿主機IP:50070,可以看到master1節(jié)點的namenode為活躍狀態(tài)(active)。如圖所示。在瀏覽器中輸入:http://宿主機IP:50071,可以看到slave1節(jié)點的NameNode為待命狀態(tài)(standby)。如圖所示。2.模擬NameNode故障并查看NameNode的狀態(tài)由圖6-4和圖6-5所示,master1節(jié)點的NameNode為“活躍狀態(tài)(active)”,slave1的NameNode為“待命狀態(tài)(standby)”,在master1中執(zhí)行命令hadoop-daemon.shstopnamenode直接關閉NameNode。也可以用jps查看NameNode進程號,并執(zhí)行“kill-9進程號”命令,結束NameNode進程。操作命令及結果如下。[root@master1~]#hadoop-daemon.shstopnamenodestoppingnamenode刷新網(wǎng)頁后,在Windows瀏覽器中輸入:http://宿主機IP:50070,發(fā)現(xiàn)頁面無法訪問,如圖所示。此時,在瀏覽器中輸入:http://宿主機IP:50071,可以看到slave1節(jié)點的NameNode為“活躍狀態(tài)(active)”,如圖所示。3.在master1節(jié)點啟動NameNode后再次查看NameNode狀態(tài)在master1中執(zhí)行命令hadoop-daemon.shstartnamenode啟動NameNode,依次查看master1節(jié)點和slave1節(jié)點中NameNode的運行狀態(tài),如圖所示。當狀態(tài)為“活躍狀態(tài)(active)”的NameNode節(jié)點,因為意外情況停止服務后,原來“待命狀態(tài)(standby)”的NameNode節(jié)點會自動接替其工作繼續(xù)服務,因此這樣的機制可以避免NameNode的單點失效。Thanks任務7.1搭建AmbariHadoop系統(tǒng)任務實施1.Ambari的安裝與配置(1)基本環(huán)境配置因為Docker容器都在同一個網(wǎng)段內直接互通,配置hosts文件后每次重啟都會重置,所以不需要對主機名(hostname)進行額外設置。①

配置NTP在master節(jié)點安裝網(wǎng)絡時間協(xié)議(NTP),操作命令如下。[root@masteropt]#yuminstall-yntp配置ntp.conf文件,操作命令及文件編輯如下。[root@masteropt]#vi/etc/ntp.conf//注釋或者刪除以下4行代碼#pool0.iburst#pool1.iburst#pool2.iburst#pool3.iburst//添加以下兩行代碼serverfudgestratum10[root@masteropt]#systemctlenablentpd[root@masteropt]#systemctlstartntpd在slave1節(jié)點安裝和配置網(wǎng)絡時間協(xié)議(NTP),操作命令如下。[root@slave1opt]#yuminstall-yntpdate#[root@slave1opt]#ntpdate

master[root@slave1opt]#systemctlenablentpd②安裝與配置SSH安裝軟件并分別在master和slave1節(jié)點執(zhí)行命令“ssh-keygen-trsa”生成密鑰對,操作命令及結果如下。[root@master~]#yuminstall-yopenssh

openssh-clientsopenssh-serverwhichnet-toolsLoadedplugins:fastestmirror,ovlDeterminingfastestmirrors[root@master~]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:Youridentificationhasbeensavedin/root/.ssh/id_rsa.Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.#分別執(zhí)行“ssh-copy-idmaster”和“ssh-copy-idslave1”命令分發(fā)公鑰完成認證配置操作,操作命令及結果如下。[root@master~]#ssh-copy-idmaster#省略部分內容Areyousureyouwanttocontinueconnecting(yes/no)?yesroot@master'spassword:andchecktomakesurethatonlythekey(s)youwantedwereadded.

[root@master~]#ssh-copy-idslave1Areyousureyouwanttocontinueconnecting(yes/no)?yesroot@slave1'spassword:③通過SSH登錄遠程主機,查看master節(jié)點能否免密登錄master和slave1節(jié)點,操作命令及結果如下。[root@master~]#sshmaster

Lastlogin:WedMar815:09:422023from[root@master~]#exitlogoutConnectiontomasterclosed.[root@master~]#sshslave1Lastlogin:WedMar815:55:022023frommaster.ambari[root@slave1~]#exitlogoutConnectiontoslave1closed.[root@master~]#④禁用SELinux的操作過程如下。編輯/etc/selinux/config配置文件,將配置項修改如下。(宿主機中)SELINUX=disabled⑤禁用TransparentHugePages的操作過程如下。CentOS6版本開始引入了透明大頁(TransparentHugePages,THP),從CentOS7版本開始,默認啟用該特性默認(操作系統(tǒng)后臺會生成一個名為khugepaged的進程),它會一直掃描所有進程占用的內存,在可能的情況下,其會把4kPage交換為HugePages,在這個過程中,對操作的內存的各種分配活動都需要各種內存鎖,直接影響了程序內存的訪問性能,且此過程對于應用是透明的,在應用層面不可控制,對于專門為4kPage優(yōu)化的程序來說,可能會造成隨機性能下降現(xiàn)象,操作命令及結果如下。[root@CentOS~]#cat/sys/kernel/mm/transparent_hugepage/enabled[always]madvisenever[root@CentOS~]#echonever>/sys/kernel/mm/transparent_hugepage/enabled[root@CentOS~]#echonever>/sys/kernel/mm/transparent_hugepage/defrag[root@CentOS~]#cat/sys/kernel/mm/transparent_hugepage/enabledalwaysmadvise[never]重啟后代碼會失效,需要再次執(zhí)行。⑥安裝配置JDK的操作過程如下。在master節(jié)點安裝配置JDK,操作命令及結果如下。[root@masteropt]#tar-zxvfjdk-8u181-linux-x64.tar.gz-C/usr/lib[root@masterlib]#cd/usr/lib[root@masterlib]#mvjdk1.8.0_181jdk1.8.0

[root@masterlib]#vim~/.bashrcexportJAVA_HOME=/usr/lib/jdk1.8.0PATH=$PATH:$JAVA_HOME/bin

[root@masterlib]#source~/.bashrc

[root@masterlib]#java-versionjavaversion"1.8.0_181"Java(TM)SERuntimeEnvironment(build1.8.0_181-b13)JavaHotSpot(TM)64-BitServerVM(build25.181-b13,mixedmode)在slave1節(jié)點安裝配置JDK,操作命令及結果如下。[root@masterlib]#scp-r~/.bashrcslave1:~/.bashrc[root@masterlib]#scp-r/usr/lib/jdk1.8.0slave1:/usr/lib[root@slave1opt]#source~/.bashrc[root@slave1opt]#java-versionjavaversion"1.8.0_181"Java(TM)SERuntimeEnvironment(build1.8.0_181-b13)JavaHotSpot(TM)64-BitServerVM(build25.181-b13,mixedmode)(2)設置本地倉庫①安裝制作本地庫的工具。使用curl命令來驗證網(wǎng)頁是否可以訪問,操作命令及結果如下。[root@master~]#yum-yinstallyum-utils

createrepocurl[root@master~]#yum-yinstallhttpd[root@master~]#/sbin/chkconfighttpdonNote:Forwardingrequestto'systemctlenablehttpd.service'.Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/httpd.serviceto/usr/lib/systemd/system/httpd.service.[root@master~]#/sbin/servicehttpdstartRedirectingto/bin/systemctlstarthttpd.service[root@master~]#curl0如果不能訪問通常會報錯:302或404等錯誤代碼。②創(chuàng)建Web服務目錄,操作命令如下。[root@master~]#mkdir-p/var/www/html/③將ambari-、HDP-和HDP-GPL-等壓縮包解壓到/var/www/html/中,將HDP-utils目錄通過“mv”命令移動到/var/www/html/下,操作命令及結果如下。[root@masteropt]#tar-zxvf

ambari--centos7.tar.gz-C/var/www/html/[root@masteropt]#tar-zxvfHDP--centos7-rpm.tar.gz-C/var/www/html/[root@masteropt]#tar-zxvfHDP-GPL--centos7-gpl.tar.gz-C/var/www/html/[root@masteropt]#mvHDP-UTILS/var/www/html/④為了使用上述配置的Web服務器作為yum源服務器,需要操作命令及配置“priorities.conf”如下。[root@masteropt]#yum-yinstallyum-plugin-priorities[root@masteropt]#vi/etc/yum/pluginconf.d/priorities.conf#文件內容如下[main]enabled=1gpgcheck=0⑤將準備好的ambari.repo和hdp.repo文件移動到/etc/yum.repos.d目錄下,編輯ambari.repo文件內容,注意baseurl的修改值,具體操作如下。#VERSION_NUMBER=-1[ambari-]name=ambariVersion-ambari-baseurl=0/ambari/centos7/-1gpgcheck=0gpgkey=0/ambari/centos7/-1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1⑥編輯hdp.repo文件內容,注意baseurl的修改值,具體操作如下。(文本位于頁面下方)#VERSION_NUMBER=-292[HDP-]name=HDPVersion-HDP-baseurl=0/HDP/centos7/-292/gpgcheck=0gpgkey=0/HDP/centos7/-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1

[HDP-UTILS-2]name=HDP-UTILSVersion-HDP-UTILS-2baseurl=0/HDP-UTILS/centos7/1/gpgcheck=0gpgkey=0/HDP-UTILS/centos7/1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1

[HDP-GPL-]name=HDP-GPLVersion-HDP-GPL-baseurl=0/HDP-GPL/centos7/-292/gpgcheck=0gpgkey=0/HDP-GPL/centos7/-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1(3)配置MySQL數(shù)據(jù)庫Ambariserver需要一個數(shù)據(jù)庫存儲元數(shù)據(jù),默認使用PostgreSQL數(shù)據(jù)庫。默認的用戶名和密碼是:ambari/bigdata。但是一般情況下,還需要安裝Hive和Ranger,因此也需要一個存元數(shù)據(jù)的數(shù)據(jù)庫。于是,在此選用MySQL做為第三方數(shù)據(jù)庫來使用。在該任務中將使用RMP包安裝MySQL數(shù)據(jù)庫。①禁用SELinux服務,過程如下。如果不禁用的話,后面啟動MySQL服務會被阻止。另外,不要自行卸載CentOS自帶的mariadb數(shù)據(jù)庫,安裝過程會自動替換mariadb,自行卸載可能會帶來一些操作問題。②解壓mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar,過程如下。解壓mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar,并在解壓目錄下,使用yum命令進行安裝,操作命令如下。[root@masteropt]#tar-xvfmysql-5.7.27-1.el7.x86_64.rpm-bundle.tar[root@masteropt]#yuminstallmysql-community-{server,client,common,libs}-*③完成安裝后,編輯/etc/f文件,在[mysqld]配置項中添加skip-grant-tables,過程如圖所示。④對MySQL數(shù)據(jù)庫執(zhí)行初始化,過程如下。執(zhí)行命令mysqld--defaults-file=/etc/f--initialize-insecure--user=mysql,命令執(zhí)行結束后,執(zhí)行命令servicemysqldrestart,重啟mysql服務,操作命令及結果如下。[root@masteropt]#mysqld--defaults-file=/etc/my.cnf--initialize-insecure--user=mysql[root@masteropt]#servicemysqldrestart⑤MySQL權限設置,操作命令及結果如下。[root@master~]#mysql-uroot-p#直接回車進入,沒有密碼,進入MySQL后,通過執(zhí)行setglobalread_only=0命令,#用來關掉數(shù)據(jù)庫的只讀屬性。mysql>setglobalread_only=0;mysql>flushprivileges;#通過執(zhí)行setglobalread_only=1命令,用來設置數(shù)據(jù)庫為只讀mysql>setglobalread_only=1;mysql>flushprivileges;mysql>exit;⑥將MySQL的驅動jar包移動到/usr/share/java目錄下,如果該目錄下沒有此目錄,需要先自行創(chuàng)建該目錄,操作命令如下。[root@masteropt]#mkdir-p/usr/share/java[root@masteropt]#mvmysql-connector-java-5.1.40.jar/usr/share/java/(4)配置AmbariServer①安裝AmbariServer,操作命令如下。[root@master~]#yum-yinstallambari-server修改配置文件perties,操作命令如下。[root@master~]#vi/etc/ambari-server/conf/ambari.properties為配置AmbariServer與MySQL的連接,還需要在配置文件的最后添加如下內容。server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.40.jar②AmbariServer需要一個數(shù)據(jù)庫存儲元數(shù)據(jù),該任務使用M相應ySQL作為第三方數(shù)據(jù)庫。下面為Ambari創(chuàng)建的數(shù)據(jù)庫和用戶,操作命令如下。mysql>createdatabaseambaridefaultcharacterset='utf8';mysql>CREATEUSER'ambaridba'@'localhost'IDENTIFIEDBY'123456';如果執(zhí)行“CREATEUSER'ambaridba'@'localhost'IDENTIFIEDBY'123456';”報錯,請運行命令“FLUSHPRIVILEGES;”后,再次運行。mysql>CREATEUSER'ambaridba'@'%'IDENTIFIEDBY'123456';mysql>GRANTALLPRIVILEGESONambari.*TO'ambaridba'@'localhost';mysql>GRANTALLPRIVILEGESONambari.*TO'ambaridba'@'%';mysql>FLUSHPRIVILEGES;進入MySQL,使用新創(chuàng)建的ambari數(shù)據(jù)庫,執(zhí)行“source/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql”命令。mysql>useambari;mysql>source/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

#重啟MySQL服務servicemysqldrestart③安裝AmbariServer,操作命令如下。[root@master~]#ambari-serversetup需要注意的是,在所有操作需要進行選擇的時候,選擇y,在提示“CheckingJDK…”時,選擇3,并輸入JDK安裝路徑,如圖所示。此外,在系統(tǒng)提示“Chooseoneofthefollowoptions”時選擇3,在Hostname提示項中輸入master容器IP地址,在Port和Databasename提示項中選擇默認值(直接回車即可),在Username提示項中輸入“ambaridba”,在“EnterDatabasePassword”提示項中輸入密碼“123456”,在“Re-enterpassword”提示項中再次重復輸入密碼“123456”進行確認。配置完成后,如果可以看到“Successfully”字樣即表示配置成功,如圖所示。④執(zhí)行命令“ambari-serverstart”,啟動ambari-server,操作命令及結果如下。[root@master~]#ambari-serverstartUsingpython/usr/bin/pythonStartingambari-serverAmbariServerrunningwithadministratorprivileges.Organizingresourcefilesat/var/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論