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
java –version
至此出现以上内容说明jdk环境安装成功。