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
返回一个数组,数组内容为每个单词出现的次数