「大数据」(七十二)Spark之安装配置
【导读:数据是二十一世纪的石油,蕴含巨大价值,这是·情报通·大数据技术系列第[72]篇文章,欢迎阅读和收藏】
1 准备工作
1.1 机器配置
1.2 软件信息
2 服务器配置
2.1 集群机器配置
( 1 ) 修改主机名
将机器 100.100.1.47 作为 Spark Master 节点,其余两台机器做为 Spark Slave 节点,编辑 /etc/HOSTNAME 文件,将原本的主机名更改为 sparkmaster ,另外两台机器分别更名为 sparkslaves1 、 sparkslaves2 ;
集群的三台机器上都编辑 /etc/hosts 文件,在文件末端加上三行配置
100.100.1.47 sparkmaster
100.100.1.48 sparkslaves1
100.100.1.49 sparkslaves2
( 3 ) 配置生效
三台机器都修改完毕后重启,或者执行命令 /etc/rc.d/boot.localnet start ,使配置生效。
2.2 配置互信
( 1 ) 生成密钥对
在 sparkmaster 机器上执行 ssh – keygen – t dsa 命令,将在 /root/.ssh/ 目录下生成密钥对的两个文件:id_dsa 和 id_dsa.pub ,在生成密钥对的过程中,遇到 Enter file in which to save the key ( /root/.ssh/id_dsa ):和 Enter passphrase(empty for no passphrase) :时,都直接回车,采用括号中默认的方式;
( 2 )密钥重命名
进入 /root/.ssh/ 目录,查看是否有名为 authorized_keys 的文件。如果存在,在文件末尾添加 id_dsa.pub 中的内容;如果不存在,直接将 id_dsa.pub 复制到此目录下,并命名为 authorized_keys ;
( 3 )密钥发送到集群机器
在 sparkslaves1 和 sparkslaves2 的 /root/ 目录下新建 .ssh 文件夹,利用 cp 命令在 sparkmaster 机器上将 authorized_keys 复制到外层可访问目录下,如:/home/ ,在 sparkmaster 机器上通过 scp 命令,将 authorized_keys 发送到 sparkslaves1 和 sparkslaves2 机器中的 /home/ 目录下,再将 authorized_keys 拷贝到 /root/.ssh/ 目录下;
( 4 )测试互信是否配置成功
在 sparkmaster 机器上输入 ssh sparkslaves1 和 ssh sparkslaves2 ,若直接登陆且无需输入密码,即表示配置成功。
3 软件安装
3.1 安装 Java
集群的三台机器都需要安装 Java 和 Scala , Hadoop 是用 Java 开发的, Hadoop 中 MapReduce 的运行需要使用 JDK ,所以 JDK 是必须安装的。Spark 是使用 Scala 编写的所以要在各个节点上安装 Scala ,安装前确保 Java 也已经安装完毕。
( 1 )安装 Java
将下载的 jdk-7u79-linux-x64.tar 在安装目录 /root/ 下解压生成 /jdk1.7.0_79 目录, scala-2.11.6 在 /root/ 下解压生成 /scala-2.11.6 目录;
( 2 )配置环境变量
在 /etc/profile 文件末尾加上下述配置信息
export JAVA_HOME=/root/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export SCALA_HOME=/root/ scala-2.11.6
export PATH=$PATH:$SCALA_HOME/bin
( 3 )配置生效
重新编译 profile 文件,使配置生效
source /etc/profile
3.2 安装与配置 Hadoop
Hadoop 的框架最核心的设计就是:HDFS 和 MapReduce 。HDFS 为海量的数据提供存储,而 MapReduce 为海量的数据提供计算。
( 1 )安装 Hadoop
将下载的 hadoop-2.6.0.tar 在 sparkmaster 机器安装目录 /home/ 下解压,生成 / hadoop-2.6.0 目录;
( 2 )需要配置的文件
Hadoop 配置文件在 /home/ hadoop-2.6.0/etc/hadoop 目录中,主要有 slaves 、 hadoop-env.sh 、 core-site.xml 、 hdfs-site.xml 、 mapred-env.sh 、 yarn-site.xml 文件
( 3 )配置 slaves 文件
100.100.1.48
100.100.1.49
( 4 )配置 hadoop-env.sh 文件
修改 Java 安装目录为:
export JAVA_HOME=/root/jdk1.7.0_79
( 5 )配置 core-site.xml 文件
在 <configuration> 起始和结束标签之间添加下述内容
<property>
<name>fs.default.name</name>
<value>hdfs:// 100.100.1.47:9000</value>
</property>
( 6 )配置 hdfs-site.xml 文件
在 <configuration> 起始和结束标签之间添加下述内容
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/mnt/hadoop1/data </value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
( 7 )配置 mapred-site.xml 文件
在 <configuration> 起始和结束标签之间添加下述内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
( 8 )配置 yarn-site.xml 文件
在 <configuration> 起始和结束标签之间添加下述内容
<property>
<name>yarn.resourcemanager.hostname</name>
<value>100.100.1.47</value>
</property>
( 9 )发送配置完成的 Hadoop 到集群机器上
scp -r /home/ hadoop-2.6.0 [email protected]:/home
scp -r /home/ hadoop-2.6.0 [email protected]:/home
( 10 )初始化 namenode
在 sparkmaster 机器上,进入 /home/ hadoop-2.6.0/bin/ 目录下,执行下述代码
./hadoop namenode -format
( 11 )启动 Hadoop
在 sparkmaster 机器上,进入 /home/ hadoop-2.6.0/ 目录下,执行下述代码
sbin/start-all.sh
( 12 )测试 Hadoop
在浏览器中输入 http://100.100.1.47:50070 ,查看集群状态是否正常。
3.3 安装与配置 Spark
Spark 是继 Hadoop 之后的新一代大数据分布式处理框架,是一个高效的分布式计算系统。
( 1 )安装 Spark
将下载的 spark-1.4.0-bin-hadoop2.6 在 sparkmaster 机器安装目录 /home/ 下解压,生成 / spark-1.4.0-bin-hadoop2.6 目录;
( 2 )需要配置的文件
Spark 配置文件在 /home/ spark-1.4.0-bin-hadoop2.6 目录中,需要配置的文件有 slaves 、 spark-env.sh 、 log4j.properties ,进入目录若没有对应的文件,将带有 .template 后缀名的文件,复制为上述文件。
( 3 )配置 slaves 文件
100.100.1.48
100.100.1.49
( 4 )配置 spark-env.sh 文件
export SPARK_MASTER_IP=100.100.1.47
export SPARK_MASTER_PORT=7077
( 5 )配置 log4j.properties 文件
按需求修改打印日志级别,注意在调试过程中若将 log4j.rootCategory=Error, console ,修改为 log4j.rootCategory=INFO, console ,调试完毕后需要将打印级别提高,否则今后会打印太多日志内容,浪费内存或磁盘空间。
( 6 )启动 Spark
进入到 /home/ spark-1.4.0-bin-hadoop2.6 目录下,输入下述指令
sbin/start-all.sh
( 7 )测试 Spark
进入到 /home/ spark-1.4.0-bin-hadoop2.6/bin 目录下,输入下述指令
./run-examples org.apache.spark.examples.SparkPi spark://100.100.1.47:7077