当前位置: 首页 > news >正文

单机伪分布Hadoop详细配置

目录

  • 1. 引言
  • 2. 配置单机Hadoop
    • 2.1 下载并解压JDK1.8、Hadoop3.3.6
    • 2.2 配置环境变量
    • 2.3 验证JDK、Hadoop配置
  • 3. 伪分布Hadoop
    • 3.1 配置ssh免密码登录
    • 3.2 配置伪分布Hadoop
      • 3.2.1 修改hadoop-env.sh
      • 3.2.2 修改core-site.xml
      • 3.2.3 修改hdfs-site.xml
      • 3.2.4 修改yarn-site.xml
      • 3.2.5 修改mapred-site.xml
      • 3.2.6 格式化namenode
    • 3.3 测试Hadoop
  • 参考

1. 引言

  不知道是不是Docker的原因,导致我电脑的系统盘健康度急剧减少。
在这里插入图片描述
  换了一个SSD,安装Docker后发现健康度又掉了1%,所以接下来只能用华为云开发空间的2CPU4G内存云主机来重新配置Hadoop。

2. 配置单机Hadoop

2.1 下载并解压JDK1.8、Hadoop3.3.6

  首先在https://adoptium.net/下载jdk1.8,并使用sudo tar -zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u442b06.tar.gz -C /home/developer解压下载的jdk1.8,接着在/home/developer路径下用mv jdk8u442-b06 jdk-8对jdk文件夹进行重命名。
  (华为云开发空间的云主机ubuntu仓库中有jdk8,直接使用sudo apt install openjdk-8-jdk -y。如果默认选择Java工具链,云主机内会自带一个jdk17,用sudo update-alternatives --config java来切换全局默认Java版本。)
  使用https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz下载Hadoop-3.3.6。
在这里插入图片描述
  在/home/developer路径下使用tar -zxvf hadoop-3.3.6.tar.gz -C .解压Hadoop3.3.6。

2.2 配置环境变量

  编辑配置文件的命令:sudo vim /etc/profile
  在/etc/profile文件的尾部写入如下内容:

export JAVA_HOME=/home/developer/jdk-8
export HADOOP_HOME=/home/developer/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin

  (如果是华为云空间主机的话,在/home/developer/.bashrc文件的尾部写入如下内容:

export JAVA_HOME=/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/home/developer/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

)
  按ESC键后输入wq!来保存修改,并用source /etc/profile命令使配置的环境变量生效。

2.3 验证JDK、Hadoop配置

  验证JDK:java -version
在这里插入图片描述
  验证Hadoop:hadoop version
在这里插入图片描述

3. 伪分布Hadoop

3.1 配置ssh免密码登录

  安装ssh和pdsh:sudo apt install ssh pdsh -y
  配置ssh免密码登录:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

  测试ssh登录:ssh localhost
  (安装了pdsh后,可能需要在/etc/pdsh中新建rcmd_default文件,再其中输入ssh。)
在这里插入图片描述

3.2 配置伪分布Hadoop

  在/home/developer/hadoop-3.3.6/etc/hadoop中使用vim命令配置core-site.xml、hdfs-site.xml、yarn-site.xml和mapred-site.xml。

3.2.1 修改hadoop-env.sh

  在其中配置jdk1.8的路径。
在这里插入图片描述

3.2.2 修改core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
</configuration>

3.2.3 修改hdfs-site.xml

  将dfs.datanode.data.dir和dfs.namenode.name.dir的value修改为你想要存放的位置,注意要保留file://,再连接路径。

<configuration><property><name>dfs.datanode.data.dir</name><value>file:///home/developer/data/datanode</value></property><property><name>dfs.namenode.name.dir</name><value>file:///home/developer/data/namenode</value></property><property><name>dfs.namenode.http-address</name><value>localhost:9870</value></property><property><name>dfs.replication</name><value>1</value></property>
</configuration>

3.2.4 修改yarn-site.xml

<configuration><property><name>yarn.resourcemanager.hostname</name><value>localhost</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</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_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value></property>
</configuration>

3.2.5 修改mapred-site.xml

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.application.classpath</name><value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value></property>
</configuration>

3.2.6 格式化namenode

  格式化命令:hdfs namenode -format
  启动hdfs和yarn:start-dfs.sh && start-yarn.sh
  使用jps命令验证是否启动:
在这里插入图片描述
  检验localhost:9870和localhost:8088能否显示。
在这里插入图片描述
在这里插入图片描述

3.3 测试Hadoop

  测试命令:hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 10 10
在这里插入图片描述

参考

https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/SingleCluster.html

http://www.lryc.cn/news/528644.html

相关文章:

  • 【高内聚】设计模式是如何让软件更好做到高内聚的?
  • 10.2 目录(文件夹)操作
  • LiteFlow Spring boot使用方式
  • OSCP:Windows 服务提权详解
  • 星火大模型接入及文本生成HTTP流式、非流式接口(JAVA)
  • 21.Word:小赵-毕业论文排版❗【39】
  • Python中的函数(上)
  • Windows11 安装poetry
  • 浅谈Linux 权限、压缩、进程与服务
  • 006 LocalStorage和SessionStorage
  • AJAX RSS Reader:技术解析与应用场景
  • Go优雅实现redis分布式锁
  • 本地部署deepseek模型步骤
  • (2025 年最新)MacOS Redis Desktop Manager中文版下载,附详细图文
  • C++ 写一个简单的加减法计算器
  • 计算机网络基础 - 链路层(3)
  • ray.rllib 入门实践-5: 训练算法
  • FPGA 使用 CLOCK_LOW_FANOUT 约束
  • 选择的阶段性质疑
  • 固有频率与模态分析
  • 数科OFD证照生成原理剖析与平替方案实现
  • CAN总线数据采集与分析
  • SpringSecurity:There is no PasswordEncoder mapped for the id “null“
  • ResNet 残差网络
  • CAPL编程常见问题与解决方案深度解析
  • 信号处理以及队列
  • Linux pkill 命令使用详解
  • react注意事项
  • 【开源免费】基于SpringBoot+Vue.JS在线考试学习交流网页平台(JAVA毕业设计)
  • 怎样在PPT中启用演讲者视图功能?