spark 安装

环境配置:

ubuntu14.04.4-server 64位

jdk1.7.0_79

hadoop-2.6.0

spark-1.4.1 built for hadoop-2.6.0

spark 的环境部署的主要步骤:

1,机器和网络配置,这里使用VM VirtualBox构建两台虚拟机。

2,安装 ssh server ,并配置免密码登入

3,安装 Jdk

4,安装 hadoop

5,安装 spark

步骤说明

1,机器和网络配置

构建两台虚拟机master 和 slave01 ,并创建一个专用的hadoop 用户 。

虚拟机需要启用两个网卡,先在VM VirtualBox如下配置

nat

host-only

接下来,根据下面的网段说明,为master ,slave01 分配固定Ip。

master:192.168.56.101

slave01:192.168.56.102

ifconfig -- 查看网络
sudo ifconfig eth1 up --开启eh1网卡
sudo vi /etc/network/interfaces -- 配置固定IP

重启机器后,ifconfig 查看固定ip是否生效

 配置host

sudo vim /etc/hosts  

 分别在master 和slave01 互ping可通则Ok.

2,安装 ssh server

检查是否安装ssh server,如果没有安装会报错。

ssh localhost

 安装命令

sudo apt-get update --更新一下软件列表
sudo apt-get install openssh-server --安装ssh-server

接下来生成生成密钥对,注意先用上面创建的hadoop用户登入

先在master 生成密钥对

cd ~ 
ssh-keygen -t rsa -P '' 

此时~/.ssh 会有id_rsa,id_rsa.pub两个文件。然后把公钥拷到authorized_keys

cat .ssh/id_rsa.pub >> .ssh/authorized_keys 

然后在slave01 上也生成密钥对,然后把公钥拷贝到master

scp .ssh/id_rsa.pub rihai@192.168.56.101:~/slave01_rsa.pub 

在master上,把slave 的公钥追加到authorized_keys。

cat slave01_rsa.pub >> .ssh/authorized_keys

把有两个公钥的authorized_keys把拷到slave01

scp .ssh/authorized_keys rihai@192.168.56.102:~/.ssh/authorized_keys 

测试下ssh连接是否Ok

ssh slave01 

 

3,安装 Jdk

 下载地址:http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F;oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz"

 

建jdk安装目录:/usr/lib/jdk

cd /usr/lib
sudo mkdir jdk

解压

sudo tar zxvf jdk-7u79-linux-x64.tar.gz  -C /usr/lib/jdk 

配置javahome

sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_79 

export JRE_HOME=/usr/lib/jdk/jdk1.7.0_79/jre 

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH  

export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

配置生效

. /etc/profile

java -version 查看版本,安装成功

 

4,安装 hadoop

下载地址:

wget https://archive.apache.org/dist/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz

先在master解压安装

sudo tar xvzf hadoop-2.6.0.tar.gz -C /usr/local

usr/local/hadoop-2.6.0/  用户组换成专门的hadoop用户

sudo chown -R  rihai:rihai  /usr/local/hadoop-2.6.0/  

配置hadoop-env.sh

cd /usr/local/hadoop-2.6.0/  

vim etc/hadoop/hadoop-env.sh

配置hadoophome

sudo vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop-2.6.0

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

. /etc/profile 配置生效

hadoop version  --查看版本信息

接下来是集群配置

先建三个目录

~/hadoop/tmp、~/hadoop/datanode、~/hadoop/namenode

进到 /usr/local/hadoop-2.6.0/etc/hadoop/目录

cd $HADOOP_HOME/etc/hadoop/

 

core-site.xml 配置

sudo vim core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/rihai/hadoop/tmp</value>
    </property>
</configuration>

hdfs-site.xml 配置

sudo vim hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/rihai/hadoop/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/rihai/hadoop/datanode</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

mapred-site.xml 配置

sudo mv mapred-site.xml.template mapred-site.xml
sudo vim mapred-site.xml

 

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

yarn-site.xml 配置

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
</configuration>

然后 把hadoop-2.6.0 整个目录拷贝到slave01。拷贝到/usr/local/ 可能会有权限的问题。

sudo  scp  -r hadoop-2.6.0 rihai@192.168.56.102:/usr/local/ 

slave01 还需要再做上面几个步骤(usr/local/hadoop-2.6.0/  用户组,建三个目录,配置hadoophome)

回到master, 配置slaves hostname

sudo vim slaves
#add slaves 
slave01

前面配置Ok了的话,在Master机器上进行hdfs格式化

hdfs namenode -format 

启动dfs ,会启动以下进程

start-dfs.sh

启动yarn ,会启动以下进程

start-yarn.sh

如果和上面一样说明已经安装成功了,最后还需要创建一个用户hdfs目录

hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/<username>    --username为你创建的Hadoop用户名

http://192.168.56.101:50070/  查看集群情况

http://192.168.56.101:8088/  查看job情况

可以测试一下官方自带的mapreduce例子

hdfs dfs -mkdir input
hdfs dfs -put etc/hadoop/*.xml input
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha1.jar grep input output 'dfs[a-z.]+'
hdfs dfs -cat output/*   查看结果

 5,安装 spark

下载地址 http://spark.apache.org/downloads.html

先在master解压安装

sudo tar xvf spark-1.4.1-bin-hadoop2.6.tgz -C /usr/local

设置spark 目录用户组为之前创建的用户

sudo chown -R  rihai:rihai  /usr/local/spark-1.4.1-bin-hadoop2.6/

设置sparkhome

sudo vim /etc/profile
export SPARK_HOME=/usr/local/spark-1.4.1-bin-hadoop2.6

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


. /etc/profile 配置生效

接下来集群配置

先在hdfs上建一个日志目录: spark_tmp/spark-events

hdfs dfs -mkdir /user/rihai/spark_tmp
hdfs dfs -mkdir /user/rihai/spark_tmp/spark-events

配置spark-env.sh

cd $SPARK_HOME/conf
cp -R spark-env.sh.template spark-env.sh
sudo vim spark-env.sh
export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_79
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://master:9000/user/rihai/spark_tmp/spark-events"
export HADOOP_CONF_DIR=/usr/local/hadoop-2.6.0/etc/hadoop
export SPARK_WORKER_MEMORY=300M
export SPARK_MASTER_IP=192.168.56.101
SPARK_HISTORY_OPTS  --SPARK_HISTORY server的配置,这样如果是提交到yarn 的任务,也可以通过页面查看运行情况
Dspark.history.fs.logDirectory 为上面创建的spark-events目录
HADOOP_CONF_DIR --指定Hadoop 的配置目录
SPARK_WORKER_MEMORY --我本机电脑设的比较小
SPARK_MASTER_IP  --这个指定Master的ip  如果填的是master ,则提交任务的时候只能用spark://master:7077 .如果是和ZooKeeper 结合做HA,SPARK_MASTER_IP不要设置。

配置spark-defaults.conf

sudo  vim spark-defaults.conf

#add log feature
spark.eventLog.enabled           true
spark.eventLog.dir            hdfs://master:9000/user/rihai/spark_tmp/spark-events
spark.executor.memory           100m
spark.driver.memory           100m
spark.eventLog.enabled --启用eventLog 
spark.eventLog.dir --为上面创建的spark-events目录

配置slaves hostname

cp -R slaves.template slaves
sudo vim slaves

#slave list
slave01

master 配置好了,拷贝spark到slave

sudo  scp  -r spark-1.4.1-bin-hadoop2.6 rihai@192.168.56.102:/usr/local/ 

同样的slave01 还需要再做上面几个步骤(设置spark 目录用户组,设置sparkhome)。

所以配置都 OK了,启动 spark

start-all.sh
start-history-server.sh

 

可以进到管理页面,查看集群的情况。

http://192.168.56.101:8080/ --master管理页面

http://192.168.56.101:18080/ history server页面

 

安装完成!



posted on 2016-09-21 14:26  张日海  阅读(1056)  评论(0编辑  收藏  举报

导航