hadoop spark hbase 单机安装

本文详细介绍如何在三台机器上搭建Hadoop集群,包括关闭防火墙、时间同步、配置HDFS和YARN等关键步骤。

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

关闭防火墙

如是在虚拟机或是docker里安装,请一定先关闭防火墙,否则外部系统无法访问.

systemctl status firewalld.service #检查防火墙状态
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止开机启动防火墙

vim /etc/hosts

如果没有足够的权限,可以切换用户为root。
三台机器的内容统一增加以下host配置:
可以通过hostname来修改服务器名称为master、slave1、slave2 ,此步也是为将来集群服务的

192.168.71.242 master

时间同步

yum install -y ntp #安装ntp服务
ntpdate cn.pool.ntp.org #同步网络时间

需要开放的外网端口

50070,8088,60010 ,7077

解压安装包

tar -zxvf /usr/jxx/scala-2.12.4.tgz -C /usr/local/

tar -zxvf /usr/jxx/spark-2.2.0-bin-hadoop2.7 -C /usr/local/

tar -zxvf /usr/jxx/hbase-1.3.1-bin.tar.gz -C /usr/local/

tar -zxvf /usr/jxx/hadoop-2.8.2.tar.gz -C /usr/local/
创建文件目录

为了便于管理,给Master的hdfs的NameNode、DataNode及临时文件,在用户目录下创建目录

mkdir -p /data/hdfs/name
mkdir -p /data/hdfs/data
mkdir -p /data/hdfs/tmp

如果是集群那将这些目录通过scp命令拷贝到Slave1和Slave2的相同目录下

设置环境变量

vim /etc/profile 添加

export JAVA_HOME=/usr/local/jdk1.8.0 #jdk如果已有就不用添加
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export SCALA_HOME=/usr/local/scala-2.12.4
export PATH=$PATH:$SCALA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop-2.8.2
export PATH=$PATH:$HADOOP_HOME/bin
export HBASE_HOME=/usr/local/hbase-1.3.1
export PATH=$PATH:$HBASE_HOME/bin
export SPARK_HOME=/usr/local/spark-2.2.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin

然后执行

source /etc/profile

修改配置

vim /usr/local/hadoop-2.8.2/etc/hadoop/hadoop-env.sh
修改

export JAVA_HOME=/usr/local/java/jdk1.8.0

vim /usr/local/hadoop-2.8.2/etc/hadoop/core-site.xml

<configuration>
<property>
  <name>hadoop.tmp.dir</name>
  <value>file:/data/hdfs/tmp</value>
  <description>A base for other temporary directories.</description>
</property>
<property>
  <name>io.file.buffer.size</name>
  <value>131072</value>
</property>
<property>
  <name>fs.default.name</name>
  <value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>

vim /usr/local/hadoop-2.8.2/etc/hadoop/hdfs-site.xml


<configuration>
<property>
<name>dfs.replication</name>
  <value>2</value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/data/hdfs/name</value>
  <final>true</final>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/data/hdfs/data</value>
  <final>true</final>
</property>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>master:9001</value>
</property>
<property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
</property>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
</configuration>

vim /usr/local/hadoop-2.8.2/etc/hadoop/yarn-site.xml

yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.address</name>
  <value>master:18040</value>
</property>
<property>
  <name>yarn.resourcemanager.scheduler.address</name>
  <value>master:18030</value>
</property>
<property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>master:18088</value>
</property>
<property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>master:18025</value>
</property>
<property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>master:18141</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
</configuration>

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

<configuration>

<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

</configuration>

vim /usr/local/hbase-1.3.1/conf/hbase-site.xml

<property>

<name>hbase.rootdir</name>

<!-- 对应于hdfs中配置 micmiu.com -->

<value>hdfs://localhost:9000/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

vim /usr/local/hbase-1.3.1/conf/hbase-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0 #jdk如果已有就不用添加
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export SCALA_HOME=/usr/local/scala-2.12.4
export PATH=$PATH:$SCALA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop-2.8.2
export PATH=$PATH:$HADOOP_HOME/bin
export HBASE_HOME=/usr/local/hbase-1.3.1
export PATH=$PATH:$HBASE_HOME/bin
export SPARK_HOME=/usr/local/spark-2.2.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
export HBASE_MANAGES_ZK=true

mv /usr/local/spark-2.2.0-bin-hadoop2.7/conf/spark-env.sh.template /usr/local/spark-2.2.0-bin-hadoop2.7/conf/spark-env.sh

mv /usr/local/spark-2.2.0-bin-hadoop2.7/conf/spark-defaults.conf.template /usr/local/spark-2.2.0-bin-hadoop2.7/conf/spark-defaults.conf

mkdir -p /disk/spark

vim /usr/local/spark-2.2.0-bin-hadoop2.7/conf/spark-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0
export SCALA_HOME=/usr/local/scala-2.12.4
export HADOOP_HOME=/usr/local/hadoop-2.8.2
export HBASE_HOME=/usr/local/hbase-1.3.1
export SPARK_HOME=/usr/local/spark-2.2.0-bin-hadoop2.7
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_LOCAL_DIRS=/disk/spark
export SPARK_DAEMON_MEMORY=256m
export SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=/tmp/spark -Dspark.history.ui.port=18082"
export STANDALONE_SPARK_MASTER_HOST=localhost

vim /usr/local/spark-2.2.0-bin-hadoop2.7/conf/spark-defaults.conf

spark.master=spark://localhost:7077
spark.eventLog.dir=/dask/spark/applicationHistory

spark.eventLog.enabled=true

spark.yarn.historyServer.address=localhost:18082

初始化环境

格式化namenode
hdfs namenode -format

启动服务

启动hdfs

sh /usr/local/hadoop-2.8.2/sbin/start-dfs.sh

启动hbase

sh /usr/local/hbase-1.3.1/bin/start-hbase.sh

启动spark

sh /usr/local/spark-2.2.0-bin-hadoop2.7/sbin/start-all.sh

7 设置开机启动(这个不太好使)

su - root -c “sh /usr/local/hadoop-2.8.2/sbin/start-dfs.sh”

su - root -c “sh /usr/local/hbase-1.3.1/bin/start-hbase.sh”

su - root -c “sh /usr/local/spark-2.2.0-bin-hadoop2.7/sbin/start-all.sh”

运行Hbase shell时报错:

hbase shell
hbase(main):006:0> list
TABLE
ERROR: Can’t get master address from ZooKeeper; znode data == null

Here is some help for this command:
List all tables in hbase. Optional regular expression parameter could
be used to filter the output. Examples:

解决办法:

重新启动,stop-hbase.sh->start-hbase.sh 即解决

<think>好的,用户需要关于HadoopSpark在大数据处理方面的实战分析资料,比如教程和案例。首先,我得确认用户的具体需求是什么。可能他们正在处理大数据项目,需要实际的指导。HadoopSpark都是大数据处理的核心工具,但各有侧重。Hadoop的HDFS适合分布式存储,而MapReduce用于批处理。Spark则以内存计算见长,适合迭代任务,比如机器学习和实时处理。 接下来,我要检查已有的引用资料。引用[1]提到用Spark进行数据读取、清洗、预处理和分析,引用[2]解释了Hadoop的基础架构,引用[3]和[4]提供了实战书籍的章节内容,包括Hadoop单节点集群的测试和Spark RDD的操作。这些引用应该能帮助用户找到需要的实战案例。 用户可能需要的不仅仅是资料推荐,还有具体的应用场景和操作步骤。比如,如何结合HadoopSpark,或者如何处理实际的数据分析任务。根据引用[3]和[4],实战书籍里有整合开发和RDD操作的实例,这对用户来说应该很有用。此外,引用[1]中的Spark SQL和数据仓库应用也是一个关键点,可以指导用户进行数据查询和整合分析。 可能需要生成相关问题,引导用户深入思考。例如,如何搭建HadoopSpark环境,或者优化性能的方法。另外,用户可能对实际案例中的数据处理流程感兴趣,比如日志分析或推荐系统,这些都可以从引用中找到相关案例。 最后,确保回答结构清晰,分点列出参考资料和实战案例,帮助用户逐步解决问题。同时,提醒用户注意版本兼容性,比如HadoopSpark的版本匹配,避免环境配置问题。总结来说,用户需要的是结合理论和实践的指导,引用提供的书籍和章节正好能满足这一点。</think>### HadoopSpark大数据实战分析资料推荐 #### 一、核心参考资料推荐 1. **《Hadoop+Spark大数据巨量分析与机器学习整合开发实战》** - 包含Hadoop单节点集群搭建(基于Debian系统)和Spark RDD弹性分布式数据集操作[^3] - 实战案例覆盖数据存储、清洗、MapReduce计算和机器学习模型部署 - 第9章重点讲解Spark RDD的转换与行动操作(如`map`, `reduceByKey`),第10章演示IDE环境下的WordCount案例[^4] 2. **Apache官方文档** - Hadoop HDFS文件系统管理与MapReduce编程范式[^2] - Spark SQL结构化数据处理(如`DataFrame`操作)与流式计算(Spark Streaming)[^1] #### 二、典型实战场景与案例 1. **日志分析系统** - 使用Hadoop存储TB级日志数据,通过Spark进行实时聚合分析(例如用户行为模式挖掘) - 技术栈示例: ```scala val logRDD = sc.textFile("hdfs://path/to/logs") val errorCount = logRDD.filter(_.contains("ERROR")).count() ``` 2. **推荐系统数据预处理** - 基于Spark MLlib实现协同过滤算法,结合Hadoop存储用户画像数据 - 关键步骤:特征工程$\rightarrow$模型训练$\rightarrow$结果存储到HBase 3. **金融风控实时计算** - 使用Spark Streaming处理Kafka流式数据,Hadoop归档历史交易记录 - 实现异常交易检测(如滑动窗口统计:$$ \sum_{t=T-5}^{T} \text{TransactionAmount}_t > \text{Threshold} $$) #### 三、环境搭建建议 1. **单机伪分布式环境** - Hadoop 3.x + Spark 3.x + JDK 11(兼容性需验证) - 配置示例: ```xml <!-- core-site.xml --> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> ``` 2. **集群部署要点** - 数据本地化优化:HDFS块大小设置为128MB - Spark资源分配策略:`spark.executor.memory`与`spark.driver.memory`比例建议2:1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值