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