目录
1.集群部署规划
表1-1 集群部署规划
主机名 | master | slave1 | slave2 |
HDFS | NameNode | SecondaryNameNode DataNode | DataNode |
YARN | NodeManage | ResourceManager NodeManager |
2.安装JDK
在/目录下创建文件夹来存放相对应的软件包、数据和软件。
[root@master ~]# mkdir -p /export/software
[root@master ~]# mkdir -p /export/data
[root@master ~]# mkdir -p /export/servers
进入/export/software目录,将JDK软件包导入该目录下。注意:上传文件时,若出现乱码,关闭远程连接软件重新上传一次或者直接将文件拖入窗口。
[root@master ~]# cd /export/software
[root@master software]# rz -be
[root@master software]# ls
jdk-8u141-linux-x64.tar.gz
[root@master software]#
解压JDK软件包到/export/servers目录下,并重命名为jdk。
[root@master software]# tar -zxvf jdk-8u141-linux-x64.tar.gz -C /export/servers/
[root@master software]# cd /export/servers/
[root@master servers]# ls
jdk1.8.0_141
[root@master servers]# mv jdk1.8.0_141 jdk
[root@master servers]# ls
jdk
[root@master servers]#
配置JDK环境变量。将以下内容写入配置文件profile末尾,如图2-1所示。
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@master servers]# vi /etc/profile
图2-1 JDK环境变量配置内容
让修改后的文件生效,并测试JDK是否安装成功。若出现JDK版本信息表示JDK安装成功。
[root@master servers]# source /etc/profile
[root@master servers]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[root@master servers]#
3.安装Hadoop
步骤与安装JDK类似部分不再赘述。上传、解压Hadoop软件包。
[root@master servers]# cd /export/software/
[root@master software]# rz -be
[root@master software]# ls
hadoop-2.6.4.tar.gz jdk-8u141-linux-x64.tar.gz
[root@master software]# tar -zxvf hadoop-2.6.4.tar.gz -C /export/servers/
[root@master software]# cd /export/servers/
[root@master servers]# ls
hadoop-2.6.4 jdk
[root@master servers]#
配置Hadoop环境变量。将以下内容写入配置文件profile末尾,如图3-1所示。
export HADOOP_HOME=/export/servers/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
图3-1 Hadoop环境变量配置内容
让修改后的文件生效,并测试Hadoop是否安装成功。若出现Hadoop版本信息表示Hadoop安装成功。
[root@master servers]# source /etc/profile
[root@master servers]# hadoop version
Hadoop 2.6.4
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 5082c73637530b0b7e115f9625ed7fac69f937e6
Compiled by jenkins on 2016-02-12T09:45Z
Compiled with protoc 2.5.0
From source with checksum 8dee2286ecdbbbc930a6c87b65cbc010
This command was run using /export/servers/hadoop-2.6.4/share/hadoop/common/hadoop-common-2.6.4.jar
[root@master servers]#
4.文件配置
配置core-site.xml。
注意:如果打开的文件是一个空白文件,说明是新建了该文件,不保存退出,检查路径或文件名是否有错
[root@master servers]# cd hadoop-2.6.4/etc/hadoop/
[root@master hadoop]# vi core-site.xml
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/export/servers/hadoop-2.6.4/tmp</value>
</property>
</configuration>
配置hdfs-site.xml。
[root@master hadoop]# vi hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:50090</value>
</property>
配置yarn-site.xml。
[root@master hadoop]# vi yarn-site.xml
<configuration>
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave2</value>
</property>
</configuration>
配置mapred-site.xml。
[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@master hadoop]# vi mapred-site.xml
<configuration>
<!-- 指定MR运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
分别配置hadoop-env.sh、yarn-env.sh和mapred-env.sh文件。配置JAVA_HOME环境变量,注意:有些JAVA_HOME变量前有#号注释,需要删除。
export JAVA_HOME=/export/servers/jdk
[root@master hadoop]# vi hadoop-env.sh
[root@master hadoop]# vi yarn-env.sh
[root@master hadoop]# vi mapred-env.sh
配置slaves文件。打开该配置文件,先删除里面的内容(默认localhost),然后配置以下内容:
slave1
slave2
[root@master hadoop]# vi slaves
该文件中写入哪个主机名,哪个主机就会存在datanode节点。按照集群部署规划,slave1和slave2主机拥有datanode,因此写入这两行内容。
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。