spark安装手册

  • 格式:doc
  • 大小:54.00 KB
  • 文档页数:7

1. 引言

本文档描述一个生产型hadoop与spark集群得安装、配置过程。设置单机部署在相应步骤中有描述,可参考。

2. 软件包与版本

OS: SLES12 SP3

Anaconda3-5、0、1-Linux-x86_64、sh

apache-flume-1、8、0-bin、tar、gz

hadoop-2、7、5、tar、gz

hadoop-3、0、0、tar、gz

jdk-8u152-linux-x64、tar、gz

kafka_2、12-1、0、0、tgz

spark-2、2、1-bin-hadoop2、7、tgz

全部复制到/root/software目录下。

3. 集群规范

推荐硬件配置:

处理器:2个6核或8核,主频3GHz

内存: 64-512 GB ECC

存储器:12-24块1-4TB SATA

网络: 带链路聚合得千兆以太网

RAID:

Namenode可以使用以保护元数据

Datanode 依靠JBOD技术,据说比RAID强

集群规模:

一般认为10个节点算小集群入门规模,咱先按照4台安装,分开部署master,分开部署主namenode与辅助 namenode

网络拓扑:

推荐一个机架(rack)安装30-40台服务器,共享1个10GB交换机;

各机架间得交换机通过上行链路与核心交换机或路由器互联(至少 10GB);

同一机架内节点之间得总带宽远高于不同机架间得带宽。

4. 创建linux用户账号

HDFS、mapreduce、yarn通常使用独立用户运行,分别命名为hdfs、mapred、yarn,同属于hadoop组。

5. 安装java

wiki上介绍得java版本都太老了,直接使用jdk8最新版本安装,统一安装在/opt下:

cd ~/software tar zxf jdk-8u152-linux-x64、tar、gz

mv jdk1、8、0_152/ /opt

编辑/etc/profile,在文件最后添加:

#

# JAVA setting

#

export JAVA_HOME=/opt/jdk1、8、0_152

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=、:$JAVA_HOME/lib/dt、jar:$JAVA_HOME/lib/tools、jar

执行

source /etc/profile

6. ssh配置

应允许集群内机器得hdfs与yarn用户无需密码登录:

su - hdfs

ssh-keygen -t rsa -f ~/、ssh/id_rsa

ssh-copy-id -i ~/、ssh/id_rsa、pub hadoop-1

exit

su - yarn

ssh-keygen -t rsa -f ~/、ssh/id_rsa

ssh-copy-id -i ~/、ssh/id_rsa、pub hadoop-1

或者在第一台服务器配置好后,将/home作为nfs导出,其她 服务器将其mount到本地/home下,再ssh一下新服务器即 可。

7. 安装hadoop

cd ~/software/

tar zxf hadoop-3、0、0、tar、gz

chown -R hdfs:hadoop hadoop-3、0、0/

mv hadoop-3、0、0 /opt/

cd /opt/hadoop-3、0、0/

mkdir logs

chmod 777 logs

编辑/etc/profile,在文件最后添加:

#

# HADOOP setting

#

export HADOOP_HOME=/opt/hadoop-3、0、0

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

执行

source /etc/profile

8. 格式化HDFS文件系统

全新得hdfs安装需要格式化,创建存储目录与初始化namenode:

su - hdfs hdfs namenode -format

9. HADOOP配置

各重要配置文件得配置项目及解释:

core-site、xml:

fs、defaultFS

hdfs://hadoop-1/

io、file、buffer、size

131072

① 将一台机器指定为namenode,fs、defaultFS属性描述hdfs文件系统得URI, 端口默认就是8020。

hdfs-site、xml:

dfs、namenode、name、dir

file:/namenode/hdfs/name, file:/nfs/hdfs/name

dfs、datanode、data、dir

file:/datanode/hdfs/data1,

file:/datanode/hdfs/data2

dfs、namenode、checkpoint、dir

file:/namenode/hdfs/namesecondary

dfs、client、read、shortcircuit

true

dfs、domain、socket、path

file:/var/run/hadoop-hdfs/dn_socket

① dfs、namenode、name、dir用来存储永久性得文件系统元数据(编辑日志与文件系统映像),这些元数据文件同时保存在所有目录中,可以将元数据写到一两个本地磁盘与一个远程磁盘上(辅助namenode只定期保存检查点,不维护最新元数据)。默认值就是file://${hadoop、tmp、dir}/dfs/name。

② dfs、datanode、data、dir设定datanode存储数据块得目录列表,可指定一系列目录使其在各目录循环写入,因此建议为每块本地硬盘指定一存储目录,跨磁盘分布数据块可以提升读取性能(设置noatime选项挂载分区,不会刷新文件最近读取时间,显著提升性能)。默认值就是file://${hadoop、tmp、dir}/dfs/data。

③ dfs、namenode、checkpoint、dir指定辅助namenode存储检查点得目录,可以指定一系列目录,数据文件同时保存在所有目录中,以实现冗余备份。默认值就是file://${hadoop、tmp、dir}/dfs/namesecondary。

④${hadoop、tmp、dir}默认就是/tmp/hadoop下。

yarn-site、xml:

yarn、resourcemanager、hostname

hadoop-2

yarn、nodemanager、local-dirs

file:/datanode/hdfs/local-dir1,

/datanode/hdfs/local-dir2

yarn、nodemanager、aux-services

mapreduce、shuffle

yarn、nodemanager、resource、memory-mb

24576

yarn、nodemanager、resource、cpu-vcores

40

① yarn、resourcemanager、hostname为运行资源管理器得主机名或IP地址。在mapreduce客户端配置中,需要通过rpc连接资源管理器时,会用到这个属性。

② yarn、nodemanager、local-dirs为yarn容器本地临时存储空间,包括map任务得输出数据都会写到这里,因此要求尽量大,指定一系列目录使其在各目录循环写入,提升IO性能。通常情况下,yarn本地存储会使用与datanode相同得分区。

③ yarn依赖于shuffle句柄将map任务输出给reduce任务。shuffle句柄就是长期运行于节点管理器得附加服务。因为yarn就是通用目得服务,因此要通过将yarn-site、xml中得yarn、nodemanager、aux-services属性设为mapreduce、shuffle以显式启用mapreduce得shuffle句柄。

④ yarn、nodemanager、resource、memory-mb节点管理器运行容器可分配得物理内存。一个运行容器得节点管理器分配得内存取决于机器得物理内存,每个hadoop