hadoop+spark集群搭建

1.      安装JDK

(1)下载Java7,本文使用jdk-7u67-linux-x64.tar.gz(若配置最新版本可使用java8)

(2)在/opt下新建文件夹jdk,将上述压缩文件解压到该文件夹下

可使用命令:tar vxf jdk-7u67-linux-x64.tar.gz

(3)配置环境变量

sudo gedit /etc/profile

在末尾添加:

#java

exportJAVA_HOME=/opt/jdk/jdk1.7.0_67

export JRE_HOME=/opt/jdk/jdk1.7.0_67/jre

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib:$CLASSPATH

exportPATH=$JAVA_HOME/bin:$PATH

(4)使profile生效

                  source /etc/profile

         (5)检验安装是否成功

                   java–version

                   出现版本信息则说明安装成功

2.      安装Scala

(1)下载Scala,本文使用scala-2.10.5.tgz

(2)在/opt下新建文件夹scala,将上述压缩文件解压到该文件夹下

可使用命令:tar vxf scala-2.10.5.tgz

(3)配置环境变量

sudo gedit /etc/profile

在末尾添加:

#scala

exportSCALA_HOME=/opt/scala/scala-2.10.5

exportPATH=$SCALA_HOME/bin:$PATH

(4)使profile生效

                   source/etc/profile

         (5)检验安装是否成功

                   scala–version

                   出现版本信息则说明安装成功

3.      此时重启计算机,若图形界面卡在登陆界面,输入密码无法进入,按Ctrl+Alt+F1进入终端,执行:/usr/bin/sudo /usr/bin/vi /etc/profile,然后按dd将新增内容删除后/usr/bin/sudo reboot重启即可。然后按步骤1-2重新配置。

4.      安装maven 或者 sbt 用于编译

下载maven-3.0.5

cd /opt  
sudo mkdir maven  

sudo chmod 755 /opt/maven  
sudo tar -zvxf apache-maven-3.2.1-bin.tar.gz

配置环境变量

sudo gedit/etc/profile

末尾添加:

export MAVEN_HOME=/opt/maven/maven/apache-maven-3.0.5

export PATH=$ MAVEN_HOME/bin

5.      添加用户组hadoop和用户hadoop

sudo groupadd hadoop

sudo adduser hadoop会自动同名组,创建/home/hadoop/,从etc/skel/复制文件,并设定密码和相关初始身份信息

删除用户:
sudo userdel test

rm -rf /home/test

使hadoop用户获得sudo权限:

sudo gedit /etc/sudoers

在root   ALL=(ALL)       ALL下面增加hadoop   ALL=(ALL)       ALL

6.      使hadoop用户获得jdk,maven,scala的权限

sudo chown –R hadoop:hadoop /opt/jdk

sudo chown –R hadoop:hadoop /opt/maven

sudo chown –R hadoop:hadoop /opt/scala

7.      配置hadoop

本文采用hadoop-2.6.0版本进行配置

(1)解压hadoop-2.6.0.tar.gz

(2)配置环境(/etc/profile)

export HADOOP_HOME=/opt/hadoop-2.6.0

export PATH=$HADOOP_HOME/bin:$PATH

(3)配置hadoop文件(/opt/hadoop-2.6.0/etc/hadoop)

修改hadoop-env.sh,yarn-evn.sh在其中加入exportJAVA_HOME=/opt/jdk/jdk1.7.0_67

           配置mapred-env.sh

配置core-site.xml,mapred-site.xml,yarn-site.xml,hdfs-site.xml具体内容见配置文件

           配置masters和slaves

(4)测试(/opt/hadoop-2.6.0)

           格式化:./bin/hadoopnamenode –format

           启动:./sbin/start-all.sh

           查看:jps

主机上应该启动:Jps、NameNode、ResourceManager、SecondaryNameNode

节点计算机上应启动:Jps、DataManager、DataNode

如果计算节点没能启动DataNode:

1. 先执行stop-all.sh暂停所有服务
2. 将所有Salve节点上的tmp(即 hdfs-site.xml 中指定的 dfs.data.dir 文件夹,DataNode存放数据块的位置)、 logs 文件夹删除 , 然后重新建立tmp , logs 文件夹
3. 将所有Salve节点上的/usr/hadoop/conf下的core-site.xml删除,将master节点的core-site.xml文件拷贝过来,到各个Salve节点

如果需要JobHistoryServer等服务可使用sbin/hadoop_daemon.shstart JobHistoryServer启动

8.      配置spark

(1)下载对应版本的spark:spark-1.3.1-bin-hadoop2.6.tgz

(2)解压,设置权限

           sudo tar –xzvfspark-1.3.1-bin-hadoop2.6.tgz

           suod chown –R hadoop:hadoopspark-1.3.1-bin-hadoop2.6

(3)配置/conf/spark-env.sh和slaves

           内容见配置文件

(4)启动

           ./sbin/start-all.sh

(5)查看jps

           管理节点:master

           计算节点:worker

9.      Spark测试

在启动hadoop的基础上启动spark集群

           ./sbin/start-all.sh

           ./bin/spark-shell --master spark://lxy(主节点名):7077

测试:

(1)sc.parallelize(1 to 1000).count() // 计数

(2)在HDFS文件系统中创建/data/目录

hadoop fs –mkdir /data

          将README.md文件上传至该文件夹中

                   hadoopfs –put README.md /data/

val rdd = sc.textFile(“hdfs://lxy:9000/data/README.md”)

val count = rdd.flatMap(line =>line.split(“ ”)).map(word => (word, 1)).reduceByKey(_+_)

count.collect

返回一个数组,数组内容为每个单词出现的次数

 

 

你可能感兴趣的:(hadoop+spark集群搭建)