spark on yarn基础环境配置

一、节点概述

ip

hostname

server

192.168.1.110

bigdata1

NameNode、ResourceManager、SecondaryNameNode、SparkSubmit、ntpd.service、LivyServer、Supervisor

192.168.1.112

bigdata2

DataNode、NodeManager、Executor

192.168.1.113

bigdata3

DataNode、NodeManager、Executor

192.168.1.114

bigdata3

DataNode、NodeManager、Executor

二、软件准备

jdk-7u79-linux-x64.tar.gz
hadoop-2.6.5.tar.gz
apache-maven-3.3.9-bin.tar.gz
scala-2.10.6.tgz  
spark-2.0.1.tgz
hue-3.11.0.tgz
livy-0.2.0.tar.gz
mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar
apach-hive-2.1.0-bin.tar.gz

上传至服务器放置到/data/soft目录下

三、系统基础环境配置

1、创建用户和组

1)、切换到root用户

以下操作均在192.168.1.110主机上操作

su root
password:*****

2)、创建bigdata组

groupadd bigdata

3)、添加hadoop用户并设置密码

useradd hadoop -g bigdata
passwd hadoop *****

4)、创建工作目录

1)、在根目录创建bigdata目录

mkdir bigdata

5)、设置bigdata目录权限

chgrp bigdata /bigdata
chmod 774 bigdata

2、配置网络环境

1)、修改主机名

vim /etc/hostname

添加

bigdata1

其他主机根据对应ip添加主机名:

192.168.1.110 bigdata1
192.168.1.111 bigdata2
192.168.1.112 bigdata3
192.168.1.113 bigdata4

2)、主机名绑定ip

vim /etc/hosts

替换文件内容如下:

192.168.1.110 bigdata1
192.168.1.111 bigdata2
192.168.1.112 bigdata3
192.168.1.113 bigdata4

拷贝至集群其他服务器

cd /etc
scp hosts root@bigdata2:$PWD
scp hosts root@bigdata3:$PWD
scp hosts root@bigdata4:$PWD

中间需要输入root用户密码。

3)、关闭防火墙

查看防火墙状态
centos7以上版本,将iptables更改为firewalld

关闭防火墙

systemctl stop firewalld

设置开机禁用防火墙

systemctl disable firewalld

查看防火墙状态

systemctl status firewalld

firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
Active: inactive (dead)

3. 生成免密登入

1)、生成密匙

在集群每台服务器均执行以下操作。

su hadoop
password:*****
ssh-keygen -t rsa

一直回车,直至生成成功为止,此时会在用户的home目录生成.ssh的文件夹。

ls ~/.ssh

存在id_rsa 、id_rsa.pub两个文件,表示密钥生成成功。

2)、复制密匙

将每台服务器的~/.ssh/id_rsa.pub内容拷贝到每台服务器的~/.ssh/authorized_keys文件中去。

bigdata1执行:

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@bigdata1

bigdata2执行:

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@bigdata1

bigdata3执行:

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@bigdata1

bigdata4执行:

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@bigdata1

设置.ssh目录及authorized_keys文件权限

.ssh目录的权限必须是700
authorized_keys文件权限必须是600

cd
chmod 700 .ssh
cd .ssh
chmod 600 authorized_keys

将authorized_keys文件拷贝至集群每一台服务器的.ssh目录下,在bigdata1执行:

cd ~/.ssh
scp authorized_keys hadoop@bigdata2
scp authorized_keys hadoop@bigdata3
scp authorized_keys hadoop@bigdata4

4)、验证

hadoop用户,使用ssh相互登入集群中任何一台服务器,均不需输入密码。

5、配置sudo权限

su root
vim /etc/sudoers

在root ALL=(ALL) ALL下添加一行

hadoop   ALL=(ALL)  ALL

6、 配置ntp服务,保证服务器时间一致

1)、查看主机是否安装ntpdate服务:

su root
rpm –qa | grep ntpdate

如果出现以下内容:

ntpdate-4.2.6p5-22.el7.centos.2.x86_64

表示已经安装ntpdate服务,未安装使用

yum install –y ntpdate

命令进行安装

3)、手动同步服务器时间:

ntpdate us.pool.ntp.org

由于ntpd服务只能做到各个服务器时间的持续性微调同步,不能进行时间跳跃性调整,这也就保证了服务器时间的稳定性,不会因为时间存在跳跃,导致程序异常。但是如果各服务器时间相差太多,单单使用ntpd服务就很难做到同步,所以需要使用ntpdate来手动同步下时间,如果时间差异甚微,可忽略此步骤。

4)、查看是否安装ntpd服务:

rpm -qa | grep ntp

如果出现以下内容:

ntp-4.2.6p5-22.el7.centos.x86_64
ntpdate-4.2.6p5-22.el7.centos.x86_64

表示已经安装了ntp服务,未安装

yum install –y ntp

命令进行安装

5)、启动bigdata1的ntpd服务

启动bigdata1的ntpd服务
centos7以上版本使用systemctl替代了service命令,以下操作均在centos7中执行

systemctl start ntpd

设置开始启动

systemctl enable ntpd.service

7)、修改其他主机的ntpd的配置文件

vim /etc/ntp.conf

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

之前添加如下内容:

server bigdata1

启动各个节点服务器的ntp服务

systemctl start ntpd
systemctl enable ntpd.service

四、JDK环境搭建

1. 解压jdk

cd /data/soft
tar –xvzf jdk-7u79-linux-x64.tar.gz –C /bigdata
mv jdk1.7.0_79 jdk

2. 配置环境变量

sudo vim /etc/profile

文件末尾添加如下内容:

export JAVA_HOME= /bigdata/jdk
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$PATH

3. 验证

依次执行以下命令:

source /etc/profile
java

YARN独立部署_YARN独立部署

java –version

YARN独立部署_yarn_02


至此出现以上内容说明jdk环境安装成功。