首页 > 其他分享 >安装Hadoop单节点伪分布式集群

安装Hadoop单节点伪分布式集群

时间:2023-07-12 15:13:06浏览次数:33  
标签:hadoop Hadoop sh 3.3 HOME root 节点 分布式

目录

安装Hadoop单节点伪分布式集群

操作系统:Ubuntu server 20.04

参考文档:http://apache.github.io/hadoop/hadoop-project-dist/hadoop-common/SingleCluster.html

系统准备

开启SSH

系统支持SSH远程登陆.

如未安装可使用下面命令安装:

sudo apt-get install ssh

安装JDK

参考网址:https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions

官方文档:

  • Apache Hadoop 3.3 and upper supports Java 8 and Java 11 (runtime only)
    • Please compile Hadoop with Java 8. Compiling Hadoop with Java 11 is not supported: HADOOP-16795 - Java 11 compile support OPEN
  • Apache Hadoop from 3.0.x to 3.2.x now supports only Java 8
  • Apache Hadoop from 2.7.x to 2.10.x support both Java 7 and 8

根据官方文档,目前支持JDK8JDK11,我们安装JDK8即可

操作步骤如下:

# 更新软件包
sudo apt-get update
sudo apt-get upgrade

# 安装JDK8
sudo apt install openjdk-8-jdk

# 验证是否安装成功
java -version
# 输出
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-8u372-ga~us1-0ubuntu1~22.04-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)

查看JAVA安装信息

# 查看安装目录
which java
# 输出:/usr/bin/java

# 查看具体路径
ll /usr/bin/java
# 输出:... /usr/bin/java -> /etc/alternatives/java*

设置JAVA_HOME

# 查找系统中可用的JAVA版本
update-alternatives --config java
# 输出:
# There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
# Nothing to configure.

# 通过上面输出信息安装路径为:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

# 编辑profile文件
vim /etc/profile
# 在文件中添加下面代码
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

# 生效环境变量
source /etc/profile

# 验证是否设置成功
echo $JAVA_HOME

# 到这里如果停的话,就会出现一种情况,每次打开终端,就需要source /etc/profile一下才能使用java环境,所以参考博客https://blog.csdn.net/RABCDXB/article/details/123243868 做法如下:
# 输入vim ~/.bashrc,在对应文件中输入上面相同的配置数据。

安装Hadoop

下载

目前最新版本为:3.3.6,安装最新版本,可从官网下载。

下载地址:https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

# 进入软件下载目录,如果该目录不存在则可创建此目录
cd /root/software

# 下载安装包
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

准备启动

# 将软件复制到安装目录,如果该目录不存在可创建
cd /root/program

# 复制安装包
cp /root/software/hadoop-3.3.6.tar.gz .

# 解压
tar -zxvf hadoop-3.3.6.tar.gz

# 设置JavaHome
vim /root/program/hadoop-3.3.6/etc/hadoop/hadoop-env.sh

# 修改JAVA_HOME变量,大约在54行
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

# 保存后测试启动
cd /root/program/hadoop-3.3.6
bin/hadoop
# 此命令输出相关操作说明

接下来,将有三种启动模式部署:

  • Local (Standalone) Mode:单机模式

  • Pseudo-Distributed Mode:伪分布式

  • Fully-Distributed Mode:分布式

下面以伪分布式模式进行说明,其他模式部署方式请参考官方文档。

伪分布式模式安装

Hadoop可以以伪分布式的方式部署在一台机器上。

配置

配置core-site.xml文件.

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 编辑配置文件
vim etc/hadoop/core-site.xml

# 在文件的configuration节点添加下面配置文件(第19行):
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

配置etc/hadoop/hdfs-site.xml文件.

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 编辑配置文件
vim etc/hadoop/hdfs-site.xml

# 在文件的configuration节点添加下面配置文件(第19行):
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

配置sbin/start-dfs.sh文件中启动用户为root.

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 编辑配置文件
vim sbin/start-dfs.sh

# 文件顶部添加以下参数
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

配置sbin/stop-dfs.sh文件中启动用户为root.

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 编辑配置文件
vim sbin/stop-dfs.sh

# 文件顶部添加以下参数
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

配置sbin/start-yarn.sh文件中启动用户为root.

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 编辑配置文件
vim sbin/start-yarn.sh

# 文件顶部添加以下参数
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

配置sbin/stop-yarn.sh文件中启动用户为root.

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 编辑配置文件
vim sbin/stop-yarn.sh

# 文件顶部添加以下参数
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

配饰SSH免密登录本机

# 检查是否已支持免密登录
ssh localhost

# 如果未配置,可使用下面命令配置,注意当前登录用户为root
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

测试启动

截至到目前配置,可以测试启动Hadoop,此种方式可手动执行MapReduce任务,该部分仅验证是否可正常启动。

后面将会介绍Yarn配置,并使用Yarn运行任务。

# 进入应用安装目录
cd /root/program/hadoop-3.3.6

# 文件系统格式化
bin/hdfs namenode -format

# 启动NameNode和DataNode
sbin/start-dfs.sh

# 浏览器打开终端进行查看运行状态,注意防火墙端口是否打开,NameNode网址如下:
http://192.168.40.134:9870/
# 现状状态 Active 即为运行成功

# 停止NameNode和DataNode
sbin/stop-dfs.sh

单节点安装YARN

在保证上面测试启动运行正常情况下,可以按照下面步骤配置启动YARN.

配置etc/hadoop/mapred-site.xml文件.

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 编辑配置文件
vim etc/hadoop/mapred-site.xml

# 在文件的configuration节点添加下面配置文件(第19行):
<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>

配置etc/hadoop/yarn-site.xml文件.

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 编辑配置文件
vim etc/hadoop/yarn-site.xml

# 在文件的configuration节点添加下面配置文件(第16行):
<configuration>
    <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>

服务启动与停止:

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 服务启动
sbin/start-yarn.sh

# 浏览器打开终端进行查看运行状态,注意防火墙端口是否打开,资源管理网址如下:
http://192.168.40.134:8088/

# 服务停止
sbin/stop-yarn.sh

伪分布式集群启动与停止

# 进入Hadoop软件目录
cd /root/program/hadoop-3.3.6

# 启动,注意顺序
sbin/start-dfs.sh
sbin/start-yarn.sh

# 停止,注意顺序
sbin/stop-dfs.sh
sbin/stop-yarn.sh

标签:hadoop,Hadoop,sh,3.3,HOME,root,节点,分布式
From: https://www.cnblogs.com/zhang-guansheng/p/17547526.html

相关文章

  • 分布式多协议接入网关FluxMQ-2.0功能说明
    FluxMQ—2.0版本更新内容前言FLuxMQ是一款基于java开发,支持无限设备连接的云原生分布式物联网接入平台。FluxMQ基于Netty开发,底层采用Reactor3反应堆模型,具备低延迟,高吞吐量,千万、亿级别设备连接;方便企业快速构建其物联网平台与应用。FluxMQ官网:https://www.fluxmq.comFluxMQ......
  • springcloud -分布式事务解决方案 seata 分布式id生成方案
     使用三个服务来进行演示三个服务的共同部分 pom相关依赖 <!--nacos--> <dependency>   <groupId>com.alibaba.cloud</groupId>   <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!--seata-->......
  • LeetCode 剑指 Offer 08. 二叉树的下一个节点
    题目:二叉树的下一个节点给定一棵二叉树的其中一个节点,请找出中序遍历序列的下一个节点。(树的后继)注意:如果给定的节点是中序遍历序列的最后一个,则返回空节点;二叉树一定不为空,且给定的节点一定不是空节点;解题思路二叉树的中序遍历:{[左子树],根节点,[右子树]}如图所示......
  • Jmeter+Influxdb+garafana分布式压测+平台监控
    Jmeter+Influxdb+garafana分布式压测+平台监控 一、Jmeter 1、修改配置文件 主机:remote_hosts部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip:port 执行机:remote_hosts=本机ip+端口号、server_port=1099、server.rmi.localport=1099 2、主机和执行机都需下载......
  • MATLAB代码:基于分布式优化的多产消者非合作博弈能量共
    MATLAB代码:基于分布式优化的多产消者非合作博弈能量共享关键词:分布式优化产消者非合作博弈能量共享仿真平台:matlab主要内容:为了使光伏用户群内各经济主体能实现有序的电能交易,提出了一种基于光伏电能供需比(SDR)的内部价格模型。在考虑经济性和舒适度的基础上,提出了用户参与需......
  • Matlab/Simulink双馈风机接入的三机九节点模型,所有参数已调好且可调,可直接运行,风电渗
    Matlab/Simulink双馈风机接入的三机九节点模型,所有参数已调好且可调,可直接运行,风电渗透率19.4%可作为仿真环境搭建风机参与一次调频的控制策略,桨距角、超速减载、虚拟惯性控制等,研究频率动态响应、储能调频(模型里无一次调频控制)ID:68279660695889354......
  • MATLAB代码:基于多目标遗传算法的分布式电源选址定容
    MATLAB代码:基于多目标遗传算法的分布式电源选址定容研究关键词:选址定容分布式电源多目标遗传算法参考文档:《OptimalSitingandSizingofDistributedGenerationinRadialDistributionSystemusingGeneticAlgorithm》完全复现仿真平台:MATLAB平台主要内容:代码主要做的是......
  • logstash+Elasticseach单节点 让logstash生成单副本索引
    要让Logstash和Elasticsearch生成单副本索引,请按照以下步骤更改Logstash的输出配置文件:打开Logstash配置文件,该文件默认位于 logstash/config 目录下。找到输出部分配置,并添加以下行:output{elasticsearch{hosts=>["localhost"]index=>"your......
  • 主动配电网 优化调度 配电网重构 基于IEEE33节点的配电网重构,采用优化
    主动配电网优化调度配电网重构基于IEEE33节点的配电网重构,采用优化算法建模,得到重构方案,典型日联络开关的操作状态,对比了重构前后的网损和电压结果利用新型算法融合鲸鱼-布谷鸟搜索算法进行了配电网重构计算对比其他几个算法比如粒子群算法布谷鸟算法鲸鱼算法仿真结果表明......
  • Hadoop中hive的使用
    启动元数据管理服务(必须启动,否则无法工作)前台启动:bin/hive--servicemetastore后台启动:nohupbin/hive--servicemetastore>>logs/metastore.log2>&1& 启动客户端HiveShell方式(可以直接写SQL): bin/hiveHiveThriftServer方式(不可直接写SQL,需要外部客户端链接使用): ......