完全分布式
一、配置集群
Hadoop100 | Hadoop101 | Hadoop102 | |
HDFS | Namenode Datanode | Datanode | 2nn |
YARN | Nm | Rm Nm | Nm |
Namenode(nn)储存文件的元数据
Datanode(dn)在本地文件系统储存文件块数据
Secondary namenode(2nn)每隔一段时间对namenode云数据备份
1.核心配置文件
配置:hadoop-env.sh(在/opt/module/hadoop-3.1.3/etc/hadoop目录下)
Linux系统中获取JDK的安装路径:
[soft863@ hadoop100 ~]# echo $JAVA_HOME
/opt/module/jdk1.8.0_212
在hadoop-env.sh文件中修改JAVA_HOME 路径:
(在第54行修改)
export JAVA_HOME=/opt/module/jdk1.8.0_212
配置core-site.xml
cd $HADOOP_HOME/etc/hadoop
vim core-site.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1000:9820</value>
</property>
<!-- hadoop.tmp.dir是自定义的变量,下面的配置文件会用到 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
</configuration>
2.HDFS配置文件
配置hdfs-site.xml
vim hdfs-site.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- namenode数据存放位置 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.data.dir}/name</value>
</property>
<!-- datanode数据存放位置 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.data.dir}/data</value>
</property>
<!-- secondary namenode数据存放位置 -->
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file://${hadoop.data.dir}/namesecondary</value>
</property>
<!-- datanode重启超时时间是30s,解决兼容性问题,跳过 -->
<property>
<name>dfs.client.datanode-restart.timeout</name>
<value>30</value>
</property>
<!-- 设置web端访问namenode的地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop100:9870</value>
</property>
<!-- 设置web端访问secondary namenode的地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop102:9868</value>
</property>
</configuration>
3.YARN配置文件
配置yarn-site.xml
vim yarn-site.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1001</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
(4)MapReduce配置文件
配置mapred-site.xml
vim mapred-site.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
scp -r hadoop/ hadoop1001:/opt/module/hadoop-3.1.3/etc/
二、集群分发
远程访问某主机:ssh 主机名
并将文件复制过去 退出:exit
Scp -r 拷贝谁 主机名/到谁
递归 100上的文件 101上的文件
Rsync 差异化拷贝
Rsync -av 拷贝谁 到谁
格式化namenode
删除 data 和logs
动集群
- 单启
hdfs--daefon start namenode
2.群起
Start-all.sh