1、安装环境

vmware、centos 7、jdk 1.8、scala 2.12.11、hadoop 3.1.3、spark 3.0.0(spark 版本对 jdk、scala 版本有要求,详见官方文档)

2、运行环境搭建

该部分主要是 vmware的安装、centos 7 的安装和配置、 jdk、sdk 的安装以及系统变量的配置。 

对于centos 7的配置主要是设置静态 IP 地址。在虚拟机设置->网络适配器->自定义:特定虚拟网络(VMnet8:nat模式)。

spark 大数据仓库 spark大数据平台搭建_spark 大数据仓库

然后,在编辑->虚拟网络编辑器中查看 VMnet 8 的子网,选中 NAT 设置查看网关。(后续需要用到)

接着,打开网络中心->更改适配器选项->VMnet 8->属性->IPv4->属性->使用下列 IP 地址。输入和刚才查看到的子网号一个网段的 IP 地址,最后一位可以在1~254间随意输入。例如:子网号为 192.168.8.0,则IP地址输入 192.168.8.***。(最后一位随意)

现在就可以进入虚拟机内,设置网卡配置信息了。

vim /etc/sysconfig/network-scripts/ifcfg-ens33

注:网卡名称可能不一致,ifcfg-ens**(*为数字)即是配置文件。可以使用在进入该文件夹后查看所有文件,符合名称的即为网卡配置文件或使用 ip addr查看。

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static          //将原文件里的改为此处,使用静态ip
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes               //将原文件里的改为此处,默认打开网卡
NETMASK=255.255.255.0    //新增:此处为子网掩码
GATEWAY=192.168.**.*     //新增:此处为网关
IPADDR=192.168.**.*    //新增:此处为ip地址,需与子网保持在一个网段内,最后一位随意(1~254)
DNS1=114.114.114.114     //新增:域名解析服务器
DNS2=119.29.29.29        //新增:域名解析服务器

保存后,重启网卡服务即可(systemctl  restart network)。测试主机与虚拟机互 ping 以及虚拟机 ping 百度。 三台虚拟机还需要进行ssh免密登录,便于后续启动集群。(参考配置 SSH 免密登录)最后,虚拟机之间还需要同步时间。

jdk、sdk将下载好的压缩包在指定目录解压。

tar -xvf file.**

配置环境变量 vim /etc/profile 

export JAVA_HOME=***  //解压的路径
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

export SCALA_HOME=***  //解压的路径
export PATH=$PATH:${SCALA_HOME}/bin

使配置文件生效 source /etc/profile ,可以使用 java -version 以及 scala -version 验证是否配置成功。

3、系统集群规划

centos01:master、NameNode、DataNode、ResourceManager、NodeManager

centos02:worker、DataNode、NodeManager

centos03:worker、DataNode、NodeManager、SecondaryNameNode

4、hadoop配置

将下载好的压缩包在指定目录解压。解压后进入Hadoop解压文件夹内,在 etc/hadoop 内修改几个配置文件。

hadoop-env.sh

export JAVA_HOME=**               //java解压目录
export HADOOP_HOME=**             //hadoop解压目录
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

core-site.xml

<configuration>

  <property>
	<name>fs.defaultFS</name>
	<value>hdfs://centos01:9000</value>      
  </property>
  <property>
	<name>hadoop.tmp.dir</name>             //自定义临时文件存放区域
	<value>**/data/tmp</value>              //**是hadoop解压安装目录
  </property>

</configuration>

 hdfs-site.xml

<configuration>

  <property>
	<name>dfs.replication</name>
	<value>3</value>
  </property>

  <property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>centos03:50090</value>
  </property>  

</configuration>

mapred-site.xml

<configuration>

  <property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
  </property>
  <property>
	<name>yarn.app.mapreduce.am.env</name>            //以下**皆为hadoop解压安装路径
	<value>HADOOP_MAPRED_HOME=**</value>
  </property>
  <property>
	<name>mapreduce.map.env</name>
	<value>HADOOP_MAPRED_HOME=**</value>
  </property>
  <property>
	<name>mapreduce.reduce.env</name>
	<value>HADOOP_MAPRED_HOME=**</value>
  </property>

</configuration>

 yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

  <property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
  </property>

  <property>
	<name>yarn.resourcemanager.hostname</name>
	<value>centos01</value>
  </property>
  <property>
	<name>yarn.nodemanager.resource.memory-mb</name>
	<value>2048</value>
  </property>
  <property>
	<name>yarn.scheduler.minimum-allocation-mb</name>
	<value>2048</value>
  </property>
  <property>
	<name>yarn.nodemanager.vmem-pmem-ratio</name>
	<value>2.1</value>
  </property>

</configuration>

workers

centos01
centos02
centos03

 配置结束后,格式化名称节点。

hdfs namenode -format

启动 hadoop 集群,进入 {Hadoop}/sbin 文件夹。

./start-all.sh

5、hadoop 测试

启动集群后,可以在每台虚拟机上 jps 查看进程,若每台虚拟机显示进行如部署规划一致(除 master、worker,这个是 spark 的),则配置无误。

同时,也可以访问网页 hdfs 管理端,访问地址:虚拟机ip地址+端口号:9870。

后续可以进行 wordcount 测试。(配置过程出现的问题参考Hadoop 避坑指南

6、spark配置

将下载好的压缩包在指定目录解压。进入解压目录,在 {spark}/conf 内修改配置文件。

 修改模板文件

cp spark-env.sh.template spark-env.sh

cp slaves.template slaves

修改spark-env.sh

export JAVA_HOME={JAVA}            //{**}为对应的解压目录
export SCALA_HOME={SCALA}
export HADOOP_HOME={HADOOP}
export SPARK_HOME={SPARK}
export HADOOP_CONF_DIR={hadoop}/etc/hadoop
export SPARK_MASTER_HOST=centos01
export SPARK_EXECUTOR_MEMORY=1G
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_PORT=7078
export SPARK_MASTER_PORT=7077

 修改slaves

centos02
centos03

进入{spark}/sbin ,启动 spark 集群。

./start-all.sh

7、spark 测试

启动集群后,可以在每台虚拟机上 jps 查看进程,若每台虚拟机显示进行如部署规划一致,则配置无误。

同时,也可以访问网页 spark节点 管理端,访问地址:master 虚拟机ip地址+端口号:7077。

后续可以进行 wordcount 测试。