大数据平台搭建合集 – 全分布式平台部署
0. 更改主机名
依据理论需要做更改即可!
# 新建的虚拟机,能够更改为与文档中雷同的主机名
$ hostnamectl set-hostname master
$ hostnamectl set-hostname slave1
$ hostnamectl set-hostname slave2
# 如果须要更改网卡的配置,只需须要做如下批改 (在本文档中是应用的 dhcp 获取的 ip,所以未做批改)
# 如果在虚拟机中,对应的 ip、子网掩码、网关等信息能够虚构网络编辑器中查看 (留神网关的配置要在 "虚构网络编辑器" 中的 "更改设置" 里的 "Nat 设置里查看")
$ vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 批改如下配置项
BOOTPROTO="static"
# 增加如下配置项
IPADDR=192.168.73.100
NETMASK=255.255.255.0
GATEWAY=192.168.73.2
DNS1=8.8.8.8
1.ssh 免密登录
(1), 生成秘钥 (群发)
ssh-keygen
在输出命令之后, 会提醒你抉择公钥明码、存储地位等
如无非凡需要,比方公钥明码、存储地位等。这里能够间接回车下一步
秘钥即胜利生成在 "~/.ssh/" 文件夹内
(2), 配置 hosts
每一台机器都须要配置!
# 关上配置文件目录,vi /etc/hosts
# 依据 ip 信息批改为以下内容
192.168.204.152 master
192.168.204.153 master2
192.168.204.154 slave
# 在每台服务器中都要配置 hosts,所以在每台服务器中都执行
(3), 采纳追加的形式增加公钥 (群发)
每一台机器都须要操作
# 第一台主机:
ssh-copy-id master
yes
000000(输出设置的明码)
# 第二台主机:
ssh-copy-id slave1
yes
000000(输出设置的明码)
# 第三台主机 (在此时留神一点的是, 这里做输出的时候其余两台主机依然是第一次连贯所以须要先选中 yes, 在输出明码):
ssh-copy-id slave2
yes
000000(输出设置的明码)
2. 敞开防火墙与 SeLinux(群发)
# 敞开防火墙:
systemctl stop firewalld
# 设置开机禁用防火墙:
systemctl disable firewalld.service
# 查看防火墙状态:
systemctl status firewalld
# 敞开 SeLinux
# 只是临时敞开
setenforce 0
# 通过改配置文件的形式敞开
vim /etc/selinux/config
# 批改配置项
SELINUX=disabled
3.jdk 的装置与配置
(1). 解压 jdk 组件
# 进入 soft 目录下解压 jdk
cd ~
tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/local/
# 批改文件名减少辨识度
cd /usr/local
mv jdk1.8.0_77 jdk
(2). 配置环境变量
# 在相应配置文件中追加以下内容
vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
# 设置以后环境变量立刻失效
source /etc/profile
(3). 将 jdk 与环境变量同步到其余两台服务器
$ scp -r /usr/local/jdk/ root@slave1:/usr/local
$ scp /etc/profile root@slave1:/etc/
#
$ scp -r /usr/local/jdk root@slave2:/usr/local
$ scp /etc/profile root@slave2:/etc/
# 在同步文件之后,须要更新配置文件
$ source /etc/profile
4.Hadoop 装置与配置
(1). 解压 Hadoop 组件
# 将组件上传至 soft 目录
cd ~
tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local/
# 更改名称减少辨识度
cd /usr/local
mv hadoop-2.7.1 hadoop
(2). 批改相应配置文件
# 进入配置文件目录
cd /usr/local/hadoop/etc/hadoop/
1), 配置 core-site.xml
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 这里的目录会主动生成 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-repo/tmp</value>
</property>
<!--kkb 新增 -->
<!-- 缓冲区大小,理论工作中依据服务器性能动静调整 -->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!-- 开启 hdfs 的垃圾桶机制,删除掉的数据能够从垃圾桶中回收,单位分钟 -->
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
</configuration>
2), 配置 hdfs-site.xml
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<property>
<name>dfs.namenode.rpc-address</name>
<value>master:9000</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
<!-- 配置启动 SecondaryNameNode 的地位,在不明确指定时默认是在主节点启动,个别我认为须要在另一台主节点中启动 -->
<property>
<name>dfs.namenode.secondary.rpc-address</name>
<value>slave1:9000</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:50070</value>
</property>
<!-- 配置 nameNode 和 DataNode 存储元数据的门路 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-repo/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-repo/data</value>
</property>
</configuration>
3), 配置 marped-site.xml
# 阐明:零碎中提供的是一个模版文件,须要先复制成 marped-site.xml 文件,再进行批改
[root@localhost hadoop]# cp mapred-site.xml.template mapred-site.xml
# 关上配置文件 s
vi mapred-site.xml
<!-- 指定 mr 框架为 yarn -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
4), 配置 yarn-site.xml
<!-- 配置你想在哪个节点起 ResourceManager -->
<property>
<name>yarn.resourcemanager.address</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 开启日志聚合的性能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
5), 配置 hadoop-env.sh
export JAVA_HOME=/usr/local/jdk
6), 配置 slaves
指定 DataNode 节点 (hostname)
[root@master ~]# vim /usr/hadoop/hadoop-2.7.3/etc/hadoop/slaves
# 删除本来的 localhost,增加以下内容
master
slave1
slave2
(3), 配置环境变量
# 批改配置文件
vi /etc/profile
# 追加以下内容
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 更新配置文件
source /etc/profile
(4), 同步 Hadoop 与配置文件复制到其余节点
# 在 master 节点配置之后,须要同步到其余两台服务器中
[root@master /]# cd /usr/hadoop/
[root@master hadoop]# scp -r /usr/local/hadoop root@slvae1:/usr/local/
[root@master hadoop]# scp /etc/profile root@slave1:/etc/
[root@master hadoop]# scp -r /usr/local/hadoop root@slave2:/usr/local/
[root@master hadoop]# scp /etc/profile root@slave2:/etc/
# 同步完配置文件之后须要更新配置文件
source /etc/profile
6. 集群启动
(1). 格式化 HDFS
# 1. 在 master 上格式化 namenode:
hdfs namenode -format
(2). 启动 hdfs
# 在 master1 上执行:
start-dfs.sh
(3). 启动 Yarn
# 1. 在 master1 上执行:
start-yarn.sh
(4). 启动 JobHistoryServer
# 在每台主机上都执行以下命令
mr-jobhistory-daemon.sh start historyserver
8. 过程验证
[root@master opt]# jps
14310 NameNode
15046 NodeManager
15159 Jps
14587 DataNode
14416 ResourceManager
14556 JobHistoryServer
[root@slave1 ~]# jps
14501 SecondaryNameNode
14699 Jps
14588 NodeManager
14415 DataNode
14536 JobHistoryServer
[root@slave2 ~]# jps
13120 NodeManager
13218 Jps
13016 DataNode
14559 JobHistoryServer