安装所需要的工具:xshell,openstack
一、修改三台虚拟机的主机名
第一种方法:
使用命令:hostnamectl set-hostname 名字
接着输入:exit
第二种方法:使用Vim编辑器
输入命令:vim /etc/hostname
接着重启xshell: 输入命令 reboot
二、配置映射信息,根据自己的IP和主机名相对应
输入命令:vim /etc/hosts
三、配置ssh免密登录
1.在root用户下输入命令:ssh-keygen -t rsa
2.输入命令:cd ~/.ssh
3.将密钥分发给各个主机:输入命令:ssh-copy-id 主机名
4.分发完密钥后,用命令ssh root@主机名 验证
四、安装JDK
1.连接后在 opt 目彔中创建两个子目录:
创建 software 目彔,用于保存安装包;
创建 module 目彔,用于存放解压后的组件
2 .输入命令:cd /opt
mkdir software module
3.将 Windows 中的 jdk 安装包传进去,点击xshell上的文件传输
4.解压 jdk 压缩包到/opt/module 下。
输入命令:tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/module
注:tar 命令的参数
-z(gzip):使用 gzip 工具进行压缩或解压;
-x(extract):解压文件(压缩文件是-c);
-v(verbose):显示解压过程(文件列表);
-f(file):指定要解压的文件名(or 要压缩成的文件名);
-C:指定目标路径。
5.配置环境(配置环境都写到opt/etc/profile文件下)
输入命令:cd /opt/etc/profile.d
将相关配置写入文件中:
6.刷新环境变量(环境变量要刷新后才能起效哦)
输入命令:source /etc/profile
7.测试jdk是否安装成功
输入命令:java -version
8.将配置好的jdk远程发送到其他主机
输入命令: scp -r /opt/module/jdk1.8.0_212 root@主机名:/opt/module
9.将配置文件发送到其他主机
输入命令: scp /etc/profile root@主机名
10.其他主机重复步骤6,7
五、安装hadoop
1.上传并解压hadoop安装包
(1)将hadoop安装包上传到主机的/opt/software
(2) 解压hadoop安装包到/opt/module下
输入命令:tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module
2.配置hadoop环境
输入命令:cd /opt/etc/profile.d
将相关配置信息写入文件中:
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH
3.刷新环境变量
输入命令:source /opt/etc/profile
4.验证是否安装成功
输入命令:hadoop version
六、集群部署
需要配置的文件:core-site.xml 、hdfs-site.xml、mapred-site.xml、yarn-site.xm
首先进入hadoop配置文件所在目录:
输入命令:cd /opt/module/hadoop-3.1.3/etc/hadoop/
1.配置core-site.xml文件(修改中的内容)
输入命令:vim core-site.xml
<configuration>
<!-- 指
定
NameNode 的
地址
-->
<property>
<name>fs.defaultFS</name>
<value>
hdfs://主机2名:8020
</value>
</property>
<!-- 指
定
hadoop
数据的存储目录
-->
<property>
<name>hadoop.tmp.dir</name>
<value>
/opt/module/hadoop-3.1.3/data
</value>
</property>
<!--
配置
HDFS
网页登录使用的静态用户为
root 或
student -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>
root
</value>
</property>
</configuration>
2. 配置hdfs-site.xml文件
输入命令:vim hdfs-site.xml
<configuration>
<!--
配置
hdfs
文件系统的副本数
-->
<property>
<name>dfs.replication</name>
<value>
3
</value>
</property>
<!-- NameNode web
端访问地址
-->
<property>
<name>dfs.namenode.http-address</name>
<value>
主机2名
:9870
</value>
</property>
<!-- SecondaryNameNode web
端访问地址
-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>
hd03:9868
</value>
</property>
</configuration>
3.配置mapred-site.xml 文件
输入命令:vim mapred-site.xml
<configuration>
<!--指
定
mapreduce
运行的框架名:
yarn-->
<property>
<name>mapreduce.framework.name</name>
<value>
yarn
</value>
</property>
<!--
配置
mapreduce 的历史记录
组件的内部通信地址即
RPC
地址
-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>
主机1名
:10020
</value>
</property>
<!--
配置
mapreduce
癿历史记录服务的
web
管理地址
-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>
主机1名
:19888
</value>
</property>
<!--
配置
mapreduce 已
完成的
job
记录在
HDFS
上的存放地址
-->
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>
/history/done
</value>
</property>
<!--
配置
mapreduce
正在执行的
job
记录在
HDFS
上的存放地址
-->
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>
/history/done_intermediate
</value>
</property>
<!--
为
MR
程序主进程添加环境变量
-->
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>
HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3
</value>
</property>
<!--
为
Map
添加环境变量
-->
<property>
<name>mapreduce.map.env</name>
<value>
HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3
</value>
</property>
<!--
为
Reduce
添加环境变量
-->
<property>
<name>mapreduce.reduce.env</name>
<value>
HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3
</value>
</property>
</configuration>
4. 配置yarn-site.xml文件
输入命令:vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!--指
定
resourcemanager
所启动服务的主机名
|IP-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>
主机名1
</value>
</property>
<!--指
定
mapreduce
癿
shuffle
处理数据方式
-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--
配置
resourcemanager
内部通讯地址
-->
<property>
<name>yarn.resourcemanager.address</name>
<value>
主机名1
:8032
</value>
</property>
<!--
配置
resourcemanager 的
scheduler
组件的内部通信地址
-->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>
主机名1
:8030
</value>
</property>
<!--
配置
resource-tracker
组件的内部通信地址
-->
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>
主机名1
:8031
</value>
</property>
<!--
配置
resourcemanager
的
admin
的内部通信地址
-->
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>
主机名1
:8033
</value>
</property>
<!--
配置
yarn
的
web
管理地址
-->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>
主机名1
:8088
</value>
</property>
<!--yarn
的日志聚合是否开启
-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>
true
</value>
</property>
<!--
聚合日志在
hdfs
的存储路径
-->
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/tmp/logs</value>
</property>
<!--
聚合日志在
hdfs的
保存时长,单位
S
,默认
7
天
-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>
604800
</value>
</property>
<!--
聚合日志的检查时间段
-->
<property>
<name>yarn.log-aggregation.retain-check-interval-seconds</name
>
<value>
3600
</value>
</property>
<!-- 设
置日志聚合服务器地址
-->
<property>
<name>yarn.log.server.url</name>
<value>http://
主机名1
:19888
/jobhistory/logs</value>
</property>
<!--
环境变量的继承
-->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
RED_HOME</value>
</property>
</configuration>
5.编辑wokers
输入命令:vim workers
主机名1
主机名2
主机名3
然后将配置好的hadoop-3.1.3目录发送给其他节点
输入命令:scp -r /opt/module/hadoop-3.1.3 root@主机名:/opt/module
然后格式化 Namenode(记住只能格式化一次)
输入命令:hadoop namenode -format
确定hadoop服务
输入命令:start -all.sh
检查进程运行情况:
输入命令:jps
若root报错
目录
一、修改三台虚拟机的主机名
二、配置映射信息,根据自己的IP和主机名相对应
三、配置ssh免密登录
四、安装JDK
五、安装hadoop
六、集群部署
首先进入hadoop配置文件所在目录:
1.配置core-site.xml文件(修改中的内容)
2. 配置hdfs-site.xml文件
3.配置mapred-site.xml 文件
4. 配置yarn-site.xml文件
5.编辑wokers
然后将配置好的hadoop-3.1.3目录发送给其他节点
然后格式化 Namenode(记住只能格式化一次)
确定hadoop服务
检查进程运行情况:
若root报错
七、通过web查看 hdfs集群
1.关闭虚拟机的防火墙
2.web验证
则需要修改/opt/module/hadoop-3.1.3/etc/hadoop/hadoop-env.sh 文件:
输入命令:vim /opt/module/hadoop-3.1.3/etc/hadoop/hadoop-env.sh
在文件尾添加一下内容:
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
七、通过web查看 hdfs集群
1.关闭虚拟机的防火墙
输入命令:systemctl stop filewalld
systemtl disable firewalld
2.web验证
HDFS:公网IP:9870
yarn:公网IP:8088