》》安装hadoop2.6.0(同理2.7.7)
解压hadoop2.6.0到任意目录:
$ cd /home/tom$ wgethttp://apache.claz.org/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz$ tar -xzvf hadoop-2.6.0.tar.gz
编辑/etc/profile文件,在最后加上java环境变量:
export HADOOP_HOME=/home/tom/hadoop-2.6.0
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件
$ vim$HADOOP_HOME/etc/hadoop/hadoop-env.sh
在最后加上:
export JAVA_HOME=/home/tom/jdk1.8.0_73/
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
修改Configuration文件:
$ cd$HADOOP_HOME/etc/hadoop
修改core-site.xml:
fs.default.namehdfs://localhost:9000
修改hdfs-site.xml:
dfs.replication1dfs.name.dirfile:///home/tom/hadoopdata/hdfs/namenodedfs.data.dirfile:///home/tom/hadoopdata/hdfs/datanode
第一个是dfs的备份数目,单机用1份就行,后面两个是namenode和datanode的目录。
修改mapred-site.xml:
mapreduce.framework.nameyarn
修改yarn-site.xml:
yarn.nodemanager.aux-servicesmapreduce_shuffle
修改hosts配置文件
vi /etc/hosts在最末尾加上
127.0.0.0.1 $hostname
初始化hadoop:
cd $hadoop_home/bin
$ hdfs namenode -format
启动
$ $HADOOP_HOME/sbin/start-all.sh
停止
$$HADOOP_HOME/sbin/stop-all.sh
检查WebUI,浏览器打开端口:http://localhost:8088
port 8088: cluster and all applications
port 50070: Hadoop NameNode
port 50090: Secondary NameNode
port 50075: DataNode
hadoop运行后可使用jps命令查看,得到结果:
10057 Jps
9611 ResourceManager
9451 SecondaryNameNode
9260 DataNode
9102 NameNode
9743 NodeManager
》》安装 scala
这次我是安装到了 /usr/local/share 目录下:
1.1 解压
>[root@master share]# pwd
>/usr/local/share>[root@master share]# tar -zxvf scala-2.11.8.tgz
>...
>[root@master share]# ll
>total 28028
>drwxr-xr-x. 2 root root 4096 Sep 20 04:54 applications
>drwxr-xr-x. 2 root root 4096 Sep 23 2011 info
>drwxr-xr-x. 21 root root 4096 Sep 20 04:49 man
>drwxrwxr-x 6 1001 1001 4096 Mar 4 2016 scala-2.11.8
>-rw-r--r-- 1 root root 28678231 Nov 18 09:14 scala-2.11.8.tgz
>[root@master share]# mv scala-2.11.8 scala
>[root@master share]#
1.2 配置环境变量
[root@master share]# vi /etc/profile
[root@master share]# source /etc/profile
1.3 使用 scala -version 验证
[root@mastershare]# scala -version
Scalacode runner version2.11.8--Copyright2002-2016,LAMP/EPFL
[root@mastershare]#
当出现这样的信息的时候就表示我们的 scala 安装成功了。
发送到其他节点上就可以了…
>>安装 spark
2.1 解压,配置环境变量…
快速飘过…
[root@master hadoop]# pwd
/usr/hadoop
[root@master hadoop]# tar -zxvf spark-2.0.1-bin-hadoop2.6.tgz
...
[root@master hadoop]# mv spark-2.0.1-bin-hadoop2.6.tgz spark-2.0.1
[root@master hadoop]# vi /etc/profile
[root@master hadoop]# source /etc/profile
2.2 修改 spark 配置
进入到conf目录
2.2.1 修改 spark-env.sh
[root@masterconf]# pwd
/usr/hadoop/spark-2.0.1/conf
[root@masterconf]# cp spark-env.sh.template spark-env.sh
[root@masterconf]# vi spark-env.sh
在 spark-env.sh 中添加
# scala的安装目录
exportSCALA_HOME=/usr/local/share/scala
# java的安装目录
exportJAVA_HOME=/usr/java/jdk1.8.0_91
# 每个worker默认分配的 内存.
# - SPARK_WORKER_MEMORY, to set how much total memory workers have to give executors (e.g. 1000m, 2g)
exportSPARK_WORKER_MEMORY=1G
# hadoop的配置文件目录(笔者测试用hadoop-2.7.7)
exportHADOOP_CONF_DIR=/usr/hadoop/hadoop-2.6.4/etc/hadoop
2.2.1 修改 slaves
[root@masterconf]# pwd
/usr/hadoop/spark-2.0.1/conf
[root@masterconf]# cp slaves.template slaves
[root@masterconf]# vi slaves
在 slaves 中如下修改:(笔者只单机测试,所以不需要修改这个配置文件,或者说把localhost放开即可)
2.2.3 修改 log4j.properties
[root@masterconf]# pwd
/usr/hadoop/spark-2.0.1/conf
[root@masterconf]# cp log4j.properties.template log4j.properties
2.2.4 发送到集群中其他节点
我就三台虚拟机,一直以来都是…
[root@master hadoop]# scp -r spark-2.0.1 root@slave1:/usr/hadoop/
[root@master hadoop]# scp -r spark-2.0.1 root@slave2:/usr/hadoop/
[root@master hadoop]# scp /etc/profile root@slave1:/etc/
[root@master hadoop]# scp /etc/profile root@slave2:/etc/
[root@master hadoop]# ssh slave1 'source /etc/profile'
[root@master hadoop]# ssh slave2 'source /etc/profile'
》测试
1.先运行hadoop,使用 /usr/local/soft/hadoop-2.7.7/sbin/start-all.sh
2.新建一些hadoop目录和测试文件
1、添加目录,HDFS默认工作目录为 /user/{user},其中{USER}为当前登录的用户名。
hadoop fs -mkdir -p /user/root
2、查看目录文件列表
hadoop fs -ls -R /
3、将文件从本地目录put到hdfs中
hadoop fs -put /root/example.txt /user/root
3.运行spark
/usr/local/soft/spark-2.0.2/bin/spark-shell
4.操作Shell的命令如下:
scala> val textFile = sc.textFile("README.md")
textFile: org.apache.spark.rdd.RDD[String] = MappedRDD[1] at textFile at :12
scala> textFile.count()
res1: Long = 111
scala> textFile.first()
res2: String = # Apache Spark
scala> textFile.foreach(println(_))