基于centos的Spark环境搭建过程详解

1.所需软件:

hadoop-2.6.0.tar.gz

jdk-8u25-linux-i586.gz

scala-2.11.0.tgz

spark-1.4.0-bin-hadoop2.6.tgz

CentOS-6.5-x86_64-bin-DVD1.isoubuntu-14.04-desktop-i386.iso或者Fedora

vmwareworkstation

注:目前Spark2.0已经出来,可以尝试最新版本,但是注意Spark版本和所用的hadoop版本要的一致性

 

2.准备工作:

(1)安装vmware虚拟机

(2)创建一个名为Master的虚拟机。使用64位的ubutun14.04或者Centos6.5。(注意创建时设置用户名为hadoop)

 

3.环境配置:

1个Master,2个Slave,节点之间局域网连接,可以相互ping通。

单机虚拟环境时:可以将主节点同时作为master和slave。

 

(1)为了能正确解析主机名,修改/etc/hosts文件里对应的主机名:

$gedit /etc/hosts

单机版,eg如下:

192.168.238.150 master

127.0.0.1  localhost  master

分布式,eg如下:

192.168.238.130 slave1

192.168.238.129 master

192.168.238.131 slave2

注:"/etc/hosts"这个文件是用来配置主机将用的DNS服务器信息,是记载LAN内接续的各主机的对应[HostName  IP]用的。当用户在进行网络连接时,首先查找该文件,寻找对应主机名对应的IP地址。

我们要测试两台机器之间知否连通,一般用"ping 机器的IP",如果想用"ping 机器的主机名"发现找不见该名称的机器(这也就是为什么在修改主机名的同时最好修改该文件中对应的主机名),解决的办法就是修改"/etc/hosts"这个文件,通过把LAN内的各主机的IP地址和HostName的一一对应写入这个文件的时候,就可以解决问题。

(2)通过对"/etc/sysconfig/network"文件修改其中"HOSTNAME"后面的值,改成我们规定的名称。

如下:

NETWORKING=yes

HOSTNAME=localhost

Or  

NETWORKING=yes

HOSTNAME=master.hadoop

 

4.ssh环境配置:

如果你的Linux没有安装SSH,请首先安装SSH

Ubuntu下安装sshsudo apt-get install ssh

CentosFedora下安装sshyum install ssh

Eg如下:

1)  sudo apt-get install ssh

2)  ssh-keygen -t rsa   ===>生成密钥(可以一路回车,默认生在~/.ssh目录下)

3)  进入.ssh目录执行cat id_rsa.pub >> authorized_keys (id_rsa.pub加到授权的key里面去,这步执行完,应该sshlocalhost可以无密码登录本机了,可能第一次要密码)

对于分布式的环境,可以直接:

复制虚拟机(必须在前3步完成之后复制,因为此时的虚拟机是Master的完全副本,不需要安装很多东东)

1)复制需要虚拟机处于关闭状态

2)选择虚拟机--->虚拟机选项卡---->管理---->克隆---->克隆方法选择完整克隆---->目标地址是G:\Slave1,虚拟机名称是Slave1

3)启动虚拟机Slave1,修改/etc/hostname,并且如果IP地址和hosts文件设置的不同,需要使用ifconfig eth0 IP地址来修改IP地址,让机器名为Slave1,重启。

4)在Master上执行ssh  Slave1 将不需要密码,直接登录到。

 

5.jdk环境的安装:

因为Hadoop是基于java编写的,所以需要安装jdk环境。

$gedit  /etc/profile

在最后加入java文件路径(注:注意自己解压安装的路径),eg

export JAVA_HOME=/usr/local/java/jdk1.8.0_74

export JAVA_BIN=$JAVA_HOME/bin

export JAVA_LIB=$JAVA_HOME/lib

export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar

export PATH=$JAVA_BIN:$PATH

完成之后记得:

$source  /etc/profile

安装完成之后,通过java -version进行查看:

 

 

6.配置Hadoop环境:

1)拷贝hadoop-2.6.0.tar.gzMaster

2)sudo mv hadoop-2.6.0.tar.gz   /usr/local/

3)重命名:

    sudo mv hadoop-2.6.0 hadoop

4)$gedit /etc/profile

修改环境变量,eg如下:

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

export YARN_HOME=/usr/local/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

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

生效:

$ source /etc/profile

5)sudo vim hadoop-env.sh

export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/usr/local/jdk1.8.0_25

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

6)sudo vim core-site.xml

配置如下:

<configuration>

            <property>

                <name>fs.defaultFS</name>

                <value>hdfs://master:9000</value>

        </property>

        <property>

                <name>hadoop.tmp.dir</name>

                <value>file:/usr/local/hadoop/tmp</value>

                <description>Abase for other temporary directories.</description>

        </property>

</configuration>

7)sudo vim hdfs-site.xml

配置如下:

<configuration>

    <property>

                <name>dfs.namenode.secondary.http-address</name>

                <value>master:9001</value>

        </property>

        <property>

                <name>dfs.replication</name>

                <value>1</value>

        </property>

        <property>

                <name>dfs.namenode.name.dir</name>

                <value>file:/usr/local/hadoop/tmp/dfs/name</value>

        </property>

        <property>

                <name>dfs.datanode.data.dir</name>

                <value>file:/usr/local/hadoop/tmp/dfs/data</value>

        </property>

</configuration>

8)sudo vim mapred-site.xml

配置如下:

<configuration>

<property>

                <name>mapreduce.framework.name</name>

                <value>yarn</value>

        </property>

        <property>

                <name>mapreduce.jobhistory.address</name>

                <value>master:10020</value>

        </property>

        <property>

                <name>mapreduce.jobhistory.webapp.address</name>

                <value>master:19888</value>

        </property>

</configuration>

9)sudo vim slaves

Slave节点的ip或者主机名加入

10)sudo vim yarn-site.xml

配置如下:

<configuration>

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

                <property>

                <name>yarn.resourcemanager.hostname</name>

                <value>master</value>

        </property>

        <property>

                <name>yarn.nodemanager.aux-services</name>

                <value>mapreduce_shuffle</value>

        </property>

</configuration>

11)(分布式情况下)在Master上配置好之后,分发打牌各个节点。

                         scp -r  /usr/local/hadoop Slave1:/usr/local/

注意:如果存在权限问题,在子节点上执行:sudo chmod 777 /usr/local/

 

 

 

7.Spark环境配置:

1)在conf目录下配置slaves

2)$gedit spark-env.sh

配置如下:

export SCALA_HOME=/usr/local/scala/scala-2.10.4

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_74

export HADOOP_HOME=/usr/local/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

#export HADOOP_CONF_DIR=/usr/local/spark/spark-1.6.1-bin-hadoop2.6/conf

export SPARK_MASTER_IP=192.168.238.150

export SPARK_LOCAL_DIRS=/usr/local/spark/spark-1.6.1-bin-hadoop2.6

export SPARK_DRIVER_MEMORY=1G

export master=spark://192.168.238.150:7070

 

Hadoop安装可以参考如下Blog

http://blog.csdn.net/jim_cainiaoxiaolang/article/details/51224598

http://www.cnblogs.com/lanxuezaipiao/p/3525554.html

http://www.powerxing.com/install-hadoop-cluster/

 

Spark配置具体可以参照:

http://blog.csdn.net/cuixianpeng/article/details/20715673

 

 

 

 

 

 

 

 

 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值