本文安装配置步骤除第1步外,全程参考官方文档
机器配置如下(虚拟机)
角色 | IP | 内存 | 硬盘 | 硬盘 |
---|---|---|---|---|
master | 192.168.1.202 | 3g | 20g | centos |
slave1 | 192.168.1.203 | 3g | 20g | centos |
slave2 | 192.168.1.204 | 3g | 20g | centos |
防火墙全关,selinux关闭
3台机器都如此操作
执行如下命令
sudo vim /etc/hosts
输入如下内容
192.168.1.202 master
192.168.1.203 slave1
192.168.1.204 slave2
保存并退出
3台机器都如此操作
执行如下命令
ssh-keygen -t rsa
3台机器都如此操作
使用ssh-copy-id 指令操作
以下指令,一行一行的执行。
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
中途需要输入对应主机的密码。
配置完成后,
用ssh 指令进行测试,如果不需要密码就登陆成功,说明配置成功
按照官方要求,必须安装Java环境。
Hadoop-3.3及以上,只能使用JDK8-11Apache Hadoop 3.3及更高版本支持Java 8和Java 11(仅运行时)
从3.0到3.2的Apache Hadoop现在仅支持Java 8
从2.7.x到2.x的Apache Hadoop支持Java 7和8
安装方法
这里安装的hadoop3.3,所以下载地址也是3.3版本的
下载地址
解压到 /data/hadoop-3.3.0
#/path/to/java 指 Java的安装路径
#/path/to/hadoop 指 hadoop的安装路径
export JAVA_HOME=/path/to/java
export HADOOP_HOME=/path/to/hadoop
<!--配置hdfs文件系统的命名空间-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9820</value>
</property>
<!-- 配置操作hdfs的存冲大小 -->
<property>
<name>io.file.buffer.size</name>
<value>1024</value>
</property>
<!-- 配置临时数据存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop-3.3.0/tmp</value>
</property>
配置 NameNode
<!--配置副本数-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!--NameNode永久存储名称空间和事务日志的本地文件系统上的路径。-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop-3.3.0/hdfs/name</value>
</property>
<!--dfs的snn的web ui 地址-->
<!--The secondary namenode http server address and port. -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:9868</value>
</property>
配置 DataNode
<!--hdfs的数据存储位置,逗号分隔的DataNode本地文件系统上应存储其块的路径列表。-->
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop-3.3.0/hdfs/data</value>
</property>
配置ResourceManager
<!--指定resourcemanager所启动的服务器主机名-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!--指定resourcemanager的内部通讯地址-->
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<!--指定scheduler的内部通讯地址-->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<!--在资源管理器中分配给每个容器请求的最小内存限制,单位MB。 按实际配置进行合理划分-->
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<!--在资源管理器中分配给每个容器请求的最大内存限制。单位MB。 按实际配置进行合理划分-->
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<!--指定resourcemanager.webapp的ui监控地址-->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<!--指定resourcemanager.admin的内部通讯地址-->
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<!--指定resource-tracker的内部通讯地址-->
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
配置NodeManager
<!--指定mapreduce的shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
MapReduce配置
<!--指定mapreduce运行框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--历史服务的通信地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<!--历史服务的web ui地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
官网原文 it is recommended that HDFS and YARN run as separate users. In the majority of installations, HDFS processes execute as ‘hdfs’. YARN is typically using the ‘yarn’ account.
useradd hdfs
passwd hdfs
因为centos默认没有sudo组,可以将你的用户指向wheel用户组, wheel用户组同样有sudo权限
所以在centos上可以使用如下命令添加用户组
usermod -a -G wheel hdfs
以同样的方式创建 yarn 用户。
使用hdfs 用户 在hadoop的安装目录中创建 hdfs/data 和 *hdfs/name 文件夹,用于保存hdfs的namenode的数据和datanode的数据
创建 tmp 文件夹,保存临时数据
创建 logs 文件夹,用于保存日志文件,且该文件夹需要 赋予所有的权限,以便yarn用户在启动yarn程序时可以访问该目录
su hdfs
cd /data/hadoop-3.0.0/bin
./hdfs namenode -format
初始化结果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lafWY6HQ-1600619166482)(https://donkeyx.top/cloud/data/User/donkeyx/home/%E4%B8%8D%E8%A6%81%E5%A4%A7%E8%B0%88%E6%A2%A6%E6%83%B3/%E5%A4%A7%E6%95%B0%E6%8D%AE/hadoop/%E5%9B%BE%E7%89%87/2.png)]
cd /data/hadoop-3.0.0/sbin
./start-dfs.sh
启动结果如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9vGDSU3r-1600619166484)(https://donkeyx.top/cloud/data/User/donkeyx/home/%E4%B8%8D%E8%A6%81%E5%A4%A7%E8%B0%88%E6%A2%A6%E6%83%B3/%E5%A4%A7%E6%95%B0%E6%8D%AE/hadoop/%E5%9B%BE%E7%89%87/3.png)]
su yarn
cd /data/hadoop-3.0.0/sbin
./start-yarn.sh
地址:http://master:9870
结果如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2CREqrms-1600619166486)(https://donkeyx.top/cloud/data/User/donkeyx/home/%E4%B8%8D%E8%A6%81%E5%A4%A7%E8%B0%88%E6%A2%A6%E6%83%B3/%E5%A4%A7%E6%95%B0%E6%8D%AE/hadoop/%E5%9B%BE%E7%89%87/5.png)]
可以看到有3个节点存活
地址:http://master:8088
结果如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UCovgYwt-1600619166487)(https://donkeyx.top/cloud/data/User/donkeyx/home/%E4%B8%8D%E8%A6%81%E5%A4%A7%E8%B0%88%E6%A2%A6%E6%83%B3/%E5%A4%A7%E6%95%B0%E6%8D%AE/hadoop/%E5%9B%BE%E7%89%87/6.png)]
安装完成