hadoop完全分布式安装配置需要使用 root 用户和 hadoop 用户完成相关配置,使用三个节点完成 Hadoop 完全分布式安装配置。命令中使用绝对路径,hadoop版本为3.3.6。
(1)在 master 节点中的 /opt/software 目录下将文件 hadoop-3.3.6.tar.gz 安装包解压到 /opt/module 路径中;
# 在master上执行
tar -zxvf /opt/software/hadoop-3.3.6.tar.gz -C /opt/module
(2)在 master 节点中将解压的 Hadoop 安装目录重命名为 hadoop ,并修改该目录下的所有文件的所属者为 hadoop,所属组为 hadoop;
# 在master上执行
mv /opt/module/hadoop-3.3.6.tar.gz /opt/module/hadoop
chown -R hadoop:hadoop /opt/module/hadoop
(3)在 master 节点中使用 hadoop 用户依次配置 hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-env.sh、mapred-site.xml、yarn-env.sh、yarn-site.xml、workers 配置文件,Hadoop 集群部署规划如下表;
服务器masterslave1slave2HDFSNameNodeHDFSSecondaryNameNodeHDFSDataNodeDataNodeDataNodeYARNResourceManagerYARNNodeManagerNodeManagerNodeManager历史日志服务器JobHistoryServer
配置hadoop-env.sh
# 在master上执行
vi /opt/module/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/module/jdk
export HADOOP_HOME=/opt/module/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/log
配置core-site.xml
# 在master上执行
vi /opt/module/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
配置hdfs-site.xml
# 在master上执行
vi /opt/module/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.hosts</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
</configuration>
配置mapred-env.sh
# 在master上执行
vi /opt/module/hadoop/etc/hadoop/mapred-env.sh
export JAVA_HOME=/opt/module/jdk
配置mapred-site.xml
# 在master上配置
vi /opt/module/hadoop/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<configuration>
配置yarn-env.sh
# 在master上配置
vi /opt/module/hadoop/etc/hadoop/yarn-env.sh
export JAVA_HOME=/opt/module/jdk
export HADOOP_HOME=/opt/module/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
配置yarn-site.xml
# 在master上配置
vi /opt/module/hadoop/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>
</configuration>
配置workers
vi /opt/module/hadoop/etc/hadoop/workers
master
slave1
slave2
(4)在 master 节点中使用 scp 命令将配置完的 hadoop 安装目录直接拷贝
至 slave1 和 slave2 节点;
# 在master上执行
scp -r /opt/module/hadoop slave1:/opt/module
scp -r /opt/module/hadoop slave2:/opt/module
(5)在 slave1 和 slave2 节点中将 hadoop 安装目录的所有文件的所属者为 hadoop,所属组为 hadoop;
# 在slave1上执行
chown -R hadoop:hadoop /opt/module/hadoop
# 在slave2上执行
chown -R hadoop:hadoop /opt/module/hadoop
(6)在三个节点的 /etc/profile 文件中配置 Hadoop 环境变量 HADOOP_HOME 和 PATH 的值,并让配置文件立即生效;
# 在三台服务器执行
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
(7) 在 master 节点中初始化 Hadoop 环境 namenode;
# 在master上执行
hadoop namenode -format
(8) 在 master 节点中依次启动 HDFS、YARN 集群和历史服务。在 master 上将执行命令 jps 查看java进程情况;
# 在master上执行
start-dfs.sh
start-yarn.sh
mapred --daemon start historyserver
jps
# jps输出结果如下
NameNode
DataNode
SecondaryNameNode
NodeManager
ResourceManager
JobHistoryServer
Jps
(9) 在 slave1 上将执行命令 jps 查看java进程情况;
# 在slave1上执行
jps
# jps输出结果如下
DataNode
NodeManager
Jps
版权归原作者 平台搭建与运维 所有, 如有侵权,请联系我们删除。