当前位置: 首页 > news >正文

hadoop单机伪分布环境配置

环境配置

这个板块实现的伪分布

  • ubuntu 24.04
  • hadoop-3.3.0
  • hbase-2.4.18
  • jdk 1.8.0_461
  • zookeeper-3.7.2

安装 JDK

解压

在已经下载好 jdk-8u461-linux-x64.tar.gz的目录下打开终端。
把jdk的文件解压到 /usr/local/java目录下

sudo mkdir -p /usr/local/java
sudo tar -zxvf jdk-8u461-linux-x64.tar.gz -C /usr/local/java

配置环境变量

~/.bashrc配置文件中修改java的配置:

export JAVA_HOME=/usr/local/java/jdk1.8.0_461
export PATH=$JAVA_HOME/bin:$PATH

刷新环境:

source ~/.bashrc
java -version
# 预期输出 java version "1.8.0_461"

配置SSH

安装并启动SSH服务

在终端执行:

sudo apt update
sudo apt install openssh-server -y

安装完成后,启动并设置开机自启:

sudo systemctl enable ssh
sudo systemctl start ssh

检查状态:

systemctl status ssh

如果看到 active (running) 就说明 SSH 已经正常运行。

配置免密登录(Hadoop 启动脚本需要)

Hadoop 在启动时需要通过 SSH 登录 本机的 localhost,所以要配置免密。

执行:

ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

然后给这个key起名
img.png
测试是否能无密码登录:

ssh localhost

能直接进去而不需要输入密码,就说明免密登录配置好了,输入 exit 退出。


安装 Haddoop 3.3.0

下载&解压

在已经下载好 hadoop-3.3.0.tar.gz的目录下运行:

tar -zxvf hadoop-3.3.0.tar.gz
sudo mv hadoop-3.3.0 /usr/local/hadoop

配置环境变量

~/.bashrc 添加:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

刷新:

source ~/.bashrc
hadoop version
# 可以看到Hadoop 3.3.0就说明成功了

修改配置文件

$HADOOP_HOME/etc/hadoop 下修改对应的文件:
(按照前面的流程做的是在 /usr/local/hadoop/etc/hadoop下)

hadoop-env.sh

直接添加一行即可

export JAVA_HOME=/usr/local/java/jdk1.8.0_461
core-site.xml

修改原来的 <configuration></configuration>
因为现在是在本地模拟分布,所以使用localhost为ip地址。

作用:配置Hadoop核心参数

关键配置:

fs.defaultFS:定义默认文件系统为HDFS,地址是hdfs://localhost:9000

hadoop.tmp.dir:指定Hadoop运行时的临时目录

<configuration><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop/tmp</value></property>
</configuration>
hdfs-site.xml

修改原来的 <configuration></configuration>

作用:配置HDFS(Hadoop分布式文件系统)相关参数

关键配置:

dfs.replication:设置数据副本数为1(单机伪分布式)

dfs.namenode.name.dir:NameNode元数据存储位置

dfs.datanode.data.dir:DataNode数据存储位置

<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:///usr/local/hadoop/hdfs/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>file:///usr/local/hadoop/hdfs/datanode</value></property>
</configuration>
mapred-site.xml

修改原来的 <configuration></configuration>

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
yarn-site.xml

修改原来的 <configuration></configuration>

<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.hostname</name><value>localhost</value></property><property><name>yarn.application.classpath</name><value>$HADOOP_HOME/etc/hadoop,$HADOOP_HOME/share/hadoop/common/*,$HADOOP_HOME/share/hadoop/common/lib/*,$HADOOP_HOME/share/hadoop/hdfs/*,$HADOOP_HOME/share/hadoop/hdfs/lib/*,$HADOOP_HOME/share/hadoop/mapreduce/*,$HADOOP_HOME/share/hadoop/mapreduce/lib/*,$HADOOP_HOME/share/hadoop/yarn/*,$HADOOP_HOME/share/hadoop/yarn/lib/*</value></property><property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><name>yarn.nodemanager.remote-app-log-dir</name><value>/tmp/logs</value>  <!-- 或 HDFS 上的 path: hdfs://localhost:9000/tmp/logs --></property>
</configuration>

启动 Hadoop

hdfs namenode -format  # 这句是用于初始化NameNode的,在第一次启动前进行格式化。
start-dfs.sh
start-yarn.sh

检查当前启动的:

jps
# 应该看到 NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager

可以通过下面的命令来停止之前的进程

stop-dfs.sh
stop-yarn.sh

Web UI:

  • NameNode: http://localhost:9870
  • YARN: http://localhost:8088

安装 ZooKeeper 3.7.1

HBase 依赖 ZooKeeper。

下载 & 解压

下载 apache-zookeeper-3.7.2-bin.tar.gz压缩包,在文件所在目录运行:

tar -zxvf apache-zookeeper-3.7.2-bin.tar.gz
sudo mv apache-zookeeper-3.7.2-bin /usr/local/zookeeper

配置

复制默认配置:

cd /usr/local/zookeeper/conf
cp zoo_sample.cfg zoo.cfg

编辑 zoo.cfg
可以直接全部替换,或者找到对应项来替换:

tickTime=2000
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181
initLimit=10
syncLimit=5

创建目录:

sudo mkdir -p /usr/local/zookeeper/data
sudo mkdir -p /usr/local/zookeeper/logs

启动 ZooKeeper

添加环境变量,编辑 ~/.bashrc

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

刷新

source ~/.bashrc
zkServer.sh start   # 运行
zkServer.sh status  # 查看状态
zkServer.sh stop   # 运行

如果看到 Mode: standalone,说明启动成功。
再用 jps,应该看到 QuorumPeerMain 进程。

安装 HBase

下载 & 解压

解压 hbase-2.4.18-bin.tar.gz并移动

tar -zxvf hbase-2.4.18-bin.tar.gz
sudo mv hbase-2.4.18 /usr/local/hbase

配置环境变量

~/.bashrc 添加:

export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH

刷新:

source ~/.bashrc

修改配置文件

$HBASE_HOME/conf 下:
(/usr/local/hbase/conf)

hbase-env.sh

添加语句

export JAVA_HOME=/usr/local/java/jdk1.8.0_461
export HBASE_MANAGES_ZK=false   # 因为我们自己启动了独立的 ZooKeeper
hbase-site.xml
<configuration><!-- 使用 HDFS 存储 HBase 数据 --><property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><!-- 表示这是一个分布式集群(即便是伪分布式) --><property><name>hbase.cluster.distributed</name><value>true</value></property><!-- ZooKeeper 配置 --><property><name>hbase.zookeeper.quorum</name><value>localhost</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property>
</configuration>

启动 HBase

start-hbase.sh

验证:

jps
# 多了 HMaster、HRegionServer

Web UI:

  • HBase Master: http://localhost:16010

启动顺序总结

  1. 启动 Hadoop(HDFS + YARN)
start-dfs.sh
start-yarn.sh
  • NameNode: http://localhost:9870
  • YARN: http://localhost:8088
  1. 启动 ZooKeeper
zkServer.sh start
  1. 启动 HBase
start-hbase.sh
  • HBase Master: http://localhost:16010



文章转载自:

http://WoLmGIcT.xbkcr.cn
http://pX9oDhd2.xbkcr.cn
http://yezORwAk.xbkcr.cn
http://veWn2sNz.xbkcr.cn
http://0W47Adr2.xbkcr.cn
http://K4TFvB7G.xbkcr.cn
http://MSNtGmNS.xbkcr.cn
http://h6KFEnWy.xbkcr.cn
http://yX5xNCNi.xbkcr.cn
http://RSZjdfXi.xbkcr.cn
http://HjofJ5hf.xbkcr.cn
http://kesGTxOT.xbkcr.cn
http://GOKLzrCW.xbkcr.cn
http://UZragwuT.xbkcr.cn
http://967G42G2.xbkcr.cn
http://J8dSNM6U.xbkcr.cn
http://GC1JWG8c.xbkcr.cn
http://HznFPfkx.xbkcr.cn
http://DTS4eDTC.xbkcr.cn
http://e2WWlMxl.xbkcr.cn
http://IuHIDbdD.xbkcr.cn
http://ufjJPUl0.xbkcr.cn
http://jTPeouEC.xbkcr.cn
http://f598VRay.xbkcr.cn
http://C9oL6Ej9.xbkcr.cn
http://lM47kkuS.xbkcr.cn
http://I48H44Ub.xbkcr.cn
http://gpuxJMVb.xbkcr.cn
http://eayimmCq.xbkcr.cn
http://Gz2c7PL6.xbkcr.cn
http://www.dtcms.com/a/383527.html

相关文章:

  • Vue3 响应式失效 debug:Proxy 陷阱导致数据更新异常的深度排查
  • el-table的隔行变色不影响row-class-name的背景色
  • 【深度学习新浪潮】游戏中的agents技术研发进展一览
  • Condor 安装
  • 类和对象 (中)
  • [数据结构——lesson10.2堆的应用以及TopK问题]
  • 可可图片编辑 HarmonyOS(6)水印效果
  • 机器学习(四):支持向量机
  • 给定一个有序的正数数组arr和一个正数range,如果可以自由选择arr中的数字,想累加得 到 1~range 范围上所有的数,返回arr最少还缺几个数。
  • 《C++ 容器适配器:stack、queue 与 priority_queue 的设计》
  • Java 黑马程序员学习笔记(进阶篇8)
  • 无需标注的视觉模型 dinov3 自监督学习ssl
  • 多语言编码Agent解决方案(2)-后端服务实现
  • STM32F103C8T6通过SPI协议驱动74HC595数码管完全指南:从硬件原理到级联实现
  • 【系列文章】Linux中的并发与竞争[05]-互斥量
  • 海岛奇兵声纳活动的数学解答
  • 大模型入门实践指南
  • CSS 编码规范
  • Redis框架详解
  • Redis----缓存策略和注意事项
  • Redis的大key问题
  • 微服务学习笔记25版
  • 地址映射表
  • AI Agent 软件工程关键技术综述
  • 命令行工具篇 | grep, findstr
  • 6【鸿蒙/OpenHarmony/NDK】多线程调用 JS 总崩溃?用 napi_create_threadsafe_function 搞定线程安全交互
  • OpenTenBase分布式HTAP实战:从Oracle迁移到云原生数据库的完整指南
  • LabVIEW信号监测与分析
  • 【大模型算法工程师面试题】大模型领域新兴的主流库有哪些?
  • Java队列(从内容结构到经典练习一步到位)