“2021云+数:大数据赛道”的版本间的差异
(创建页面,内容为“ Java安装及Hadoop完全分布式集群搭建 1 实训目标 (1) 掌握在Linux下安装Java。 (2) 掌握配置Hadoop完全分布式集群。 (3) 掌…”) |
|||
第2行: | 第2行: | ||
Java安装及Hadoop完全分布式集群搭建 | Java安装及Hadoop完全分布式集群搭建 | ||
− | + | ||
+ | ==实训目标== | ||
(1) 掌握在Linux下安装Java。 | (1) 掌握在Linux下安装Java。 | ||
+ | |||
(2) 掌握配置Hadoop完全分布式集群。 | (2) 掌握配置Hadoop完全分布式集群。 | ||
+ | |||
(3) 掌握Hadoop集群的启动与关闭。 | (3) 掌握Hadoop集群的启动与关闭。 | ||
− | + | ||
+ | ==实训环境== | ||
(1) 使用CentOS6.10以上版本的Linux操作系统虚拟节点3个。 | (1) 使用CentOS6.10以上版本的Linux操作系统虚拟节点3个。 | ||
+ | |||
(2) 使用1.8的JDK。 | (2) 使用1.8的JDK。 | ||
+ | |||
(3) 使用2.6.4版本的Hadoop安装包。 | (3) 使用2.6.4版本的Hadoop安装包。 | ||
− | + | ||
+ | ==实训内容== | ||
(1) 在Linux下安装Java。 | (1) 在Linux下安装Java。 | ||
+ | |||
(2) 修改Hadoop配置文件。 | (2) 修改Hadoop配置文件。 | ||
+ | |||
(3) 启动关闭Hadoop集群。 | (3) 启动关闭Hadoop集群。 | ||
− | + | ||
− | + | ==实训步骤== | |
+ | ===前置步骤=== | ||
(1) 在Linux终端执行命令“initnetwork”,或者双击桌面上名称为“初始化网络”的图标,初始化实训平台网络。 | (1) 在Linux终端执行命令“initnetwork”,或者双击桌面上名称为“初始化网络”的图标,初始化实训平台网络。 | ||
+ | |||
(2) 在Linux终端执行命令“wget -P /opt/software http://datasrc.tipdm.net:81/bigdata/hadoop/software/jdk-8u151-linux-x64.rpm”,下载jdk-8u151-linux-x64.rpm到Linux本地/opt/software目录。 | (2) 在Linux终端执行命令“wget -P /opt/software http://datasrc.tipdm.net:81/bigdata/hadoop/software/jdk-8u151-linux-x64.rpm”,下载jdk-8u151-linux-x64.rpm到Linux本地/opt/software目录。 | ||
+ | |||
(3) 在Linux终端执行命令“wget -P /opt/software http://datasrc.tipdm.net:81/bigdata/hadoop/software/hadoop-2.6.4.tar.gz”,下载hadoop-2.6.4.tar.gz到Linux本地/opt/software目录。 | (3) 在Linux终端执行命令“wget -P /opt/software http://datasrc.tipdm.net:81/bigdata/hadoop/software/hadoop-2.6.4.tar.gz”,下载hadoop-2.6.4.tar.gz到Linux本地/opt/software目录。 | ||
+ | |||
(4) 在Linux终端执行如代码 4-1所示命令,将Java安装包发送到子节点上。 | (4) 在Linux终端执行如代码 4-1所示命令,将Java安装包发送到子节点上。 | ||
代码 4-1 远程发送Java安装包 | 代码 4-1 远程发送Java安装包 | ||
− | ssh slave1 "mkdir /opt/software" | + | <nowiki>ssh slave1 "mkdir /opt/software" |
ssh slave2 "mkdir /opt/software" | ssh slave2 "mkdir /opt/software" | ||
第29行: | 第42行: | ||
scp /opt/software/jdk-8u151-linux-x64.rpm slave1:/opt/software/ | scp /opt/software/jdk-8u151-linux-x64.rpm slave1:/opt/software/ | ||
− | scp /opt/software/jdk-8u151-linux-x64.rpm slave2:/opt/software/ | + | scp /opt/software/jdk-8u151-linux-x64.rpm slave2:/opt/software/</nowiki> |
− | + | ===在Linux下安装Java=== | |
(1) 在命令终端输入命令“java -version”查看当前环境下是否有安装Java,若如图 4-1所示,则当前环境并没有安装Java。若如图 4-2所示,则表明当前环境已完成安装,为保证集群各节点的Java版本一致,此时可通过命令“rpm -e $(rpm -qa |grep java-1.8.0) --nodeps”将已有包卸载。 | (1) 在命令终端输入命令“java -version”查看当前环境下是否有安装Java,若如图 4-1所示,则当前环境并没有安装Java。若如图 4-2所示,则表明当前环境已完成安装,为保证集群各节点的Java版本一致,此时可通过命令“rpm -e $(rpm -qa |grep java-1.8.0) --nodeps”将已有包卸载。 | ||
− | |||
− | |||
图 4-1 查看Java版本1 | 图 4-1 查看Java版本1 | ||
− | + | 图 4-2查看Java版本2 | |
− | |||
(2) 使用命令“cd /opt/software/”进入/opt/software目录,执行命令“rpm –ivh jdk-8u151-linux-x64.rpm”安装JDK,如图 4-2所示。 | (2) 使用命令“cd /opt/software/”进入/opt/software目录,执行命令“rpm –ivh jdk-8u151-linux-x64.rpm”安装JDK,如图 4-2所示。 | ||
− | + | 图 4-4安装JDK | |
− | |||
(3) 通过命令“vi /etc/profile”编辑/etc/profile文件,按G跳到文件末尾,按o进入编辑状态,在/etc/profile文件末尾添加Java的环境变量,如图 4-3所示。 | (3) 通过命令“vi /etc/profile”编辑/etc/profile文件,按G跳到文件末尾,按o进入编辑状态,在/etc/profile文件末尾添加Java的环境变量,如图 4-3所示。 | ||
− | + | 图 4-5 配置Java环境变量 | |
− | |||
(4) 先按Esc,后输入“:wq”回车进行保存退出,回到终端,执行命令“source /etc/profile”使配置即时生效。 | (4) 先按Esc,后输入“:wq”回车进行保存退出,回到终端,执行命令“source /etc/profile”使配置即时生效。 | ||
+ | |||
(5) 验证JDK是否配置成功,执行命令“java -version”,如图 4-4所示说明JDK配置成功。 | (5) 验证JDK是否配置成功,执行命令“java -version”,如图 4-4所示说明JDK配置成功。 | ||
− | + | 图 4-6验证JDK配置成功 | |
− | |||
(6) 进入节点slave1配置Java,通过“ssh slave1”进入slave1节点,按照步骤(1)-(5)安装。 | (6) 进入节点slave1配置Java,通过“ssh slave1”进入slave1节点,按照步骤(1)-(5)安装。 | ||
+ | |||
(7) 进入节点slave2配置Java,先通过“exit”退出slave1,回到master,再通过“ssh slave2”进入slave2节点,按照步骤(1)-(5)安装。 | (7) 进入节点slave2配置Java,先通过“exit”退出slave1,回到master,再通过“ssh slave2”进入slave2节点,按照步骤(1)-(5)安装。 | ||
+ | |||
(8) 安装完毕后,通过命令“exit”退出slave2,回到master节点。 | (8) 安装完毕后,通过命令“exit”退出slave2,回到master节点。 | ||
− | + | ||
+ | ===修改Hadoop配置文件=== | ||
以下步骤均在之前创建的虚拟机master上操作。 | 以下步骤均在之前创建的虚拟机master上操作。 | ||
+ | |||
(1) 在/opt/software有Hadoop的安装包,执行命令“tar -zxf /opt/software/hadoop-2.6.4.tar.gz -C /usr/local”将Hadoop安装包解压到虚拟机master的/usr/local目录下。 | (1) 在/opt/software有Hadoop的安装包,执行命令“tar -zxf /opt/software/hadoop-2.6.4.tar.gz -C /usr/local”将Hadoop安装包解压到虚拟机master的/usr/local目录下。 | ||
+ | |||
(2) 进入/usr/local/hadoop-2.6.4/etc/hadoop目录, | (2) 进入/usr/local/hadoop-2.6.4/etc/hadoop目录, | ||
+ | |||
(3) 使用命令“vi”修改相关的配置的文件。 | (3) 使用命令“vi”修改相关的配置的文件。 | ||
第70行: | 第84行: | ||
表 4-1 修改core-site.xml | 表 4-1 修改core-site.xml | ||
− | <configuration> | + | <nowiki><configuration> |
<property> | <property> | ||
第89行: | 第103行: | ||
</configuration> | </configuration> | ||
+ | </nowiki> | ||
修改hadoop-env.sh文件,该文件是Hadoop运行基本环境的配置,需要修改为JDK的实际位置。故在该文件中修改JAVA_HOME值为本机安装位置,如表 4-2所示。 | 修改hadoop-env.sh文件,该文件是Hadoop运行基本环境的配置,需要修改为JDK的实际位置。故在该文件中修改JAVA_HOME值为本机安装位置,如表 4-2所示。 | ||
第94行: | 第109行: | ||
表 4-2 修改hadoop-env.sh | 表 4-2 修改hadoop-env.sh | ||
− | export JAVA_HOME=/usr/java/jdk1.8.0_151 | + | export JAVA_HOME=/usr/java/jdk1.8.0_151 |
修改yarn-env.sh,在该文件中修改JAVA_HOME值为本机安装位置,如表 4-3所示。 | 修改yarn-env.sh,在该文件中修改JAVA_HOME值为本机安装位置,如表 4-3所示。 | ||
第100行: | 第115行: | ||
表 4-3 修改yarn-env.sh文件 | 表 4-3 修改yarn-env.sh文件 | ||
− | # export JAVA_HOME=/home/y/libexec/jdk1.6.0/ | + | <nowiki># export JAVA_HOME=/home/y/libexec/jdk1.6.0/ |
− | export JAVA_HOME=/usr/java/jdk1.8.0_151 | + | export JAVA_HOME=/usr/java/jdk1.8.0_151</nowiki> |
修改mapred-site.xml,该文件是从mapred-site.xml.template文件复制得到的,复制命令为“cp mapred-site.xml.template mapred-site.xml”,修改内容如表 4-4所示。 | 修改mapred-site.xml,该文件是从mapred-site.xml.template文件复制得到的,复制命令为“cp mapred-site.xml.template mapred-site.xml”,修改内容如表 4-4所示。 | ||
第108行: | 第123行: | ||
表 4-4 修改mapred-site.xml | 表 4-4 修改mapred-site.xml | ||
− | <configuration> | + | <nowiki><configuration> |
<property> | <property> | ||
第136行: | 第151行: | ||
</property> | </property> | ||
− | </configuration> | + | </configuration></nowiki> |
修改yarn-site.xml文件,修改内容如表 4-5所示。 | 修改yarn-site.xml文件,修改内容如表 4-5所示。 | ||
第142行: | 第157行: | ||
表 4-5 修改yarn-site.xml | 表 4-5 修改yarn-site.xml | ||
− | <configuration> | + | <nowiki><configuration> |
<!-- Site specific YARN configuration properties --> | <!-- Site specific YARN configuration properties --> | ||
第308行: | 第323行: | ||
</property> | </property> | ||
− | </configuration> | + | </configuration></nowiki> |
修改slaves文件,该文件里面保存有slave节点的信息,在slaves文件里面删除原先的localhost,添加如表 4-6所示的内容。 | 修改slaves文件,该文件里面保存有slave节点的信息,在slaves文件里面删除原先的localhost,添加如表 4-6所示的内容。 | ||
第314行: | 第329行: | ||
表 4-6 修改slaves文件 | 表 4-6 修改slaves文件 | ||
− | slave1 | + | <nowiki>slave1 |
− | slave2 | + | slave2</nowiki> |
修改hdfs-site.xml文件,修改内容如表 4-7所示。 | 修改hdfs-site.xml文件,修改内容如表 4-7所示。 | ||
第322行: | 第337行: | ||
表 4-7 修改hdfs-site.xml文件 | 表 4-7 修改hdfs-site.xml文件 | ||
− | <configuration> | + | <nowiki><configuration> |
<property> | <property> | ||
第357行: | 第372行: | ||
</configuration> | </configuration> | ||
+ | </nowiki> | ||
除了上述的7个文件,还需要修改/etc/hosts文件,该文件配置的是主机名与IP地址的映射。本次搭建的集群共有3个节点,其主机名及IP地址在实训环境中已配置完成,且各节点时间已同步。 | 除了上述的7个文件,还需要修改/etc/hosts文件,该文件配置的是主机名与IP地址的映射。本次搭建的集群共有3个节点,其主机名及IP地址在实训环境中已配置完成,且各节点时间已同步。 | ||
− | + | ||
− | + | ==启动关闭集群== | |
+ | ===配置环境变量=== | ||
在master上修改/etc/profile文件,在文件末尾修改如表 4-10所示内容,文件修改完保存退出,执行命令“source /etc/profile”使配置生效。 | 在master上修改/etc/profile文件,在文件末尾修改如表 4-10所示内容,文件修改完保存退出,执行命令“source /etc/profile”使配置生效。 | ||
第366行: | 第383行: | ||
表 4-10 设置环境变量 | 表 4-10 设置环境变量 | ||
− | export HADOOP_HOME=/usr/local/hadoop-2.6.4 | + | <nowiki>export HADOOP_HOME=/usr/local/hadoop-2.6.4 |
+ | |||
+ | export PATH=$HADOOP_HOME/bin:$PATH</nowiki> | ||
− | |||
(2) 执行代码 4-1所示代码,将Hadoop安装包、/etc/profile文件复制传输到slave1、slave2节点。 | (2) 执行代码 4-1所示代码,将Hadoop安装包、/etc/profile文件复制传输到slave1、slave2节点。 | ||
代码 4-2 发送安装包到子节点 | 代码 4-2 发送安装包到子节点 | ||
− | scp -r /usr/local/hadoop-2.6.4 slave1:/usr/local | + | <nowiki>scp -r /usr/local/hadoop-2.6.4 slave1:/usr/local |
scp -r /usr/local/hadoop-2.6.4 slave2:/usr/local | scp -r /usr/local/hadoop-2.6.4 slave2:/usr/local | ||
第383行: | 第401行: | ||
ssh slave1 "source /etc/profile" | ssh slave1 "source /etc/profile" | ||
− | ssh slave2 "source /etc/profile" | + | ssh slave2 "source /etc/profile"</nowiki> |
+ | |||
(3) 在master上执行命令“hdfs namenode -format”进行格式化,若出现“Storage directory hadoop/hdfs/name has been successfully formatted”提示,则格式化成功,如图 4-9所示。 | (3) 在master上执行命令“hdfs namenode -format”进行格式化,若出现“Storage directory hadoop/hdfs/name has been successfully formatted”提示,则格式化成功,如图 4-9所示。 | ||
− | + | 图 4-8格式化成功提示 | |
− | |||
(4) 启动集群 | (4) 启动集群 | ||
第395行: | 第413行: | ||
代码 4-3 启动集群 | 代码 4-3 启动集群 | ||
− | cd $HADOOP_HOME // 进入Hadoop安装目录 | + | <nowiki>cd $HADOOP_HOME // 进入Hadoop安装目录 |
sbin/start-dfs.sh // 启动HDFS相关服务 | sbin/start-dfs.sh // 启动HDFS相关服务 | ||
第401行: | 第419行: | ||
sbin/start-yarn.sh // 启动YARN相关服务 | sbin/start-yarn.sh // 启动YARN相关服务 | ||
− | sbin/mr-jobhistory-daemon.sh start historyserver // 启动日志相关服务 | + | sbin/mr-jobhistory-daemon.sh start historyserver // 启动日志相关服务</nowiki> |
集群启动之后,在主节点master,子节点slave1,slave2分别执行jps,出现如图 4-10所示的信息,说明集群启动没问题。 | 集群启动之后,在主节点master,子节点slave1,slave2分别执行jps,出现如图 4-10所示的信息,说明集群启动没问题。 | ||
− | + | 图 4-9 jps查看进程 | |
− | |||
(5) 同理,关闭集群也只需要在master节点,直接进入Hadoop安装目录,分别执行如代码 4-3所示的命令。 | (5) 同理,关闭集群也只需要在master节点,直接进入Hadoop安装目录,分别执行如代码 4-3所示的命令。 | ||
代码 4-4关闭集群 | 代码 4-4关闭集群 | ||
− | cd $HADOOP_HOME // 进入Hadoop安装目录 | + | <nowiki>cd $HADOOP_HOME // 进入Hadoop安装目录 |
sbin/stop-yarn.sh // 关闭YARN相关服务 | sbin/stop-yarn.sh // 关闭YARN相关服务 | ||
第418行: | 第435行: | ||
sbin/stop-dfs.sh // 关闭HDFS相关服务 | sbin/stop-dfs.sh // 关闭HDFS相关服务 | ||
− | sbin/mr-jobhistory-daemon.sh stop historyserver // 关闭日志相关服务 | + | sbin/mr-jobhistory-daemon.sh stop historyserver // 关闭日志相关服务</nowiki> |
2021年10月7日 (四) 09:57的版本
Java安装及Hadoop完全分布式集群搭建
实训目标
(1) 掌握在Linux下安装Java。
(2) 掌握配置Hadoop完全分布式集群。
(3) 掌握Hadoop集群的启动与关闭。
实训环境
(1) 使用CentOS6.10以上版本的Linux操作系统虚拟节点3个。
(2) 使用1.8的JDK。
(3) 使用2.6.4版本的Hadoop安装包。
实训内容
(1) 在Linux下安装Java。
(2) 修改Hadoop配置文件。
(3) 启动关闭Hadoop集群。
实训步骤
前置步骤
(1) 在Linux终端执行命令“initnetwork”,或者双击桌面上名称为“初始化网络”的图标,初始化实训平台网络。
(2) 在Linux终端执行命令“wget -P /opt/software http://datasrc.tipdm.net:81/bigdata/hadoop/software/jdk-8u151-linux-x64.rpm”,下载jdk-8u151-linux-x64.rpm到Linux本地/opt/software目录。
(3) 在Linux终端执行命令“wget -P /opt/software http://datasrc.tipdm.net:81/bigdata/hadoop/software/hadoop-2.6.4.tar.gz”,下载hadoop-2.6.4.tar.gz到Linux本地/opt/software目录。
(4) 在Linux终端执行如代码 4-1所示命令,将Java安装包发送到子节点上。
代码 4-1 远程发送Java安装包
ssh slave1 "mkdir /opt/software" ssh slave2 "mkdir /opt/software" scp /opt/software/jdk-8u151-linux-x64.rpm slave1:/opt/software/ scp /opt/software/jdk-8u151-linux-x64.rpm slave2:/opt/software/
在Linux下安装Java
(1) 在命令终端输入命令“java -version”查看当前环境下是否有安装Java,若如图 4-1所示,则当前环境并没有安装Java。若如图 4-2所示,则表明当前环境已完成安装,为保证集群各节点的Java版本一致,此时可通过命令“rpm -e $(rpm -qa |grep java-1.8.0) --nodeps”将已有包卸载。
图 4-1 查看Java版本1
图 4-2查看Java版本2
(2) 使用命令“cd /opt/software/”进入/opt/software目录,执行命令“rpm –ivh jdk-8u151-linux-x64.rpm”安装JDK,如图 4-2所示。
图 4-4安装JDK
(3) 通过命令“vi /etc/profile”编辑/etc/profile文件,按G跳到文件末尾,按o进入编辑状态,在/etc/profile文件末尾添加Java的环境变量,如图 4-3所示。
图 4-5 配置Java环境变量
(4) 先按Esc,后输入“:wq”回车进行保存退出,回到终端,执行命令“source /etc/profile”使配置即时生效。
(5) 验证JDK是否配置成功,执行命令“java -version”,如图 4-4所示说明JDK配置成功。
图 4-6验证JDK配置成功
(6) 进入节点slave1配置Java,通过“ssh slave1”进入slave1节点,按照步骤(1)-(5)安装。
(7) 进入节点slave2配置Java,先通过“exit”退出slave1,回到master,再通过“ssh slave2”进入slave2节点,按照步骤(1)-(5)安装。
(8) 安装完毕后,通过命令“exit”退出slave2,回到master节点。
修改Hadoop配置文件
以下步骤均在之前创建的虚拟机master上操作。
(1) 在/opt/software有Hadoop的安装包,执行命令“tar -zxf /opt/software/hadoop-2.6.4.tar.gz -C /usr/local”将Hadoop安装包解压到虚拟机master的/usr/local目录下。
(2) 进入/usr/local/hadoop-2.6.4/etc/hadoop目录,
(3) 使用命令“vi”修改相关的配置的文件。
修改core-site.xml文件,添加如表 4-1所示的内容。
表 4-1 修改core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/log/hadoop/tmp</value> </property> </configuration>
修改hadoop-env.sh文件,该文件是Hadoop运行基本环境的配置,需要修改为JDK的实际位置。故在该文件中修改JAVA_HOME值为本机安装位置,如表 4-2所示。
表 4-2 修改hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_151
修改yarn-env.sh,在该文件中修改JAVA_HOME值为本机安装位置,如表 4-3所示。
表 4-3 修改yarn-env.sh文件
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/ export JAVA_HOME=/usr/java/jdk1.8.0_151
修改mapred-site.xml,该文件是从mapred-site.xml.template文件复制得到的,复制命令为“cp mapred-site.xml.template mapred-site.xml”,修改内容如表 4-4所示。
表 4-4 修改mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- jobhistory properties --> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> </configuration>
修改yarn-site.xml文件,修改内容如表 4-5所示。
表 4-5 修改yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>${yarn.resourcemanager.hostname}:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>${yarn.resourcemanager.hostname}:8030</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>${yarn.resourcemanager.hostname}:8088</value> </property> <property> <name>yarn.resourcemanager.webapp.https.address</name> <value>${yarn.resourcemanager.hostname}:8090</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>${yarn.resourcemanager.hostname}:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>${yarn.resourcemanager.hostname}:8033</value> </property> <property> <name>yarn.nodemanager.local-dirs</name> <value>/hadoop/yarn/local</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>/tmp/yarn/logs</value> </property> <property> <name>yarn.log.server.url</name> <value>http://master:19888/jobhistory/logs/</value> <description>URL for job history server</description> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>2048</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>512</value> </property> <property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>4096</value> </property> <property> <name>mapreduce.map.memory.mb</name> <value>2048</value> </property> <property> <name>mapreduce.reduce.memory.mb</name> <value>2048</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>1</value> </property> </configuration>
修改slaves文件,该文件里面保存有slave节点的信息,在slaves文件里面删除原先的localhost,添加如表 4-6所示的内容。
表 4-6 修改slaves文件
slave1 slave2
修改hdfs-site.xml文件,修改内容如表 4-7所示。
表 4-7 修改hdfs-site.xml文件
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:///hadoop/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///hadoop/hdfs/data</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> </configuration>
除了上述的7个文件,还需要修改/etc/hosts文件,该文件配置的是主机名与IP地址的映射。本次搭建的集群共有3个节点,其主机名及IP地址在实训环境中已配置完成,且各节点时间已同步。
启动关闭集群
配置环境变量
在master上修改/etc/profile文件,在文件末尾修改如表 4-10所示内容,文件修改完保存退出,执行命令“source /etc/profile”使配置生效。
表 4-10 设置环境变量
export HADOOP_HOME=/usr/local/hadoop-2.6.4 export PATH=$HADOOP_HOME/bin:$PATH
(2) 执行代码 4-1所示代码,将Hadoop安装包、/etc/profile文件复制传输到slave1、slave2节点。
代码 4-2 发送安装包到子节点
scp -r /usr/local/hadoop-2.6.4 slave1:/usr/local scp -r /usr/local/hadoop-2.6.4 slave2:/usr/local scp /etc/profile slave1:/etc/profile scp /etc/profile slave2:/etc/profile ssh slave1 "source /etc/profile" ssh slave2 "source /etc/profile"
(3) 在master上执行命令“hdfs namenode -format”进行格式化,若出现“Storage directory hadoop/hdfs/name has been successfully formatted”提示,则格式化成功,如图 4-9所示。
图 4-8格式化成功提示
(4) 启动集群
在master节点,进入Hadoop安装目录,分别执行如代码 4-2所示的命令。
代码 4-3 启动集群
cd $HADOOP_HOME // 进入Hadoop安装目录 sbin/start-dfs.sh // 启动HDFS相关服务 sbin/start-yarn.sh // 启动YARN相关服务 sbin/mr-jobhistory-daemon.sh start historyserver // 启动日志相关服务
集群启动之后,在主节点master,子节点slave1,slave2分别执行jps,出现如图 4-10所示的信息,说明集群启动没问题。
图 4-9 jps查看进程
(5) 同理,关闭集群也只需要在master节点,直接进入Hadoop安装目录,分别执行如代码 4-3所示的命令。
代码 4-4关闭集群
cd $HADOOP_HOME // 进入Hadoop安装目录 sbin/stop-yarn.sh // 关闭YARN相关服务 sbin/stop-dfs.sh // 关闭HDFS相关服务 sbin/mr-jobhistory-daemon.sh stop historyserver // 关闭日志相关服务