搭建hadoop2.4.0伪分布式

本文详细介绍如何在Ubuntu环境下搭建Hadoop伪分布式集群,包括所需软件的下载与安装、环境变量配置、SSH免密码登录设置、Hadoop配置文件调整、集群启动与验证步骤等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

+==========================================搭建伪分布式hadoop===========================


+======================================准备工作/下载及安装软件 开始===========================
0.下载新新版本的ubuntu
见网上教程
1.JDK下载安装
下载地址:http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.tar.gz
减 压:tar –zxvf jdk-8u5-linux-x64.tar.gz
环境变量:
vim /etc/profile
export JAVA_HOME=/opt/hadoop/software/jdk-8u5
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin: $PATH
验 证:java –version
2.maven下载安装
下载地址:http://apache.fayea.com/apache-mirror/maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.tar.gz
减 压:tar –xvf apache-maven-3.2.1-bin.tar.gz
环境变量:
vim /etc/profile
export MAVEN_HOME=/opt/hadoop/software/apache-maven-3.1.1
export PATH=$MAVEN_HOME/bin:$PATH
验 证:mvn –version
3.ProtoclBuffer下载安装
下载地址:https://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.5.0.tar.gz&can=2&q=
减 压:tar –xvf protobuf-2.5.0.tar.gz
安 装:
./configure --prefix=/opt/hadoop/software/protobuf
make
make install
环境变量:
vim /etc/profile
export PROTOC_HOME=/opt/hadoop/software/protobuf
PATH=$PROTOC_HOME/bin:$PATH
验 证:protoc –-version
4.CMake下载安装
下载地址:http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
减 压:tar –xvf cmake-2.8.12.2.tar.gz
安 装:
./bootstrap –prefix=/home/hadoop/software/cmake
make
make install
环境变量:
vim /etc/profile
export CMAKE_HOME=/opt/hadoop/software/cmake
PATH=$ CMAKE_HOME/bin:$PATH
验 证:cmake –version
5.安装其他依赖软件
yum install openssl-devel
yum install ncurses-devel
6.hadoop源码下载编译安装
下载地址:http://apache.fayea.com/apache-mirror/hadoop/common/hadoop-2.4.0/hadoop-2.4.0-src.tar.gz
减 压:tar –xvf hadoop-2.4.0-src.tar.gz
编 译:
目录/opt/hadoop/hadoop-2.4.0-src中,执行命令
mvn package -DskipTests -Pdist,native

进入cd hadoop-2.4.0/etc/hadoop/
给所有的.sh 文件增加可执行权限
chmod +x *.sh
环境变量:
vim /etc/profile
export HADOOP_PREFIX=/usr/local/hadoop
export PATH=$JAVA_HOME/bin:$PATH:HADOOP_PREFIX/bin
7.配置SSH免密码登陆
生成公钥和私钥
ssh-keygen -t rsa
进入 ~/.ssh 目录
cat id_rsa.pub >> authorized_keys
然后使用ssh localhost命令测试ssh是否配置正确
8.hadoop伪分布式配置
A.进入cd hadoop-2.4.0/etc/hadoop/
给所有的.sh 文件增加可执行权限
chmod +x *.sh
B.修改hadoop-env.sh
vim hadoop-env.sh
找到
export JAVA_HOME=${JAVA_HOME}
修改为
export JAVA_HOME=/opt/hadoop/software/jdk-8u5
C.修改core-site.xml;注意:配置hdfs://localhost:9000中hadoop是主机名称, 使用hostname命令查看
在configuration节点中增加
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoop/hadoop-2.4.0/data/tmp</value>
</property>
D.修改hdfs-site.xml
在configuration节点中增加
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
E.修改yarn-site.xml
在configuration节点中增加
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>localhost:8032</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>localhost:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop:8033</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>localhost:8030</value>
</property>
<property>
<name>yarn.web-proxy.address</name>
<value>localhost:8888</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
9.启动hadoop
A.格式化namenode
进入到hadoop安装目录的bin目录下执行:./hadoop namenode –format
B.启动伪分布式集群
进入到hadoop安装目录的sbin目录下执行:./start-all.sh
C.查看启动是否成功
执行jps命令成功结果如下:
7552 Jps
6858 SecondaryNameNode
6380 NameNode
6601 DataNode
7038 ResourceManager
7281 NodeManager


10.浏览器访问查看集群状态
http://localhost:50070
查看resourcemanager上cluster运行状态
http://http://hadoop1:8088/cluster:8088/cluster
11.运行hadoop自带的WordCount小程序(进入到hadoop安装目录的bin目录下)
第一步:./hadoop fs -mkdir -p myIn 在HDFS上创建文件夹myIn
第二步:本地目录下..创建几个文本文件,然后在里边写入单词, 如:fileA.txt, fileB.txt.
第三步:./hadoop fs -put file*.txt myIn // 将刚才的几个文件放入到hadoop的文件系统之中
第四步:./hadoop fs -cat input/file01.txt //查看刚刚文本中内容命令
第五步:执行
./hadoop jar /kong/hadoop/lib/hadoop-mapreduce-examples-2.2.0.jar wordcount input output
第六步:hadoop fs -ls output会显示生成的结果文件中
第七步:./hadoop fs -cat output/part-r-00000
第八步: (localhost:8088可以查看到正在运行任务的进度等信息)
第九步:hadoop中HDFS操作命令官网地址: http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html#lsr
+======================================准备工作/下载及安装软件 结束===============

或者:
sudo apt-get install maven
sudo apt-get install protobuf-compiler
sudo apt-get install cmake
sudo apt-get install zlib1g.dev
sudo apt-get install g++
sudo apt-get install libglib2.0-dev
sudo apt-get install libssl-dev

+======================================过程中遇到问题及解决办法=========开始===================
1.新建用户后终端只显示user@hostname ~, 正常(root@hadoop1:/usr/local/hadoop/sbin#)
解决:查看/etc/passwd该配置文件中,你新建的用户用的是不是bash,不是的话就改过来/ /.bashrc里面加上PS1="[\u@\h \W]\$"就可以了
2.格式化结点(数据结点也启不来) ./hadoop namenode -format
解决:把/opt/hadoop/hadoop2.4.0/data目录全部干掉, 因为之前已经格式化过了
3.ubuntu安装完成后, 如果是代理下上网的话,需要设置一下火狐浏览器的代理
4.修改主机名称
/etc/hostname文件中内容重启机器(utuntu),重启系统查看
5.执行./hdfs dfsadmin -report 后如下错误:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform
??:可能是由于apache提供的32位hadoop版本, 而我们在64位机器上装, 需要在64位下编译
6.其它就是一些linux系统配置等问题
+======================================过程中遇到问题及解决办法==========结束=========================
<think>好的,我现在需要帮助用户解决在Linux系统上搭建Spark伪分布式集群的问题。首先,我需要回顾用户提供的引用内容,看看里面有哪些有用的信息。 用户引用了五个资料,其中引用[2]和[5]提到了伪分布式搭建步骤。引用[2]详细列出了搭建Spark伪分布式的前置条件,比如配置IP、主机名、防火墙设置、安装JavaHadoop等。而引用[5]提到配置Hadoop伪分布式环境,这可能和Spark的配置相关,因为Spark通常依赖Hadoop的HDFS和YARN。 接下来,我需要整理这些信息,形成一个清晰的步骤指南。首先,用户需要确保系统环境准备就绪,包括网络配置、主机名设置、SSH免密登录,以及关闭防火墙。然后安装JavaHadoop,因为Spark需要这些依赖。接着安装Scala,因为Spark是用Scala编写的。之后是Spark的安装和配置,特别是修改Spark的配置文件,比如spark-env.sh和slaves文件,指定运行参数和worker节点。最后,启动集群并验证。 需要注意的是,用户可能需要参考具体的Hadoop伪分布式搭建步骤,这可能包括Hadoop的核心配置文件设置,如core-site.xml、hdfs-site.xml等。此外,Spark的配置可能需要指向Hadoop的配置路径,确保两者兼容。 在整理步骤时,要确保逻辑顺序正确,前置条件先完成,例如先安装JavaHadoop,再安装Spark。同时,引用的资料中提到解压安装包到特定目录,如/usr/local或/home/hadoop/apps,用户可能需要根据实际情况调整路径。 最后,生成相关问题时,要考虑用户可能遇到的后续疑问,比如环境变量配置、常见错误处理,或者性能调优,这些都是搭建集群后可能需要的进一步帮助。</think>以下是在Linux系统上搭建Spark伪分布式集群的详细步骤: ### 一、环境准备 1. **系统要求** - CentOS/Ubuntu等主流Linux发行版 - 内存≥4GB,硬盘≥20GB - 配置固定IP地址并设置主机名`master`[^2] 2. **前置操作** ```shell # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 修改主机名映射 echo "127.0.0.1 master" >> /etc/hosts ``` ### 二、安装依赖 1. **JDK安装** ```shell tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local echo 'export JAVA_HOME=/usr/local/jdk1.8.0_181' >> ~/.bashrc echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc source ~/.bashrc ``` 2. **Hadoop伪分布式安装**(Spark需要HDFS支持) - 参考Hadoop伪分布式搭建文档[^5] - 验证HDFS可用性: ```shell hdfs dfs -mkdir /spark hdfs dfs -ls / ``` ### 三、Spark安装配置 1. **解压安装包** ```shell tar -zxf spark-2.4.0-bin-without-hadoop.tgz -C /usr/local mv /usr/local/spark-2.4.0-bin-without-hadoop /usr/local/spark ``` 2. **配置环境变量** ```shell echo 'export SPARK_HOME=/usr/local/spark' >> ~/.bashrc echo 'export PATH=$SPARK_HOME/bin:$PATH' >> ~/.bashrc source ~/.bashrc ``` 3. **修改配置文件** - `spark-env.sh`: ```shell cd $SPARK_HOME/conf cp spark-env.sh.template spark-env.sh echo 'export JAVA_HOME=/usr/local/jdk1.8.0_181' >> spark-env.sh echo 'export SPARK_MASTER_HOST=master' >> spark-env.sh echo 'export SPARK_WORKER_MEMORY=2g' >> spark-env.sh ``` - `slaves`文件: ```shell cp slaves.template slaves echo "master" > slaves # 伪分布式模式下本机同时作为Worker ``` ### 四、启动与验证 1. **启动Spark集群** ```shell $SPARK_HOME/sbin/start-all.sh ``` 2. **验证服务状态** - 查看进程: ```shell jps # 应显示Master和Worker进程 ``` - Web监控界面: ``` http://master:8080 ``` 3. **运行测试程序** ```shell spark-shell --master spark://master:7077 > val data = Array(1,2,3,4,5) > val rdd = sc.parallelize(data) > rdd.reduce(_ + _) # 应输出15 ``` ### 五、注意事项 1. 需要与Hadoop版本匹配(如Hadoop2.7对应spark-2.4.0-bin-hadoop2.7) 2. 伪分布式模式下所有服务运行在单节点,适合开发测试[^3] 3. 若出现端口冲突,修改`$SPARK_HOME/conf/spark-defaults.conf`中的`spark.port`参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值