版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务6.1HadoopHA环境搭建任务实施1.配置静态IP在宿主机中,创建自定义网桥,指定网段,网关,操作命令及结果如下。[root@CentOS~]#dockernetworkcreate--subnet=/24--gateway=HAf1bad6fa92064749b7e9df80ae3832fd0a33ba644b781c83b2d7da6510ea57232.Docker容器添加端口映射创建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”文件,将相应软件的安装路径添加到环境变量中,操作内容如下。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”文件创建“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”中的目录需要手动创建,操作命令如下。[root@master1zookeeper]#mkdirdata[root@master1zookeeper]#mkdirlogs进入新创建的data目录中,创建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等存放数据的公共目录--><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元数据在JournalNode上的存放位置--><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://master1:8485;slave1:8485;slave2:8485/mycluster</value></property><!--指定该集群出故障时,哪个实现类负责执行故障切换--><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><!--数据备份的个数--><property><name>dfs.replication</name><value>2</value></property><!--指定hdfs元数据存储的路径--><property><name>dfs.namenode.name.dir</name><value>/usr/local/hadoop/dfs/name</value></property><!--指定hdfs数据存储的路径--><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功能等待健康检查、服务状态超时时间--><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执行框架为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会将应用的状态等信息保存到yarn.resourcemanager.store.class配置的存储介质中,重启后会load这些信息,并且NodeManger会将还在运行的container信息同步到ResourceManager,整个过程不影响作业的正常运行。--><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四个配置文件中,所涉及的配置项中的目录需要手动创建,操作命令如下。[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节点中分别拷贝“.bashrc”、“jdk”、“hadoop”和“zookeeper”文件到slave1和slave2节点中,操作命令如下。[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节点上执行“source~/.bashrc”命令使环境变量立即生效。10.启动Hadoop集群(1)启动Zookeeper集群并查看状态。在master1节点启动Zookeeper并查看状态,操作命令及结果如下。[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节点启动Zookeeper并查看状态,操作命令及结果如下。[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节点启动Zookeeper并查看状态,操作命令及结果如下。[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中的状态,操作命令及部分结果如下。[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节点,如果看到“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节点执行‘start-all.sh’命令,并分别查看master1、slave1和slave2节点进程,操作命令及结果如下。[root@master1hadoop]#start-all.sh[root@master1hadoop]#jps4896ResourceManager225QuorumPeerMain5330Jps3879JournalNode4072DFSZKFailoverController5016NodeManager3673DataNode3565NameNode
[root@slave1hadoop]#jps2322Jps1783DFSZKFailoverController218QuorumPeerMain1596DataNode1692JournalNode2190NodeManager
[root@slave2hadoop]#jps228QuorumPeerMain1173DataNode1269JournalNode1592NodeManager1724Jps(5)格式化主、从节点将master1节点元数据复制到slave1和slave2节点中,由于之前namenode,datanode的数据存放在hadoop/dfs目录下,journalnode的数据存放在hadoop/tmp目录下,所以直接复制dfs和tmp目录至slave1和slave2节点中,操作命令如下。[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节点启动resoucemanager和namenode,操作命令及结果如下。[root@slave1sbin]#./yarn-daemon.shstartresourcemanager[root@slave1sbin]#./hadoop-daemon.shstartnamenode[root@slave1sbin]#jps2646Jps1783DFSZKFailoverController2439NameNode218QuorumPeerMain1596DataNode1692JournalNode2190NodeManager2590ResourceManage(7)访问Hadoop的WebUI界面在Windows浏览器中输入:http://宿主机IP:50070,可以看到master1节点的NameNode为活跃状态(active)。如图所示。在Windows浏览器中输入:http://宿主机IP:50071,可以看到slave1节点的NameNode为待命状态(standby)。如图所示。在Windows浏览器中输入:http://宿主机IP:8088,可以进入master1节点的YARNWebUI页面。如图所示。任务6.2
HadoopHA集群的启动与测试任务实施1.查看集群NameNode状态查看集群NameNode状态有两种方式如下。(1)通过命令查看集群NameNode状态
hdfshaadmin-getServiceStatenn以上命令中,“nn”是NameNode的名字,也就是NameNode运行状态为活跃状态(active)和待命状态(standby)的节点名字),具体操作如下。[root@master1~]#hdfs
haadmin-getServiceState
master1active[root@master1~]#hdfs
haadmin-getServiceStateslave1standby(2)通过Web页面查看集群NameNode状态在Windows浏览器中输入:http://宿主机IP:50070,可以看到master1节点的namenode为活跃状态(active)。如图所示。在浏览器中输入:http://宿主机IP:50071,可以看到slave1节点的NameNode为待命状态(standby)。如图所示。2.模拟NameNode故障并查看NameNode的状态由图6-4和图6-5所示,master1节点的NameNode为“活跃状态(active)”,slave1的NameNode为“待命状态(standby)”,在master1中执行命令hadoop-daemon.shstopnamenode直接关闭NameNode。也可以用jps查看NameNode进程号,并执行“kill-9进程号”命令,结束NameNode进程。操作命令及结果如下。[root@master1~]#hadoop-daemon.shstopnamenodestoppingnamenode刷新网页后,在Windows浏览器中输入:http://宿主机IP:50070,发现页面无法访问,如图所示。此时,在浏览器中输入:http://宿主机IP:50071,可以看到slave1节点的NameNode为“活跃状态(active)”,如图所示。3.在master1节点启动NameNode后再次查看NameNode状态在master1中执行命令hadoop-daemon.shstartnamenode启动NameNode,依次查看master1节点和slave1节点中NameNode的运行状态,如图所示。当状态为“活跃状态(active)”的NameNode节点,因为意外情况停止服务后,原来“待命状态(standby)”的NameNode节点会自动接替其工作继续服务,因此这样的机制可以避免NameNode的单点失效。Thanks任务7.1搭建AmbariHadoop系统任务实施1.Ambari的安装与配置(1)基本环境配置因为Docker容器都在同一个网段内直接互通,配置hosts文件后每次重启都会重置,所以不需要对主机名(hostname)进行额外设置。①
配置NTP在master节点安装网络时间协议(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节点安装和配置网络时间协议(NTP),操作命令如下。[root@slave1opt]#yuminstall-yntpdate#[root@slave1opt]#ntpdate
master[root@slave1opt]#systemctlenablentpd②安装与配置SSH安装软件并分别在master和slave1节点执行命令“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.#分别执行“ssh-copy-idmaster”和“ssh-copy-idslave1”命令分发公钥完成认证配置操作,操作命令及结果如下。[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节点能否免密登录master和slave1节点,操作命令及结果如下。[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版本开始,默认启用该特性默认(操作系统后台会生成一个名为khugepaged的进程),它会一直扫描所有进程占用的内存,在可能的情况下,其会把4kPage交换为HugePages,在这个过程中,对操作的内存的各种分配活动都需要各种内存锁,直接影响了程序内存的访问性能,且此过程对于应用是透明的,在应用层面不可控制,对于专门为4kPage优化的程序来说,可能会造成随机性能下降现象,操作命令及结果如下。[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]重启后代码会失效,需要再次执行。⑥安装配置JDK的操作过程如下。在master节点安装配置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节点安装配置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命令来验证网页是否可以访问,操作命令及结果如下。[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等错误代码。②创建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数据库Ambariserver需要一个数据库存储元数据,默认使用PostgreSQL数据库。默认的用户名和密码是:ambari/bigdata。但是一般情况下,还需要安装Hive和Ranger,因此也需要一个存元数据的数据库。于是,在此选用MySQL做为第三方数据库来使用。在该任务中将使用RMP包安装MySQL数据库。①禁用SELinux服务,过程如下。如果不禁用的话,后面启动MySQL服务会被阻止。另外,不要自行卸载CentOS自带的mariadb数据库,安装过程会自动替换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数据库执行初始化,过程如下。执行命令mysqld--defaults-file=/etc/f--initialize-insecure--user=mysql,命令执行结束后,执行命令servicemysqldrestart,重启mysql服务,操作命令及结果如下。[root@masteropt]#mysqld--defaults-file=/etc/my.cnf--initialize-insecure--user=mysql[root@masteropt]#servicemysqldrestart⑤MySQL权限设置,操作命令及结果如下。[root@master~]#mysql-uroot-p#直接回车进入,没有密码,进入MySQL后,通过执行setglobalread_only=0命令,#用来关掉数据库的只读属性。mysql>setglobalread_only=0;mysql>flushprivileges;#通过执行setglobalread_only=1命令,用来设置数据库为只读mysql>setglobalread_only=1;mysql>flushprivileges;mysql>exit;⑥将MySQL的驱动jar包移动到/usr/share/java目录下,如果该目录下没有此目录,需要先自行创建该目录,操作命令如下。[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需要一个数据库存储元数据,该任务使用M相应ySQL作为第三方数据库。下面为Ambari创建的数据库和用户,操作命令如下。mysql>createdatabaseambaridefaultcharacterset='utf8';mysql>CREATEUSER'ambaridba'@'localhost'IDENTIFIEDBY'123456';如果执行“CREATEUSER'ambaridba'@'localhost'IDENTIFIEDBY'123456';”报错,请运行命令“FLUSHPRIVILEGES;”后,再次运行。mysql>CREATEUSER'ambaridba'@'%'IDENTIFIEDBY'123456';mysql>GRANTALLPRIVILEGESONambari.*TO'ambaridba'@'localhost';mysql>GRANTALLPRIVILEGESONambari.*TO'ambaridba'@'%';mysql>FLUSHPRIVILEGES;进入MySQL,使用新创建的ambari数据库,执行“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安装路径,如图所示。此外,在系统提示“Chooseoneofthefollowoptions”时选择3,在Hostname提示项中输入master容器IP地址,在Port和Databasename提示项中选择默认值(直接回车即可),在Username提示项中输入“ambaridba”,在“EnterDatabasePassword”提示项中输入密码“123456”,在“Re-enterpassword”提示项中再次重复输入密码“123456”进行确认。配置完成后,如果可以看到“Successfully”字样即表示配置成功,如图所示。④执行命令“ambari-serverstart”,启动ambari-server,操作命令及结果如下。[root@master~]#ambari-serverstartUsingpython/usr/bin/pythonStartingambari-serverAmbariServerrunningwithadministratorprivileges.Organizingresourcefilesat/var/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金色的鱼钩教案范文10篇
- 半年个人工作计划
- 元宵大班教案
- 2021北师大版三年级数学下册教案设计
- 四年级上册语文教学计划4篇
- 等待高中作文(集锦15篇)
- 幼儿园毕业实习报告3篇
- 在外贸公司实习报告集合8篇
- 上半年道路交通安全工作总结
- 天宫课堂第三课300字作文10篇参考
- 2024-2025学年高二上学期期末数学试卷(提高篇)(含答案)
- 安全生产事故案例分析
- 2024年07月22208政治学原理期末试题答案
- 《客户开发技巧》课件
- 《防范于心反诈于行》中小学防范电信网络诈骗知识宣传课件
- 口腔执业医师定期考核试题(资料)带答案
- 2023-2024学年北京市通州区九年级(上)期末语文试卷
- 2024-2030年中国瑜伽培训行业运营模式及投资战略规划分析报告
- 人教版七年级语文上册《课内文言文基础知识 》专项测试卷及答案
- 2023-2024学年广东省深圳市龙岗区八年级(上)期末英语试卷
- DB23-T 3768-2024北方种鹅节水生态旱养管理技术规程
评论
0/150
提交评论