hadoop单机部署报错

在配置Hadoop过程中遇到了两个主要问题:1)datanode未启动导致liveness节点为0;2)无法访问localhost:50070。第一个问题通过修正/etc/hosts文件解决,添加了主机名到127.0.0.1的映射。第二个问题的根源在于/tmp目录,清空该目录并重新format namenode后问题得到解决。参考了相关博客文章以找到解决方案。

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

今天配置hadoop的时候,过程总是报错。

中途有两个错误:

1,live node 为0

2,localhost:50070打不开

第一个错误的原因是data node没有起来,一步一步排错发现在hadoop namenote -format 这步报了UnknownHostException异常

通过修改/etc/hosts 文件得到解决:

修改/etc/hosts文件

127.0.0.1主机名localhost.localdomain localhost

或是再添加一条

127.0.0.1 主机名

主机名是新加的,原来没有,保存,问题解决。

第二个错误是修改好第一个错误之后,重新格式化,但是namenode没有起来,又是一阵折腾,发现是/tmp文件夹是hdfs的默认文件夹,需要把里边的内容全部删除,然后重新format才可以解决。期间参考了http://mrlee23.iteye.com/blog/2009777这篇文章

### 安装和配置 JDK 为了在 Ubuntu 上安装 Java 开发工具包 (JDK),可以通过官方仓库或者手动下载 Oracle 或者其他版本的 JDK 来完成。通常推荐使用系统的默认库来简化管理。 更新本地软件包索引并安装 OpenJDK: ```bash sudo apt update && sudo apt install default-jdk -y ``` 验证安装是否成功,通过命令 `java -version` 可以查看当前使用的Java版本[^3]。 ### 配置环境变量 编辑 `/etc/profile` 文件,在文件末尾追加如下内容以便设置 JAVA_HOME 环境变量: ```bash export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 这里应替换为您实际安装路径 export PATH=$PATH:$JAVA_HOME/bin ``` 使更改生效: ```bash source /etc/profile ``` 再次运行 `echo $JAVA_HOME` 应该返回之前设定好的目录位置;同样地,执行 `which java` 将指向 `$JAVA_HOME/bin/java`. ### 下载与解压 Hadoop 前往 Apache Hadoop 的官方网站获取最新稳定版 tarball 并上传至服务器或直接利用 wget 命令行工具下载到本地机器上。假设已经放置于 `/opt/hadoop.tar.gz`, 接下来的操作就是创建目标文件夹并将压缩包内的资料释放进去: ```bash mkdir -p /opt/hadoop tar zxvf hadoop.tar.gz --strip-components=1 -C /opt/hadoop/ chown -R $USER:$GROUPS /opt/hadoop ``` 这里 `-p` 参数确保父级目录被一同建立起来而不会报错;`--strip-components=1` 则告诉 tar 不要保留最外层的文件夹结构. ### 修改 Hadoop 配置文件 进入刚刚解压出来的 conf 目录下修改必要的几个 XML 格式的配置文档,比如 core-site.xml, hdfs-site.xml 和 yarn-site.xml 。这些文件定义了集群内部节点间通信所需的各种参数以及端口监听情况等重要信息[^2]. #### 编辑 core-site.xml 添加如下属性: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 这指定了 NameNode 默认地址为本机上的 9000 端口。 #### 对于单机伪分布模式而言,还需要调整 hdfs-site.xml : ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> ... </configuration> ``` 此部分设定了数据块复制因子为一,即不进行冗余备份操作。 最后一步是初始化 namenode ,启动所有服务组件,并检查状态日志确认一切正常工作。 ```bash /opt/hadoop/bin/hdfs namenode -format start-dfs.sh jps ``` 如果看到类似于 SecondaryNameNode, DataNode, NameNode 的进程列表,则说明基本部署已完成[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值