大数据平台搭建合集--全分布式平台部署
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