单机伪分布Hadoop详细配置

目录

  • [1. 引言](#1. 引言)
  • [2. 配置单机Hadoop](#2. 配置单机Hadoop)
    • [2.1 下载并解压JDK1.8、Hadoop3.3.6](#2.1 下载并解压JDK1.8、Hadoop3.3.6)
    • [2.2 配置环境变量](#2.2 配置环境变量)
    • [2.3 验证JDK、Hadoop配置](#2.3 验证JDK、Hadoop配置)
  • [3. 伪分布Hadoop](#3. 伪分布Hadoop)
    • [3.1 配置ssh免密码登录](#3.1 配置ssh免密码登录)
    • [3.2 配置伪分布Hadoop](#3.2 配置伪分布Hadoop)
      • [3.2.1 修改hadoop-env.sh](#3.2.1 修改hadoop-env.sh)
      • [3.2.2 修改core-site.xml](#3.2.2 修改core-site.xml)
      • [3.2.3 修改hdfs-site.xml](#3.2.3 修改hdfs-site.xml)
      • [3.2.4 修改yarn-site.xml](#3.2.4 修改yarn-site.xml)
      • [3.2.5 修改mapred-site.xml](#3.2.5 修改mapred-site.xml)
      • [3.2.6 格式化namenode](#3.2.6 格式化namenode)
    • [3.3 测试Hadoop](#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文件的尾部写入如下内容:

shell 复制代码
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文件的尾部写入如下内容:

shell 复制代码
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免密码登录:

shell 复制代码
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

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://,再连接路径。

xml 复制代码
<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

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

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

相关推荐
大模型码小白6 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
延凡科技9 小时前
多场景落地复盘:端边云架构无人机智能巡检系统设计与实践
大数据·数据结构·人工智能·科技·架构·无人机·能源
wWYy.9 小时前
分布式:数据复制
分布式
ifenxi爱分析10 小时前
爱分析最新报告解读:AI数据基础设施与数据中台的区别
大数据·人工智能
品牌全球行11 小时前
共商共建共享 链接数字未来——“一带一路数字新城(深圳)会客厅筹备办”揭牌仪式在深圳隆重举行
大数据·人工智能
数智化管理手记13 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
ApacheSeaTunnel13 小时前
Apache SeaTunnel AI CLI Benchmark:7 款大模型、100 个 ETL 任务实测,谁真正能跑起来?
大数据·ai·开源·大模型·数据集成·cli·seatunnel·技术分享·数据同步
电商API_1800790524714 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
小稻穗14 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
极光代码工作室14 小时前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化