乐趣区

关于运维:2大数据平台搭建合集全分布式平台部署

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

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
退出移动版