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

相关推荐
SelectDB技术团队10 分钟前
从 ClickHouse、Druid、Kylin 到 Doris:网易云音乐 PB 级实时分析平台降本增效
大数据·数据仓库·clickhouse·kylin·实时分析
Web极客码1 小时前
在WordPress上添加隐私政策页面
大数据·人工智能·wordpress
TCChzp2 小时前
Kafka入门-消费者
分布式·kafka
Apache Flink2 小时前
Flink在B站的大规模云原生实践
大数据·云原生·flink
itachi-uchiha3 小时前
Docker部署Hive大数据组件
大数据·hive·docker
viperrrrrrrrrr74 小时前
大数据学习(131)-Hive数据分析函数总结
大数据·hive·学习
FakeOccupational4 小时前
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 & 定向转发机制
笔记·分布式·p2p
lifallen5 小时前
Flink checkpoint
java·大数据·算法·flink
·云扬·6 小时前
【PmHub面试篇】性能监控与分布式追踪利器Skywalking面试专题分析
分布式·面试·skywalking