Hadoop-3.2.1集群搭建笔记+启动失败解决方案

集群搭建的笔记记录

通过XFTP等软件将 hadoop-3.2.1.tar.gz 包上传到 Master节点的“/opt”内。

1. 进入opt目录

cd /opt
1.1 解压Hadoop安装包
tar -zxvf hadoop-3.2.1.tar.gz
1.2 重命名:

hadoop-3.2.1”文件夹名称修改为“hadoop”

mv hadoop-3.2.1 hadoop

2. 配置:

2.1 配置env文件
vi /opt/hadoop/etc/hadoop/hadoop-env.sh 

找到 “export JAVA_HOME” 这行,添加java路径

export JAVA_HOME=/usr/local/java/jdk1.8.0_251

Esc+:wq 保存并退出

2.2 进入 cd /opt/hadoop/etc/hadoop 文件夹 配置以下文件

配置 核心组件文件

vi core-site.xml

将下面的配置代码放在文件的 <configuration>和 </configuration> 之间

<property>
	<name>fs.defaultFS</name>
	<value>hdfs://master:9000</value>
</property>
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/hadoop/hadoopdata</value>
</property>
2.3 配置文件系统 :

系统配置文件 hdfs-site.xml:

vi hdfs-site.xml

需要将下面的代码填充到文件的<configuration>和</configuration>之间

<property>

   <name>dfs.replication</name>

   <value>1</value>

</property>
2.4 配置 yarn-site.xml 文件

Yarn的站点配置文件是 yarn-site.xml

vi yarn-site.xml

需要将下面的代码填充到文件的<configuration>和</configuration>之间
(注意主机名master和端口号)。

<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>

<property>
   <name>yarn.resourcemanager.address</name>
   <value>master:18040</value>
</property>

<property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>master:18030</value>
</property>

<property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>master:18025</value>
</property>

<property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>master:18141</value>
</property>

<property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>master:18088</value>
</property>
2.5 配置 MapReduce 计算框架文件

在“/opt/hadoop/etc/hadoop”子目录下,系统已经有一个 mapred-site.xml.template文件,
需要复制并改名,位置不变,命令是

cp /opt/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/etc/hadoop/mapred-site.xml

然后,用 vi编辑 mapred-site.xml 文件,

vi mapred-site.xml

需要将下面的代码填充到文件的<configuration>和</configuration>之间。

<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

2.6 配置 Master 的 slaves 文件:

slaves 文件给出了 Hadoop 集群的 Slave 节点列表。
文件十分重要,启动Hadoop 的时候,系统总是根据当前 slaves 文件中 Slave 节点名称列表启动集群不在列表中的Slave
节点便不会被视为计算节点。

vi slaves

添加(另外两台主机名):

slave0
slave1
2.7 配置环境变量:

进入

cd /opt/hadoop

vi编辑 .bash_profile 文件,

vi ~/.bash_profile

将下述代码追加到文件的尾部(注意Hadoop的目录路径):

#HADOOP
export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

保存 退出,执行以下 命令,使上述配置生效。

source ~/.bash_profile
2.8 创建 Hadoop 数据目录:
 mkdir /opt/hadoop/hadoopdata

注意,这里的数据目录名 “hadoopdata”与前面 Hadoop 核心组件文件core-site.xml中的配置:

  <property><name>hadoop.tmp.dir</name><value>/opt/hadoop/hadoopdata</value>

   </property> 

是一致的。

2.9 复制hadoop到其他机器上

复制 Master 上的 Hadoop 到 Slave 节点:

scp -r /opt/hadoop root@slave0:/opt/hadoop
scp -r /opt/hadoop root@slave1:/opt/hadoop
2.10 格式化文件系统

该操作只需要在 Master 节点上进行,命令是

 hadoop namenode -format
2.11 启动和关闭 Hadoop
cd /opt/hadoop/sbin

start-all.sh 命令启动 Hadoop 集群。
首先进入 Hadoop 安装主目录,然后执行 sbin/start-all.sh 命令,
执行命令后,系统提示“ Are you sure want to continue connecting(yes/no)”,
请输入yes,之后系统即可启动。

stop-all.sh 关闭 Hadoop集群命令。

下次启动 Hadoop 无须 NameNode 初始化 只需**start-dfs.sh**即可

然后接着使用 start-yarn.sh 启动 Yarn

实际上,Hadoop 系统建议放弃(deprecated),使用 start-all.shstop-all.sh 一类的命令,

而改用 start-dfs.shstart-yarn.sh 命令。**

2.12 验证 Hadoop 是否启动成功

检查hadoop启动情况:http://主机ip:50070

终端执行 jps

查看 Hadoop 是否启动成功。

显示的结果是四个进程的名称:
SecondaryNameNode、 ResourceManager、 Jps 和NameNode,

表明主节点( Master )启动成功




失败解决分案:

格式化文件系统hadoop集群启动失败解决方案:

cd /opt/hadoop/sbin

安装源:yum install epel-release -y

Q1:

Starting namenodes on [localhost]

ERROR: Attempting to launch hdfs namenode as root

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch.

解决1:

是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本

vi sbin/start-dfs.sh
vi sbin/stop-dfs.sh

在顶部空白处添加内容:

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

Q2:

Starting resourcemanager
ERROR: Attempting to launch yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.
Starting nodemanagers
ERROR: Attempting to launch yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting launch.

解决2:

是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本

vi sbin/start-yarn.sh
vi sbin/stop-yarn.sh

顶部添加:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=root
YARN_NODEMANAGER_USER=root
  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值