Hadoop3单机部署,实现最简伪集群
1.节点说明
ip | hostname | 说明 |
---|---|---|
10.0.0.120 | hadoop-all | 主节点+数据节点 |
2.环境准备
需要JDK1.8运行环境,搭建请参考[Jdk安装(Linux,MacOS,Windows)]
3.设置主机名
# 主节点
hostnamectl set-hostname hadoop-all
4.设置host
# 所有节点配置
echo "10.0.0.120 hadoop-all" >> /etc/hosts
5.设置ssh免密码登录(主节点)
# 设置主节点自身ssh免密码登录以及主节点对各个数据节点ssh免密码登录
# 以下操作在主节点进行
# 生成公钥
ssh-keygen -t rsa
# 向主节点(本机)复制公钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 验证,输入yes,如果此时没有要求输入密码则配置成功
ssh hadoop-all
6.开放端口
# 主节点
firewall-cmd --add-port=9870/tcp && firewall-cmd --add-port=9870/tcp --permanent
firewall-cmd --add-port=8088/tcp && firewall-cmd --add-port=8088/tcp --permanent
firewall-cmd --add-port=9000/tcp && firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --add-port=50090/tcp && firewall-cmd --add-port=50090/tcp --permanent
# 或者关闭关闭防火墙
systemctl stop firewalld.service && systemctl disable firewalld.service
7.准备hadoop安装包
# 下载地址
http://hadoop.apache.org/
# 镜像地址
https://mirrors.cloud.tencent.com/apache/hadoop/common/
# 下载hadoop-3.3.6.tar.gz并解压到指定目录,如/data0/hadoop/hadoop-3.3.6
mkdir -p /data0/hadoop/
tar -zxvf hadoop-3.3.6.tar.gz
# 创建hadoop数据存放目录
mkdir -p /data1/hadoop/repo
8.修改配置
8.1.进入配置文件目录
cd /data0/hadoop/hadoop-3.3.6/etc/hadoop
8.2.修改hadoop-env.sh配置文件
# 编辑文件
vi hadoop-env.sh
# 添加
export JAVA_HOME=/data0/java/jdk1.8.0_361
export HADOOP_LOG_DIR=/data1/hadoop/repo/logs/hadoop
# /data0/java/jdk1.8.0_291为jdk安装目录
# /data1/hadoop/repo为hadoop数据存放目录
8.3.修改core-site.xml配置文件
# 编辑文件
vi core-site.xml
# 修改configuration节点配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-all:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data1/hadoop/repo</value>
</property>
</configuration>
# hadoop-all为主节点主机名
# 9000为端口
8.4.修改hdfs-site.xml配置文件
# 编辑文件
vi hdfs-site.xml
# 修改configuration节点配置
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
# 1为数据副本个数
8.5.修改mapred-site.xml配置文件
# 编辑文件
vi mapred-site.xml
# 修改configuration节点配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
8.6.修改yarn-site.xml配置文件
# 编辑文件
vi yarn-site.xml
# 修改configuration节点配置
<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_MAPRED_HOME</value>
</property>
</configuration>
9.修改hadoop启动/停止配置
9.1.进入启动脚本目录
cd /data0/hadoop/hadoop-3.3.6/sbin
9.2.修改dfs.sh的启动/停止命令
# 编辑文件
vi start-dfs.sh
vi stop-dfs.sh
# 都添加
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
9.3.修改yarn.sh的启动/停止命令
# 编辑文件
vi start-yarn.sh
vi stop-yarn.sh
# 都添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
10.格式化hdfs
# 进入hadoop根目录
cd /data0/hadoop/hadoop-3.3.6
# 格式化
bin/hdfs namenode -format
11.启动/停止
# 进入hadoop根目录
cd /data0/hadoop/hadoop-3.3.6/sbin
# 启动
./start-all.sh
# 停止
./stop-all.sh
# 查看启动状态
jps
# 主节点启动[ResourceManager,NameNode,SecondaryNameNode,DataNode,NodeManager]
12.web查看状态
# 浏览器访问
10.0.0.120:9870
10.0.0.10:8088
13.配置环境变量
# 打开文件
vi ~/.bash_profile
# 添加环境变量
# HADOOP
export HADOOP_HOME=/data0/hadoop/hadoop-3.3.6
export PATH=$HADOOP_HOME/bin:$PATH
#保存退出
:x
# 让配置马上生效
source ~/.bash_profile

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Docker使用Oracle官方镜像安装(12C,18C,19C)
安装准备 操作系统CentOS7_x64 已经安装了Docker环境 需要检查是否有swap分区,如果没有请设置 Oracle官方dockerfiles下载 1.下载 地址:https://github.com/oracle/docker-images 2.上传 解压后打开docker-images-master\OracleDatabase\SingleInstance将dockerfiles文件夹上传到Linux的指定目录,如/data0/oracle 3.修改文件执行权限 sh 复制代码 chmod a+x *.sh && chmod a+x */*.sh Oracle镜...
-
下一篇
MySQL数据库在高并发下的优化方案
1. 概述 高并发场景下,数据库极易成为整个应用系统的瓶颈,导致响应变慢、超时甚至宕机。本方案旨在从多个层面(SQL、数据库配置、架构、硬件等)提供优化策略,以提升 MySQL 在高并发环境下的性能、稳定性和扩展性。 2. SQL 语句及索引优化 (最有效、成本最低) 2.1 避免慢查询 使用 EXPLAIN:分析所有核心 SQL 的执行计划(EXPLAIN SELECT ...),重点关注以下字段: type:至少达到 range 级别,理想是 ref、eq_ref 或 const。避免 ALL(全表扫描)。 key:是否使用了正确的索引。 rows:预估扫描的行数,尽可能少。 Extra:...