大数据平台搭建合集--全分布式平台部署

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.100NETMASK=255.255.255.0GATEWAY=192.168.73.2DNS1=8.8.8.8

1.ssh免密登录

(1),生成秘钥(群发)

ssh-keygen在输出命令之后,会提醒你抉择公钥明码、存储地位等如无非凡需要,比方公钥明码、存储地位等。这里能够间接回车下一步秘钥即胜利生成在"~/.ssh/"文件夹内

(2),配置hosts

每一台机器都须要配置!
# 关上配置文件目录,vi /etc/hosts# 依据ip信息批改为以下内容192.168.204.152 master192.168.204.153 master2192.168.204.154 slave# 在每台服务器中都要配置hosts,所以在每台服务器中都执行

(3),采纳追加的形式增加公钥(群发)

每一台机器都须要操作
# 第一台主机:ssh-copy-id masteryes000000(输出设置的明码)# 第二台主机:ssh-copy-id slave1yes000000(输出设置的明码)# 第三台主机(在此时留神一点的是,这里做输出的时候其余两台主机依然是第一次连贯所以须要先选中yes,在输出明码):ssh-copy-id slave2yes000000(输出设置的明码)    

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目录下解压jdkcd ~tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/local/# 批改文件名减少辨识度cd /usr/localmv jdk1.8.0_77 jdk

(2).配置环境变量

# 在相应配置文件中追加以下内容vi /etc/profileexport JAVA_HOME=/usr/local/jdkexport 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/localmv 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 # 关上配置文件svi 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,增加以下内容masterslave1slave2

(3),配置环境变量

# 批改配置文件vi /etc/profile# 追加以下内容export HADOOP_HOME=/usr/local/hadoopexport 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]# jps14310 NameNode15046 NodeManager15159 Jps14587 DataNode14416 ResourceManager14556 JobHistoryServer[root@slave1 ~]# jps14501 SecondaryNameNode14699 Jps14588 NodeManager14415 DataNode14536 JobHistoryServer[root@slave2 ~]# jps13120 NodeManager13218 Jps13016 DataNode14559 JobHistoryServer