在linux(ubuntu)中创建单节点集群(single node cluster)和伪分布式模式(pseudo-distributed mode)。

Hadoop

创建单节点 Hadoop 集群 ( 单节点集群) 并在 linux (ubuntu) 上处于伪分布式模式。

使用命令进行复制和粘贴的逐步目标。 Ubuntu (Lubuntu) 22.04。 Java OpenJDK 1.8.0_342 和 Hadoop 3.3.4。

Photo by 沃尔夫冈·哈塞尔曼 on 不飞溅

参考

tbd 以下脚本完全基于 (#tbd) 的脚本,适用于较新的版本,并添加了文本中提到但未明确说明的极少命令。参考链接如下: https://medium.com/analytics-vidhya/hadoop-single-node-cluster-setup-b11b957681f2

摘要(TL;DR)

待定

方法

安装和配置可以完全使用 终端 (打开快捷方式 终端 没有Linux: CTRL + ALT + T )。

创建一个新的专用用户

  • 创建用户组 Hadoop ;

    sudo addgroup hadoop

  • 创建一个新用户 hdfsuser 将其添加到用户组 Hadoop ;

    sudo adduser --ingroup hadoop hdfsuser

  • 打开文件 sudoers 向其添加一行

    须藤纳米 /etc/sudoers

上面的命令将在屏幕上打开一个文件编辑器。确保在编辑后您将使用正确的名称保存它(详情如下)。在打开复制和粘贴的编辑器中(将内容粘贴到 linux 终端或终端内的任何应用程序中,快捷方式是 SHIFT + CTRL + V ) 或在下一步中键入命令。

  • 将以下行添加到文件中

    hdfsuser ALL=(ALL:ALL) ALL

  • 关闭并保存文件

关闭文本编辑器 纳米 捷径是 CTRL + X ;

确认保存更改类型 ;

然后在屏幕底部检查将要保存的文件的名称( /etc/sudoers ) 并按下 进入 确认;

  • 将用户更改为“hdfsuser”

    su - hdfsuser

安装 o Java 8 OpenJDK

统一命令

 sudo apt-get update && sudo apt-get install openjdk-8-jre-headless openjdk-8-jdk

单独的命令(如果您已经使用过上述命令,则无需重复)

 sudo apt-get 更新  
 sudo apt-get install openjdk-8-jre-headless openjdk-8-jdk

检查安装是否正常

 java版本

如果您在使用相同版本的情况下使用此脚本,您应该在终端中看到的输出如下(或类似内容):

  • 终端输出

    openjdk 版本“1.8.0_342”
    OpenJDK 运行时环境 (build 1.8.0_342-8u342-b07-0ubuntu1~22.04-b07)
    OpenJDK 64 位服务器 VM(内部版本 25.342-b07,混合模式)

配置 SSH 密钥

为了工作, SSH 需要在无密码模式下配置( 无密码 )。

 sudo apt-get install ssh

生成密码

统一指挥

 ssh-keygen -t rsa && cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys && chmod og-wx ~/.ssh/authorized_keys

单独的命令(如果您已经使用过上述命令,则无需重复)

 ssh-keygen -t rsa  
 猫 ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  
 chmod og-wx ~/.ssh/authorized_keys

检查连接 SSH 没有密码

 ssh 本地主机

结束连接 本地主机

 出口

安装 Hadoop 3.3.4

统一指挥

 cd /usr/local && sudo wget[ https://dlcdn.apache.org/hadoop/common/stable/hadoop-3.3.4.tar.gz](https://dlcdn.apache.org/hadoop/common/stable/hadoop-3.3.4.tar.gz) && sudo tar xvzf hadoop-3.3.4.tar.gz && sudo mv hadoop-3.3.4 hadoop

单独的命令(如果您已经使用过上述命令,则无需重复)

 cd /usr/本地  
 须藤wget[ https://dlcdn.apache.org/hadoop/common/stable/hadoop-3.3.4.tar.gz](https://dlcdn.apache.org/hadoop/common/stable/hadoop-3.3.4.tar.gz)  
 sudo tar xvzf hadoop-3.3.4.tar.gz  
 sudo mv hadoop-3.3.4 hadoop

在伪分布式模式下配置(伪分布式模式)

 sudo chown -R hdfsuser:hadoop /usr/local/hadoop  
 sudo chmod -R 777 /usr/local/hadoop  
 须藤纳米〜/ .bashrc

在文件中 /home/hdfsuser/.bashrc 打开后,在文件末尾附近输入以下文本。

 导出 JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 导出 PATH=$PATH:$JAVA_HOME/bin 导出 HADOOP_HOME=/opt/hadoop 导出 PATH=$PATH:$HADOOP_HOME/bin 导出 PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/etc/hadoop 导出 HADOOP_LOG_DIR=$HADOOP_HOME/logs 导出 HADOOP_PID_DIR=$HADOOP_HOME/tmp 导出 HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 导出 CLASSPATH=$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/lib/native/*:$JAVA_HOME/lib:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/sh> 导出 JAVA_LIBRARY_PATH=$JAVA_HOME/lib:$HADOOP_HOME/lib/native/*:$HADOOP_HOME/share/hadoop/common/lib/* 导出 HADOOP_CLASSPATH=$HADOOP_HOME/share/hadoop/common/lib/*.jar 导出 HADOOP_HOME_WARN_SUPPRESS=1 导出 HADOOP_ROOT_LOGGER=WARN,DRFA

重要提示:每行之间用空行隔开,以明确一些大行是一行。

  • 关闭并保存文件

关闭文本编辑器 纳米 捷径是 CTRL + X ;

确认保存更改类型 ;

然后在屏幕底部检查将要保存的文件的名称( /home/hdfsuser/.bashrc ) 并按下 进入 确认;

(该文件的替代方法如下所示。使用 一个 或者 其他 )

 #HADOOP 环境  
 导出 HADOOP_HOME=/usr/local/hadoop  
 导出 HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop  
 导出 HADOOP_MAPRED_HOME=/usr/local/hadoop  
 导出 HADOOP_COMMON_HOME=/usr/local/hadoop  
 导出 HADOOP_HDFS_HOME=/usr/local/hadoop  
 导出 YARN_HOME=/usr/local/hadoop  
 导出 PATH=$PATH:/usr/local/hadoop/bin  
 导出 PATH=$PATH:/usr/local/hadoop/sbin # HADOOP 原生路径  
 导出 HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native  
 导出 HADOOP_OPTS=-Djava.library.path=$HADOOP_PREFIX/lib。

活性氧 ~/.bashrc 改变:

 源〜/ .bashrc

配置 Hadoop

 cd /usr/local/hadoop/etc/hadoop/ sudo nano hadoop-env.sh

在文件末尾插入以下代码 hadoop-env.sh

 导出 HADOOP_OPTS=-Djava.net.preferIPv4Stack=true  
 导出 JAVA_HOME=/usr  
 导出 HADOOP_HOME_WARN_SUPPRESS="TRUE"  
 导出 HADOOP_ROOT_LOGGER="WARN,DRFA"  
 导出 HDFS_NAMENODE_USER="hdfsuser"  
 导出 HDFS_DATANODE_USER="hdfsuser"  
 导出 HDFS_SECONDARYNAMENODE_USER="hdfsuser"  
 导出 YARN_RESOURCEMANAGER_USER="hdfsuser"  
 导出 YARN_NODEMANAGER_USER="hdfsuser"
  • 关闭并保存文件

关闭文本编辑器 纳米 捷径是 CTRL + X ;

确认保存更改类型 ;

然后在屏幕底部检查将要保存的文件的名称( /usr/local/hadoop/etc/hadoop/hadoop-env.sh ) 并按下 进入 确认;

 sudo nano yarn-site.xml

输入以下代码 在之间 作为 标签 配置 ( <configuration> e </configuration> ) 文件 纱线站点.xml

 <property>  
 <name>yarn.nodemanager.aux-services</name>  
 <value>mapreduce_shuffle</value>  
 </property>  
 <property>  
 <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
 <value>org.apache.hadoop.mapred.ShuffleHandler</value>  
 </property>
  • 关闭并保存文件

关闭文本编辑器 纳米 捷径是 CTRL + X ;

确认保存更改类型 ;

然后在屏幕底部检查将要保存的文件的名称( /usr/local/hadoop/etc/hadoop/yarn-site.xml ) 并按下 进入 确认;

 sudo nano hdfs-site.xml

输入以下代码 在之间 作为 标签 配置 ( <configuration> e </configuration> ) 文件 hdfs-site.xml

 <property>  
 <name>dfs.replication</name>  
 <value>1</value>  
 </property>  
 <property>  
 <name>dfs.namenode.name.dir</name>  
 <value>/usr/local/hadoop/yarn_data/hdfs/namenode</value>  
 </property>  
 <property>  
 <name>dfs.datanode.data.dir</name>  
 <value>/usr/local/hadoop/yarn_data/hdfs/datanode</value>  
 </property>  
 <property>  
 <name>dfs.namenode.http-address</name>  
 <value>本地主机:50070</value>  
 </property>
  • 关闭并保存文件

关闭文本编辑器 纳米 捷径是 CTRL + X ;

确认保存更改类型 ;

然后在屏幕底部检查将要保存的文件的名称( /usr/local/hadoop/etc/hadoop/hdfs-site.xml ) 并按下 进入 确认;

 sudo nano core-site.xml

输入以下代码 在之间 作为 标签 配置 ( <configuration> e </configuration> ) 文件 核心站点.xml

 <property>  
 <name>hadoop.tmp.dir</name>  
 <value>/大数据/hadoop/tmp</value>  
 </property>  
 <property>  
 <name>fs.default.name</name>  
 <value>hdfs://localhost:9000</value>  
 </property>
  • 关闭并保存文件

关闭文本编辑器 纳米 捷径是 CTRL + X ;

确认保存更改类型 ;

然后在屏幕底部检查将要保存的文件的名称( /usr/local/hadoop/etc/hadoop/core-site.xml ) 并按下 进入 确认;

 sudo nano mapred-site.xml

输入以下代码 在之间 作为 标签 配置 ( <configuration> e </configuration> ) 文件 mapred-site.xml

 <property>  
 <name>mapred.framework.name</name>  
 <value></value>  
 </property>  
 <property>  
 <name>mapreduce.jobhistory.address</name>  
 <value>本地主机:10020</value>  
 </property>
  • 关闭并保存文件

关闭文本编辑器 纳米 捷径是 CTRL + X ;

确认保存更改类型 ;

然后在屏幕底部检查将要保存的文件的名称( /usr/local/hadoop/etc/hadoop/mapred-site.xml ) 并按下 进入 确认;

创建文件夹(目录或文件夹 ,无论您喜欢哪个)来存储数据

统一指挥

 sudo mkdir -p /bigdata/hadoop/tmp && sudo chown -R hdfsuser:hadoop /bigdata/hadoop/tmp && sudo chmod -R 777 /bigdata/hadoop/tmp && sudo mkdir -p /usr/local/hadoop/yarn_data/ hdfs/namenode && sudo mkdir -p /usr/local/hadoop/yarn_data/hdfs/datanode && sudo chmod -R 777 /usr/local/hadoop/yarn_data/hdfs/namenode && sudo chmod -R 777 /usr/local/hadoop /yarn_data/hdfs/datanode && sudo chown -R hdfsuser:hadoop /usr/local/hadoop/yarn_data/hdfs/namenode && sudo chown -R hdfsuser:hadoop /usr/local/hadoop/yarn_data/hdfs/datanode

单独的命令(如果您已经使用过上述命令,则无需重复)

 sudo mkdir -p /bigdata/hadoop/tmp sudo chown -R hdfsuser:hadoop /bigdata/hadoop/tmp sudo chmod -R 777 /bigdata/hadoop/tmp sudo mkdir -p /usr/local/hadoop/yarn_data/hdfs/namenode sudo mkdir -p /usr/local/hadoop/yarn_data/hdfs/datanode sudo chmod -R 777 /usr/local/hadoop/yarn_data/hdfs/namenode sudo chmod -R 777 /usr/local/hadoop/yarn_data/hdfs/datanode sudo chown -R hdfsuser:hadoop /usr/local/hadoop/yarn_data/hdfs/namenode sudo chown -R hdfsuser:hadoop /usr/local/hadoop/yarn_data/hdfs/datanode

清理集群并格式化 NameNode

我们需要通过格式化来清理集群 名称节点 每当对 Hadoop 配置进行任何更改时,在我们启动核心 Hadoop 服务之前 名称节点 或者 数据节点 .

 hdfs 名称节点格式

全部完成,现在只需启动 Hadoop 服务。

启动 Hadoop 服务

一次启动它们:

 全部启动.sh

或一次开始一个:

 开始-dfs.sh 启动纱线.sh

检查一切是否按预期进行并且一切正常,仍然在 终端 ,输入:

 JP

您应该在 终端 (顺序可能有所不同):

 资源管理器  
 数据节点  
 次要名称节点  
 节点管理器  
 名称节点

在你的 互联网导航器 (或者 浏览器 ) 输入地址:

 http://localhost:50070

e

 http://localhost:8088

两者都应该打开 Hadoop 页面(最后 50070 , 引用您的页面 名称节点 运行和结束 8088 ,访问的页面 资源管理器 )。

安装后命令

停止一切

 停止所有.sh 出口

一切停止后恢复使用

 su - hdfsuser  
 全部启动.sh

FIM

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/12470/40220412

posted @   哈哈哈来了啊啊啊  阅读(102)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示