Hadoop单机版环境搭建
最后发布时间 : 2023-10-26 11:33:27
浏览量 :
学习资料
- Hadoop快速入门
- 2.项目概述及Hadoop环境配置
- https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/core/
- https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
配置文件 | 文件存放在Hadoop的jar包中的位置 | 作用 |
---|---|---|
[core-site.xml] | hadoop-common-2.7.2.jar/ core-default.xml | hdaoop核心模块配置文件 |
[hdfs-site.xml] | hadoop-hdfs-2.7.2.jar/ hdfs-default.xml | hdfs文件系统模块配置 |
[yarn-site.xml] | hadoop-yarn-common-2.7.2.jar/ yarn-default.xml | yarn模块配置 |
[mapred-site.xml] | hadoop-mapreduce-client-core-2.7.2.jar/ mapred-default.xml | MapReduce模块配置 |
配置免密登录
Hadoop 组件之间需要基于 SSH 进行通讯,配置免密登录后不需要每次都输入密码。
配置映射,配置 ip 地址和主机名映射
vim /etc/hosts
# 文件末尾增加
192.168.80.100 server
生成公钥私钥
ssh-keygen -t rsa
授权,进入 ~/.ssh 目录下,查看生成的公匙和私匙,并将公匙写入到授权文件:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
配置Hadoop
hadoop-env.sh
hdfs-site.xml
core-site.xml
修改配置文件
进入/opt/server/hadoop-3.1.0/etc/hadoop 目录下,修改以下配置:
修改hadoop-env.sh
文件,设置JDK的安装路径
vim hadoop-env.sh
export JAVA_HOME=/opt/server/jdk1.8.0_131
修改core-site.xml
文件,分别指定hdfs 协议文件系统的通信地址及hadoop 存储临时文件的目录
(此目录不需要手动创建)
<configuration>
<property>
<!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
<name>fs.defaultFS</name>
<value>hdfs://server:8020</value>
</property>
<property>
<!--指定 hadoop 数据文件存储目录-->
<name>hadoop.tmp.dir</name>
<value>/app/hadoop_data</value>
</property>
</configuration>
修改hdfs-site.xml
,指定 dfs 的副本系数
<configuration>
<property>
<!--由于我们这里搭建是单机版本,所以指定 dfs 的副本系数为 1-->
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
修改workers文件,配置所有从属节点
vim workers
# 配置所有从属节点的主机名或 IP 地址,由于是单机版本,所以指定本机即可:
server
初始化并启动HDFS
关闭防火墙,不关闭防火墙可能导致无法访问 Hadoop 的 Web UI 界面
# 查看防火墙状态
sudo firewall-cmd --state
# 关闭防火墙:
sudo systemctl stop firewalld
# 禁止开机启动
sudo systemctl disable firewalld
初始化,第一次启动 Hadoop 时需要进行初始化,进入 /opt/server/hadoop-3.1.0/bin目录下,执
行以下命令:
cd /opt/server/hadoop-3.1.0/bin
./hdfs namenode -format
Hadoop 3中不允许使用root用户来一键启动集群,需要配置启动用户
cd /opt/server/hadoop-3.1.0/sbin/
# 编辑start-dfs.sh、stop-dfs.sh,在顶部加入以下内容
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
启动HDFS,进入/opt/server/hadoop-3.1.0/sbin/ 目录下,启动 HDFS:
cd /opt/server/hadoop-3.1.0/sbin/
./start-dfs.sh
验证是否启动
- 方式一:执行 jps 查看 NameNode 和 DataNode 服务是否已经启动:
[root@server bin]# jsp
41032 DataNode
41368 Jps
40862 NameNode
41246 SecondaryNameNode
- 方式二:查看 Web UI 界面:http://localhost:9870/
配置环境变量,方便启动
export HADOOP_HOME=/opt/server/hadoop-3.1.0
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
source /etc/profile
./hadoop fs -ls /
Hadoop(YARN)环境搭建
yarn-env.sh
mapred-site.xml
yarn-site.xml
修改配置文件
进入/opt/server/hadoop-3.1.0/etc/hadoop 目录下,修改以下配置:
修改yarn-env.sh
文件,设置JDK的安装路径
vim yarn-env.sh
export JAVA_HOME=/opt/server/jdk1.8.0_131
修改mapred-site.xml
文件
yarn
stands for MR version 2.classic
is for MR version 1local
for local runs of the MR jobs.
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
</configuration>
修改yarn-site.xml
文件,配置 NodeManager 上运行的附属服务
<configuration>
<property>
<!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在Yarn 上运行 MapRedvimuce 程序。-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
启动服务
Hadoop 3中不允许使用root用户来一键启动集群,需要配置启动用户
# start-yarn.sh stop-yarn.sh在两个文件顶部添加以下内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
进入 $/sbin/ 目录下,启动 YARN:
./start-yarn.sh
验证是否启动成功
- 方式一:执行 jps 命令查看 NodeManager 和 ResourceManager 服务是否已经启动
[root@server bin]# jsp
41655 ResourceManager
41032 DataNode
42125 Jps
40862 NameNode
41246 SecondaryNameNode
41983 NodeManager
- 方式二:查看 Web UI 界面,端口为 8088
http://localhost:8088/cluster
使用内置程序计算PI值
Hadoop自带的hadoop-mapreduce-examples-x.jar中包含一些示例程序,位于{HADOOP_HOME}/share/hadoop/mapreduce 目录。 进入 /bin/ 目录下,执行以下命令
hadoop jar /opt/server/hadoop-3.1.0/share/hadoop/mapreduce/hadoop-mapreduce-
examples-3.1.0.jar pi 2 10
查看运行效果
./hdfs getconf -confKey fs.defaultFS