# Hadoop 2.7 + Spark 1.4环境搭建指南 ## 目录 1. [环境准备](#环境准备) 2. [Hadoop 2.7集群搭建](#hadoop-27集群搭建) - [SSH无密码登录配置](#ssh无密码登录配置) - [Java环境安装](#java环境安装) - [Hadoop安装与配置](#hadoop安装与配置) - [集群启动与验证](#集群启动与验证) 3. [Spark 1.4集群搭建](#spark-14集群搭建) - [Scala环境安装](#scala环境安装) - [Spark安装与配置](#spark安装与配置) - [Spark集群验证](#spark集群验证) 4. [集成测试](#集成测试) 5. [常见问题解决](#常见问题解决) 6. [性能优化建议](#性能优化建议) --- ## 环境准备 ### 硬件要求 - **Master节点**:建议4核CPU/8GB内存/100GB存储 - **Slave节点**:建议2核CPU/4GB内存/50GB存储(至少2个节点) - 网络:千兆以太网,关闭防火墙或开放必要端口 ### 软件要求 - 操作系统:Ubuntu 16.04 LTS/CentOS 7 - Java版本:JDK 1.8 - Hadoop版本:2.7.7 - Spark版本:1.4.0 - Scala版本:2.10.5 ### 节点规划示例 | 主机名 | IP地址 | 角色 | |----------|------------|-----------------------| | master | 192.168.1.10 | NameNode, ResourceManager, Spark Master | | slave1 | 192.168.1.11 | DataNode, NodeManager, Spark Worker | | slave2 | 192.168.1.12 | DataNode, NodeManager, Spark Worker | --- ## Hadoop 2.7集群搭建 ### SSH无密码登录配置 ```bash # 所有节点执行 ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # Master节点执行 scp ~/.ssh/id_rsa.pub slave1:~/.ssh/master.pub ssh slave1 "cat ~/.ssh/master.pub >> ~/.ssh/authorized_keys"
# Ubuntu示例 sudo apt-get update sudo apt-get install openjdk-8-jdk # 验证安装 java -version
wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.7/hadoop-2.7.7.tar.gz tar -xzvf hadoop-2.7.7.tar.gz -C /usr/local/
/etc/profile
)export HADOOP_HOME=/usr/local/hadoop-2.7.7 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
$HADOOP_HOME/etc/hadoop/core-site.xml
:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/data/hadoop/tmp</value> </property> </configuration>
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
:
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/data/hadoop/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/data/hadoop/datanode</value> </property> </configuration>
<!-- yarn-site.xml --> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property>
# 首次启动需格式化NameNode hdfs namenode -format # 启动HDFS start-dfs.sh # 启动YARN start-yarn.sh # 验证服务 jps # 应看到NameNode/DataNode/ResourceManager等进程 hdfs dfsadmin -report # 查看节点状态
wget https://downloads.lightbend.com/scala/2.10.5/scala-2.10.5.tgz tar -xzvf scala-2.10.5.tgz -C /usr/local/ export SCALA_HOME=/usr/local/scala-2.10.5 export PATH=$PATH:$SCALA_HOME/bin
wget https://archive.apache.org/dist/spark/spark-1.4.0/spark-1.4.0-bin-hadoop2.7.tgz tar -xzvf spark-1.4.0-bin-hadoop2.7.tgz -C /usr/local/
export SPARK_HOME=/usr/local/spark-1.4.0-bin-hadoop2.7 export PATH=$PATH:$SPARK_HOME/bin
$SPARK_HOME/conf/spark-env.sh
:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export SCALA_HOME=/usr/local/scala-2.10.5 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export SPARK_MASTER_IP=192.168.1.10 export SPARK_WORKER_MEMORY=4g
$SPARK_HOME/conf/slaves
:
slave1 slave2
# 启动集群 $SPARK_HOME/sbin/start-all.sh # 验证Web UI http://master:8080 # 查看Worker节点状态 # 运行测试程序 spark-submit --class org.apache.spark.examples.SparkPi \ --master spark://master:7077 \ $SPARK_HOME/examples/jars/spark-examples_2.10-1.4.0.jar 100
hdfs dfs -mkdir /test hdfs dfs -put $HADOOP_HOME/LICENSE.txt /test hdfs dfs -cat /test/LICENSE.txt
val textFile = sc.textFile("hdfs://master:9000/test/LICENSE.txt") textFile.count()
Hadoop启动失败
$HADOOP_HOME/logs/
Spark Worker未注册
$SPARK_HOME/conf/slaves
文件格式内存不足错误
export SPARK_WORKER_MEMORY=2g # 降低内存配置
Hadoop调优
mapred-site.xml
中的任务并行度Spark调优
spark-submit --executor-memory 2g --total-executor-cores 4 ...
硬件层面
注:本文基于测试环境编写,生产环境需根据实际需求调整配置参数。建议通过Ambari或Cloudera Manager等工具进行集群管理。 “`
该文档包含: - 完整的安装流程(代码块+配置示例) - 分步骤的验证方法 - 常见问题解决方案 - 关键注意事项(黄色高亮提示) - 符合Markdown规范的结构化排版
实际使用时可根据具体环境调整IP地址、路径等参数。建议配合官方文档阅读以获得最新安全补丁信息。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。