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

相关推荐
weixin_307779136 小时前
Spark Streaming的背压机制的原理与实现代码及分析
大数据·python·spark
想做富婆8 小时前
Hive:复杂数据类型之Map函数
数据仓库·hive·hadoop
想做富婆11 小时前
hive:基本数据类型,关于表和列语法
大数据·hive·hadoop
小Tomkk12 小时前
大数据相关职位介绍之一(数据分析,数据开发,数据产品经理,数据运营)
大数据·数据分析·数据开发·数据运营·数据产品经理
UI设计兰亭妙微12 小时前
大屏 UI 设计风格的未来趋势
大数据
优人ovo16 小时前
Kafka的消息协议
分布式·网络协议·kafka
乙卯年QAQ17 小时前
【Elasticsearch】Elasticsearch的查询
大数据·elasticsearch·搜索引擎
XianxinMao19 小时前
科技巨头AI投资引领未来增长
大数据·人工智能·科技