单机伪分布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

相关推荐
黄雪超14 分钟前
Flink介绍——实时计算核心论文之Kafka论文详解
大数据·flink·kafka
小马爱打代码1 小时前
Kafka 生产者的幂等性与事务特性详解
分布式·kafka
API_technology3 小时前
高并发场景下的淘宝 API 开发实践:商品数据实时采集与性能优化
大数据·数据库·性能优化·数据挖掘
D愿你归来仍是少年3 小时前
Clickhouse 配置参考
大数据·clickhouse
斯普信云原生组4 小时前
Zookeeper介绍与安装配置
分布式·zookeeper·云原生
真的睡不醒ovo5 小时前
elasticsearch中文分词器插件下载教程
大数据·elasticsearch·中文分词
程序猿阿伟9 小时前
《分布式软总线:网络抖动下的数据传输“定海神针”》
网络·分布式
极小狐9 小时前
极狐GitLab 项目 API 的速率限制如何设置?
大数据·运维·git·elasticsearch·gitlab
IT成长日记9 小时前
【HDFS】HDFS数据迁移与备份全攻略:从日常备份到灾难恢复
大数据·hadoop·hdfs·数据迁移与备份
残月只会敲键盘10 小时前
Git 命令速查手册
大数据·git·elasticsearch