在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。
参考
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 版权协议,转载请附上原文出处链接和本声明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通