
一、配置集群环境配置集群环境时需要修改/usr/local/hadoop/etc/hadoop目录下的配置文件这里仅设置正常启动必须的设置项hadoop下面的etc的配置文件需要配置的文件有workerscore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xmlhadoop-env.sh以下对master节点的配置文件进行修改。1.修改文件vim workersworkers里写了谁可以用DataNode数据节点。需要把所有数据节点的主机名写入该文件每行一个默认为localhost即把本机作为数据节点。在进行集群配置时可以保留localhost让master节点同时充当名称节点和数据节点也可以删除localhost这行让master节点仅作为名称节点使用。本节让master节点仅作为名称节点使用因此将workers文件中原来的内容删除添加如下内容slave1 slave2 slave32.修改文件core-site.xml把core-site.xml文件修改为如下内容configuration !--默认文件系统的内部URI地址-- property namefs.defaultFS/name valuehdfs://master:9000/value /property !--hadoop的临时工作目录默认一个月就删掉-- property namehadoop.tmp.dir/name valuefile:/usr/local/hadoop/tmp/value /property /configuration3. 修改文件hdfs-site.xml对于Hadoop的分布式文件系统HDFS而言一般是采用冗余存储冗余因子一般是3也就是说一份数据保存3份副本。设置该冗余因子的参数为dfs.replication。所以dfs.replication设置为3文件具体内容如下configuration !--secondary访问地址-- property namedfs.namenode.secondary.http-address/name valuemaster:50090/value /property !--HDFS设置数据存储份数-- property namedfs.replication/name value3/value /property !--NameNode的实际存储地址-- property namedfs.namenode.name.dir/name valuefile:/usr/local/hadoop/tmp/dfs/name/value /property !--DataNode的实际存储地址-- property namedfs.datanode.data.dir/name valuefile:/usr/local/hadoop/tmp/dfs/data/value /property /configuration4.修改文件mapred-site.xml配置mapred-site.xml文件如下configuration !--mapreduce程序运行在yarn上-- property namemapreduce.framework.name/name valueyarn/value /property !--任务运行的历史的服务端地址内部通讯端口-- property namemapreduce.jobhistory.address/name valuemaster:10020/value /property !--任务运行的历史的服务器web端地址-- property namemapreduce.jobhistory.webapp.address/name valuemaster:19888/value /property /configuration5.修改文件yarn-site.xml把yarn-site.xml配置为如下内容configuration !--resourcemanager的主机名-- property nameyarn.resourcemanager.hostname/name valuemaster/value /property !--nodemanager提供的辅助服务运行MapReduce必配-- property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property !--nodemanager监控本地磁盘的健康磁盘空间使用率上限为98.5%-- property nameyarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage/name value98.5/value /property /configuration6.修改文件hadoop-env.sh在文件的末尾新增两行export JAVA_HOME/usr/local/java/jdk1.8.0_171 export HADOOP_CONF_DIR/usr/local/hadoop/etc/hadoop二、配置slave节点五个配置文件配置完成之后需要把master节点上的/usr/local/hadoop文件复制到各个节点上。在master节点上执行具体命令如下cd /usr/local rm -rf ./hadoop/tmp #删除临时文件 rm -rf ./hadoop/logs/* #删除日志文件 tar -zcf ~/hadoop.master.tar.gz ./hadoop #先压缩再复制 cd ~ scp ./hadoop.master.tar.gz rootslave1:/root scp ./hadoop.master.tar.gz rootslave2:/root scp ./hadoop.master.tar.gz rootslave3:/root然后分别在slave1、slave2和slave3节点上执行如下命令rm -rf /usr/local/hadoop #如果有旧文件则先删除 tar -zxf ~/hadoop.master.tar.gz -C /usr/local rm -f ~/hadoop.master.tar.gz三、启动前准备(只需要在master节点执行)因为hadoop3.x已经不再允许root用户去启动hadoop因此需要做一些配置如下3.1 修改centos源需要将源文件进行修改 vim /etc/yum.repos.d/CentOS-Base.repo将该文件所有内容替换如下[base] nameCentOS-$releasever - Base # mirrorlisthttp://mirrorlist.centos.org/?release$releaseverarch$basearchrepoosinfra$infra # baseurlhttp://mirror.centos.org/centos/$releasever/os/$basearch/ baseurlhttps://vault.centos.org/6.10/os/$basearch/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 # released updates [updates] nameCentOS-$releasever - Updates # mirrorlisthttp://mirrorlist.centos.org/?release$releaseverarch$basearchrepoupdatesinfra$infra # baseurlhttp://mirror.centos.org/centos/$releasever/updates/$basearch/ baseurlhttps://vault.centos.org/6.10/updates/$basearch/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 # additional packages that may be useful [extras] nameCentOS-$releasever - Extras # mirrorlisthttp://mirrorlist.centos.org/?release$releaseverarch$basearchrepoextrasinfra$infra # baseurlhttp://mirror.centos.org/centos/$releasever/extras/$basearch/ baseurlhttps://vault.centos.org/6.10/extras/$basearch/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6然后更新源 yum update yum install sudo -y # 安装hadoop所需要的工具3.2 允许root用户启动hadoop在~/.bashrc中新增环境变量export HDFS_NAMENODE_USERroot export HDFS_DATANODE_USERroot export HDFS_SECONDARYNAMENODE_USERroot export YARN_RESOURCEMANAGER_USERroot export YARN_NODEMANAGER_USERroot随后生效配置 source ~/.bashrc四、启动Hadoop集群首次启动Hadoop集群时需要先在master节点执行名称节点的格式化hdfs namenode -format如果该命令执行后没有报出任何错误就说明格式化正确了。如果有错误注意检查前面的配置文件。现在可以启动Hadoop了启动需要在master节点上进行执行如下命令start-dfs.sh start-yarn.sh mr-jobhistory-daemon.sh start historyserver通过命令jps可以查看各个节点启动的进程。如果已经正确启动则在master节点上可以看到如下进程在slave节点上可以看到如下进程缺少任一进程都表示出错。也可以在浏览器中输入master的ip:98702.x是50070 查看节点状态。练习2必做请运行官方案例wordcount验证mapreduce是否可以正常工作。如果可以正常工作则不会影响后续实验的开展。否则请重新按照实验步骤仔细检查相关配置。至此hadoop集群安装完成。重要的文件建议保存在工作路径/mnt/cgshare下如果容器出现故障桌面还原之后点击 “更多” / “工作目录文件浏览器” 找回。