基于Ubuntu/Debian的Hadoop2.7.2+Spark1.6实验环境快速部署,主要是为了搭建spark,但是spark需要hadoop的hdfs和yarn,所以需要先搭建hadoop。
一、hadoop伪分布式搭建
其实官网有比较详实的说明,英语好的可以直接看官网,地址
1、安装openjdk-7-jdk、scala使用apt-get命令完成的安装,库文件的默认安装位置为: /usr/lib
$ sudo apt-get install openjdk-7-jdk scala 2、安装ssh、rsync $ sudo apt-get install ssh rsync 3、下载hadoop编译包,镜像地址(国内镜像竟然比US的还慢,不能忍,注意2.7的编译包为64位)查是32还是64位的办法
$ cd hadoop-2.7.2/lib/native
$ file libhadoop.so.1.0.0
hadoop-2.7.0/lib/native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped
hadoop配置文件指定java路径
$ vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
执行命令查看是否成功
$ bin/hadoop version
$ vim etc/hadoop/core-site.xml:
< configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
< /configuration>
$ vim etc/hadoop/hdfs-site.xml:
< configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
< /configuration>
6、设置hadoop ssh无密码访问
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
7、格式化节点和启动hadoop
$ bin/hdfs namenode -format
$ sbin/start-dfs.sh
打开浏览器 :50070/看是否成功
hdfs配置:在hdfs上创建用户文件夹,username最好和当前用户名相同,不然会可能出现权限问题
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
上传文件及文件夹使用命令:
$ bin/hdfs dfs -put /home/admin/README.md /user/<username>
8、yarn配置
$ vim etc/hadoop/mapred-site.xml:
< configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
< /configuration>
$ vim etc/hadoop/yarn-site.xml:
< configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
< /configuration>
启动yarn
$ sbin/start-yarn.sh
:8088/查看是否成功
至此hadoop单节点伪分布式安装配置完成
二、spark安装配置spark的安装相对就要简单多了
1、首先下载,地址因为我之前已经有hadoop了所以选择第二个下载
2、下载解压后进入目录$ tar zxvf spark-1.6.2-bin-without-hadoop.tgz
$ cd spark-1.6.2-bin-without-hadoop/conf
$ cp spark-env.sh.template spark-env.sh
$ cp spark-defaults.conf.template spark-defaults.conf
$ vim conf/spark-env.sh
最后添加
export HADOOP_HOME=/home/administrator/project/hadoop-2.7.2
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_DIST_CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath)
最后一个需要hadoop添加了环境变量才行。
官网配置中没有前两个配置,我运行例子时总报错,找不到hdfs jar 包。
3、回到解压目录运行示例你可以在Spark的网站上看到更多的Spark样例程序。另外,在examples目录下还有许多样例代码(Scala, Java, Python)。你可以通过将类名称传给Spark的bin/run-example 脚本来运行Java和Scala语言样例,举例说明:
$ bin/run-example SparkPi
对于Python例子,使用spark-submit脚本代替:
$ bin/spark-submit examples/src/main/python/pi.py
成功则到此配置完成。