部署
- 下载安装包
- 上传并解压安装包
- 配置环境变量
- 修改配置文件
- 格式化 HDFS
- 修改脚本文件
- 启动并验证
- 停止集群
注意:
1、默认已安装并配置完成JDK环境
2、默认已安装并配置完成 CentOS7 Linux 环境
3、将当前主机名修改为 bigdata01
4、伪分布式集群一般在学习阶段使用
下载安装包
-
下载地址
https://hadoop.apache.org/ -
点击 “download” 按钮
- 显示最新的版本,如果要下载早期版本点击如下连接
- 本教程已3.2.0版本为例
- 点击下载安装包
上传并解压安装包
- xshell 通过 ssh 连接到 CentOS7 服务器,创建 soft 目录
# 创建目录
mkdir soft
- 上传安装包
# 上传文件
rz -y
- 解压安装包至指定目录下
# -C 指定解压位置
tar -zxvf hadoop-3.2.0.tar.gz -C /usr/local
- 进入 hadoop3.2 目录并查看目录下内容
# 进入 hadoop目录
cd /usr/local/hadoop-3.2.0
# 查看目录下内容
ll
- 重要目录介绍
配置环境变量
- 打开配置文件
# 全局配置文件
vi /etc/profile
- 在配置文件最后增加如下内容
export HADOOP_HOME=/usr/local/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 生效配置文件
source /etc/profile
修改配置文件
- 进入配置文件目录
cd /usr/local/hadoop-3.2.0/etc/hodoop
- 修改 hadoop-env.sh 配置文件
# 打开文件
vi hadoop-env.sh
# 在文件最后添加如下内容,日志目录根据自己需要即可,无须和本文一致
export JAVA_HOME=/usr/local/java_64
export HADOOP_LOG_DIR=/usr/local/hadoop-3.2.0/hadoop_repo/logs/hadoop
注意:
/usr/local/java_64 为 jdk 目录
/usr/local/hadoop-3.2.0/hadoop_repo/logs/hadoop 为日志目录
- 修改 core-site.xml 配置文件
# 打开文件
vi core-site.xml
# 将文件 <configuration></configuration> 标签内容修改为如下内容
# bigdata01 为当前 CentOS7 主机名
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.2.0/hadoop_repo</value>
</property>
</configuration>
注意:
bigdata01 为当前 CentOS7 主机名
/usr/local/hadoop-3.2.0/hadoop_repo 为临时目录
- 修改 hdfs-site.xml 配置文件
# 打开文件
vi hdfs-site.xml
# 将文件 <configuration></configuration> 标签内容修改为如下内容
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
注意:该处只有一台机器,副本暂时配置为“1”即可
- 修改 mapred-site.xml 配置文件
# 打开文件
vi mapred-site.xml
# 将文件 <configuration></configuration> 标签内容修改为如下内容
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
注意:该配置为指定具体的执行引擎为“yarn”
- 修改 yarn-site.xml 配置文件
# 打开文件
vi yarn-site.xml
# 将文件 <configuration></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>
注意:1
第一个 property 指定计算框架为 “mapreduce_shuffle”.
第二个 property 指定白名单
- 修改 workers 配置文件
# 打开文件
vi workers
# 将 localhost 修改为 bigdata01
bigdata01
注意:只有一台机器,主节点与从节点都是自己,bigdata01 为主机名
格式化 HDFS
- 进入 hadoop 根目录下进行格式化
# 进入根目录
cd /usr/local/hadoop-3.2.0
# 使用 hdfs 命令格式化
hdfs namenode -format
- 观察输出,看下如下提示则说明格式化成功
注意:
1、当格式化出现异常时,则根据实际提示进行修改配置,修改完成后重新执行格式化
2、如果格式化成功则不能重新格式化,重复格式化会出现问题
3、如果需要多次执行格式化,建议删除:/usr/local/hadoop-3.2.0/hadoop_repo 临时目录下内容再执行格式化
修改脚本文件
- 进入脚本文件目录
cd /usr/local/hadoop-3.2.0/sbin
- 修改 start-dfs.sh 脚本文件
# 打开文件
vi start-dfs.sh
# 在 # Start hadoop dfs daemons 这句话之前添加如下内容
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
- 修改 stop-dfs.sh 脚本文件
# 打开文件
vi stop-dfs.sh
# 在 # Stop hadoop dfs daemons 这句话之前添加如下内容
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
- 修改 start-yarn.sh 脚本文件
# 打开文件
vi start-yarn.sh
# 在 ## @description usage info 这句话之前添加如下内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
- 修改 stop-yarn.sh 脚本文件
# 打开文件
vi stop-yarn.sh
# 在 ## @description usage info 这句话之前添加如下内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
启动并验证
- 启动 hadoop
# 执行启动命令
start-all.sh
-
启动过程输出如下:
- 使用 jps 查看进程信息
注意:
1、当出现进程有缺少,则请再次认真检查配置
2、日志位置:/usr/local/hadoop-3.2.0/hadoop_repo/logs/hadoop 在该目录中查看进程对应的日志文件
3、如果修改对配置有修改,则删除:/usr/local/hadoop-3.2.0/hadoop_repo 临时目录下内容再执行格式化 -
在浏览器中查看 hdfs 服务
访问地址:http://192.168.xxx.xxx:9870,
-
在浏览器中查看 yarn 服务
访问地址:http://192.168.xxx.xxx:8088
停止集群
- 执行停止脚本
# 执行如下脚本
stop-all.sh
- 执行 jps 命令验证