Hadoop伪分布环境部署之Hadoop

本文提供了一步一步的指导,帮助读者了解如何在Linux环境下安装和配置Hadoop集群,包括JDK与Hadoop的环境变量配置、SSH无密码登录设置、关闭防火墙、hosts文件配置、关键的Hadoop配置文档变量设定、格式化namenode、启动守护进程等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将JDK与Hadoop解压到/opt/ydbsoftware
使用 tar -zxvf 解压 tar.gz文件
使用 unzip 解压.zip文件
1.配置JAVA_HOME及HADOOP_HOME
关于JAVA_HOME配置
HADOOP_HOME配置

使用vi命令打开/etc/profile/
在文档下方添加:
export HADOOP_HOME=/opt/ydbsoftware/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
在path变量中添加:
$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

2.配置SSH无密码登陆

ssh-keygen
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

3.关闭防火墙

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
chkconfig iptables off
/etc/init.d/iptables stop

4.配置hosts文件

hostname ydbmaster
vi /etc/sysconfig/network
vi /etc/hosts

5常见的hadoop配置文档变量
core-site.xml配置项有:

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://master</value>
</property>

#设置默认的hdfs文件系统名uri,uri的作用是用来确定一个文件系统的主机,端口号等
<property>
  <name>hadoop.tmp.dir</name>
  <value>/data/tmp/hadoop</value>
</property>

#hadoop的临时文件目录

hadoop-env.sh配置项有:

export JAVA_HOME=/opt/ydbmaster/jdk1.8.0_60
# java_home
export HADOOP_LOG_DIR=/data/log/hadoop
# hadoop的log目录
export HADOOP_PID_DIR=/data/run/hadoop
# hadoop的pid目录
export YARN_LOG_DIR=/data/log/yarn
# yarn的log目录

hdfs-site.xml配置项有:

#副本数
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
#名称节点列表目录
<property>
  <name>dfs.namenode.name.dir</name>
  <value>/data/hadoop/hdfs/nn</value>
</property>
#数据节点目录
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data/hadoop/hdfs/dn</value>
</property>
#Snamenode目录
<property>
  <name>dfs.namenode.checkpoint.dir</name>
  <value>/data/hadoop/hdfs/sn</value>
</property>
#SnamenodeUI页面
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>master:50090</value>
</property>

yarn-site.xml配置项有

#配置主机的hosts
 <property>
  <name>yarn.resourcemanager.hostname</name>
  <value>master</value>
</property>
#nodemanager的总可用内存 
<property>
  <name>yarn.nodemanager.resource.memory-mb</name>
  <value>6144</value>
</property>
#nodemanager可用的cpu vcore 数,系统核数的80%
<property>
  <name>yarn.nodemanager.resource.cpu-vcores</name>
  <value>6</value>
</property>
#yarn的最小计费机制,改为32m
<property>
  <name>yarn.scheduler.minimum-allocation-mb</name>
  <value>32</value>
</property>
#yarn能够使用的内存最大值,配置为系统内存的80%
<property>
  <name>yarn.scheduler.maximum-allocation-mb</name>
  <value>6144</value>
</property>
#yarn能够使用的最小vcore数
<property>
  <name>yarn.scheduler.minimum-allocation-vcores</name>
  <value>1</value>
</property>
#yarn能够使用的最大vcore数,系统vcore数的80%
<property>
  <name>yarn.scheduler.maximum-allocation-vcores</name>
  <value>6</value>
</property>
#yarn的内存检查机制,设置成false
<property>
  <name>yarn.nodemanager.pmem-check-enabled</name>
  <value>false</value>
</property>
#同上
<property>
  <name>yarn.nodemanager.vmem-check-enabled</name>
  <value>false</value>
</property>
#yarn名称节点log目录
<property>
  <name>yarn.nodemanager.log-dirs</name>
  <value>/data/log/yarn</value>
</property>

6.格式化namenode
进入hadoop根目录,输入如下命令

./bin/hdfs namenode -format 

7.开启namenode 和datanode 守护进程

./sbin/start-dfs.sh

8.检测
通过jps命令;判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode”和SecondaryNameNode,如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试
9.排除异常
通过查看启动日志分析启动失败原因,
有时 Hadoop 无法正确启动,如 NameNode 进程没有顺利启动,这时可以查看启动日志来排查原因,注意几点:
启动时会提示形如 “dblab: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-dblab.out”,
其中 dblab 对应你的主机名,但启动的日志信息是记录在 /usr/local/hadoop/logs/hadoop-hadoop-namenode-dblab.log 中,所以应该查看这个后缀为 .log 的文件;
每一次的启动日志都是追加在日志文件之后,所以得拉到最后面看,看下记录的时间就知道了。
一般出错的提示在最后面,也就是写着 Fatal、Error 或者 Java Exception 的地方。
可以在网上搜索一下出错信息,看能否找到一些相关的解决方法。
10.启动yarn

./sbin/start-yarn.sh  

11.启动历史服务器

./sbin/mr-jobhistory-daemon.sh start historyserver

启动历史服务器,开启历史服务器,才能在Web中查看任务运行情况

注:本文中有对其他笔者内容的摘录,在此感谢各位大牛的无私奉献,如内容有误请在评论中留言,我会尽快改正,望诸位不吝赐教。

### 配置Hadoop伪分布环境 #### 设置单节点集群 为了设置Hadoop伪分布式模式,在本地计算机上模拟一个小规模的Hadoop集群,需要修改几个配置文件并启动必要的守护进程。 #### 修改核心站点配置 编辑`core-site.xml`以指定临时目录的位置以及定义NameNode的服务地址: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 此更改告知客户端如何连接到NameNode服务[^1]。 #### 调整HDFS站点参数 对于`hdfs-site.xml`,增加数据副本的数量有助于提高可靠性;即使是在单一机器上的测试环境中也适用。通常会将默认值设为1: ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` 这一步骤减少了冗余度但是简化了实验性的部署过程。 #### MapReduce框架调整 通过更新`mapred-site.xml.template`(可能需先复制一份命名为`mapred-site.xml`),可以切换MapReduce作业跟踪器至YARN ResourceManager: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 上述改动使得MapReduce应用程序能够利用YARN来进行资源管理和调度。 #### 启动辅助名称节点 除了主要组件外,有时还需要开启Secondary NameNode用于周期性地合并fsimage和edits日志文件,命令如下所示[^2]: ```bash ${HADOOP_HOME}/sbin/hadoop-daemon.sh start secondarynamenode ``` 该操作会在后台启动Secondary NameNode,并将其日志记录在一个特定路径下。 #### 安装包验证 如果使用的是基于RPM或DEB软件包管理系统的Linux发行版,则可以通过相应工具查询已安装的Hadoop伪分布配置包中的具体文件列表[^3]: - 对于Red Hat/SUSE系统:`rpm -ql hadoop-0.20-conf-pseudo` - 对于Ubuntu系统:`dpkg -L hadoop-0.20-conf-pseudo` 以上指令可以帮助确认当前环境下是否存在预配置好的伪分布式设定项。 完成这些步骤之后,应该已经成功搭建了一个基本可用的Hadoop伪分布式实例。接下来就可以尝试上传一些样本数据集并通过简单的WordCount例子来检验整个流程是否正常工作了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值