Spark环境搭建
一、准备工作
软件 | 版本 | 下载地址 |
---|---|---|
Centos | 6.5 | https://www.centos.org/download/ |
VMWare | 比较新的版本即可 | https://my.vmware.com/cn/web/vmware/downloads |
JDK | 1.7.0_79 | http://www.oracle.com/ |
hadoop | 2.6.0 | http://hadoop.apache.org/releases.html |
scala | 2.11.8 | http://www.scala-lang.org/download/ |
spark | spark-1.6.1 | http://spark.apache.org/downloads.html |
VMWare 中安装CentOS比较简单,不再多说。
1.设置ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static #设置网卡获得ip地址的方式,为static
onboot-yes #开机启动
IPADDR=192.168.1.118
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
当修改了ip之后,使用命令service network restart重新启动网络服务
然后ping个baidu什么的测试网络是否连通
2.设置主机名
设置主机名的目的是配置文件中可以使用主机名代替ip地址
hostname查看主机名称
vi /etc/sysconfig/network
绑定主机名到ip上
vi /etc/hosts
增加一行记录192.168.1.118 hadoop
3.关闭防火墙及开机自启
service iptables stop
chkconfig --list |grep iptables
chkconfig iptables off
4.设置SSH免密码登录
设置的目的是可以切换主机,在集群模式下尤为方便。
ssh-keygen -t rsa
ssh-copy-id -i localhost
#集群中其他节点增加以下步骤,伪分布无需增加
scp /root/.ssh/id_rsa.pub root@ip:/home
#登陆目的节点,将公钥追加到key中
cat /home/id_rsa.pub >> /root/.ssh/authorized_keys
5.安装jdk
把jdk-7u79-linux-x64.tar.gz放到linux的/usr/local目录下
tar -zxvf jdk-7u79-linux-x64.tar.gz
vi /etc/profile
#增加两行内容
export JAVA_HOME=/usr/local/jdk1.7.0_79
export PATH=.:$JAVA_HOME/bin:$PATH
#保存退出。执行命令
source /etc/profile
执行命令java -version查看刚才操作是否生效。
6、安装scala
tar -zxvf scala-2.11.8.tgz
vi /etc/profile
#增加
SCALA_HOME=/usr/local/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
source /etc/profile
二、安装部署
1、HDFS伪分布搭建
修改配置文件etc/hadoop/hadoop-env.sh:
JAVA_HOME=/usr/local/jdk1.7.0_79
修改配置文件etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.1.118:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-2.6.0/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>
修改配置文件etc/hadoop/hdfs-site.xml:
伪分布replication设置为1,默认值为3,是hadoop的可靠性保证。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
2、安装Yarn
修改配置文件etc/hadoop/mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
如果需要还可以指定JobHistory和WebUI等属性
修改配置文件etc/hadoop/yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
如果需要还可以指定resourcemanager等属性
集群模式下,还需要配置Master和Slaves文件
#Master文件添加
Master 主机名
#Slaves文件添加主机名:主机名1主机名2等等
主机名1
主机名2
格式化文件系统:
$ bin/hdfs namenode -format
启动hadoop:
./sbin/start-all.sh
查看启动java进程
jps
3、安装spark
#解压
tar -zxvf spark-1.6.1-bin-hadoop2.6.tar.gz
cd spark-1.6.1-bin-hadoop2.6/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
#增加以下
SCALA_HOME=/usr/local/scala-2.11.8
#worker最大内存,影响缓存数据的量
SPARK_WORKER_MEMORY=3g
SPARK_MASTER_IP=192.168.1.118
MASTER=spark://192.168.1.118:7077
export SCALA_HOME SPARK_WORKER_MEMORY SPARK_MASTER_IP MASTER=spark
#配置slaves
cp slaves.template slaves
vi slaves
#增加节点主机名,伪分布的话应该不用增加,默认有localhost