一 环境准备阶段
环境准备阶段可以参考大数据环境生态搭建1-准备阶段_小秃头_的博客-CSDN博客
准备阶段做好后,我开始搭建Hadoop环境:
二 Hadoop安装
根据准备阶段中准备的三台服务器,我选择主节点进行安装hadoop,然后复制到其他节点即可.
1.下载安装包
,Index of /dist/hadoop/core/hadoop-3.1.3
2.解压Hadoop安装包到指定目录 /opt/module/
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
3.重命名 将hadoop-3.1.3 改为 hadoop
mv hadoop-3.1.3 hadoop
4.配置环境变量,并使其生效
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:${HADOOP_HOME}/bin
export PATH=$PATH:${HADOOP_HOME}/sbin
使环境生效: source /etc/profile.d/my_env.sh
切换到根目录执行 hadoop version,显示如下信息,表示环境生效
集群规划
组件 | hadoop101 | hadoop102 | hadoop103 |
HDFS | NN DN | DN | DN SNN |
YARN | NM | RM | NM |
5.配置Hadoop中相应的文件,主要涉及以下几个文件
hadoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml,所有的文件均位于hadoop3.1.1/etc/hadoop下面
(1)修改hadoop-env.sh配置
# 指定JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_381
(2)修改core-site.xml的配置
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9870</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop/data</value>
</property>
<property>
<name>hadoop.proxyuser.atguigu.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
</configuration>
(3)修改hdfs-site.xml配置
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop103:9868</value>
</property>
</configuration>
(4)修改yarn-site.xml配置
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop102</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>
<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>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
(5)修改mapred-site.xml配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(6)配置workers
hadoop101
hadoop102
hadoop103
6.将hadoop101节点配置好的文件分发到hadoop102和hadoop103上
①分别在hadoop102和hadoop103上执行如下的命令
scp -r root@hadoop101:/opt/module/hadoop /opt/module/
②将hadoop101下的/etc/profile.d/my_env.sh的配置文件也拉取到hadoop102和hadoop103上
scp -r root@hadoop101:/etc/profile.d/my_env.sh /etc/profile.d/
#使环境变量生效
source /etc/profile.d/my_env.sh
③检查hadoop102和hadoop103上的hadoop是否安装成功
7.启动集群
1)如果集群是第一次启动,需要在hadoop001节点格式化NameNode(格式化之前一定要先停止所有的NN和DN进程以及删除data文件和log数据)
在主节点(hadoop101)执行下面的命令
显示如下信息,则格式化成功:
2)启动HDFS
启动时,如果报下面的错误
解决办法一:在/etc/profile.d/my_env.sh中添加下面的配置 <记得执行source命令>
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
解决办法二:
①将start-dfs.sh,stop-dfs.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
②将start-yarn.sh,stop-yarn.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
3)启动YARN
①start-dfs.sh ②start-yarn.sh
4)查看web界面http://hadoop102:8088