本文环境软件版本
名称 | 版本 |
|---|---|
JDK | 1.8.0_221 |
Scala | 2.12.15 |
Spark | 3.1.3 |
Hadoop | 2.7.7 |
注意
一定要保证开发环境和部署的环境保持一致!否则运行时会报各种错误。
https://cloud.tencent.com/developer/article/2015911
官网:https://hadoop.apache.org/releases.html
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/
服务器中运行
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz或者使用百度云下载
链接:https://pan.baidu.com/s/1OPzD9V_mBnBz06JQ3X5DSA
提取码:psvm
解压
tar -zxvf hadoop-2.7.7.tar.gz
mkdir -p /data/tools/bigdata/
mv hadoop-2.7.7 /data/tools/bigdata/
cd /data/tools/bigdata/hadoop-2.7.7cd /etc/profile.d/创建配置文件
vi /etc/profile.d/my_env.sh内容设置为
#HADOOP_HOME
export HADOOP_HOME=/data/tools/bigdata/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin配置生效
source /etc/profile查看是否生效
echo $HADOOP_HOME注意
本文是伪分布式部署
进入配置文件目录
cd /data/tools/bigdata/hadoop-2.7.7/etc/hadoophadoop-env.sh
将原本的JAVA_HOME 替换为绝对路径就可以了
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64注意
虽然系统已经设置
JAVA_HOME,但是运行时依旧无法找到,所以配置的绝对路径
core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/data/tools/bigdata/hadoop-2.7.7/tmp</value>
<description></description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/data/tools/bigdata/zdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/data/tools/bigdata/zdata/dfs/data</value>
</property>
</configuration>mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>yarn-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>剔除警告(可选):
log4j.properties
添加
log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERRORsudo chmod -R 755 $HADOOP_HOME
rm -rf $HADOOP_HOME/tmp
hdfs namenode -format这个操作主要是创建fsimage和edits文件。
只要看到信息中有一句关键:
INFO common.Storage: Storage directory /data/tools/bigdata/hadoop-2.7.7/tmp/dfs/name has been successfully formatted. 则格式化成功.
运行
sh $HADOOP_HOME/sbin/start-all.sh输入
jps如图

访问
我的服务器的IP为 192.168.160.130
HDFS监控页面查询:
http://192.168.160.130:50070/
查看文件可以访问这个地址
http://192.168.160.130:50070/explorer.html#/
Yarn监控页面查询:
http://192.168.160.130:8088/cluster
停止
sh $HADOOP_HOME/sbin/stop-all.sh端口说明:
端口 | 作用 |
|---|---|
8088 | cluster and all applications |
50070 | Hadoop NameNode |
50090 | Secondary NameNode |
50075 | DataNode |
停止所有服务
sh $HADOOP_HOME/sbin/stop-all.shmkdir -p /data/hadooptest/input
cd /data/hadooptest/input
vi 1.txt随便添加一些文本
1111
2222
333
333
444
55
55
55复制文件到hadoop中
hadoop fs -mkdir /data/
hadoop fs -mkdir /data/input
hadoop fs -rm -r /data/input/1.txt
hadoop fs -rm -r /data/output
hadoop fs -put /data/hadooptest/input/1.txt /data/input/测试
cd /data/tools/bigdata/hadoop-2.7.7
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /data/input/ /data/output
hadoop fs -text /data/output/*结果
它就把统计给生成了

添加服务
cd /etc/init.d
vi hadoop内容如下:
#!/bin/bash
#chkconfig:35 95 1
#description:script to start/stop hadoop
su - root <<!
case $1 in
start)
sh /data/tools/bigdata/hadoop-2.7.7/sbin/start-all.sh
;;
stop)
sh /data/tools/bigdata/hadoop-2.7.7/sbin/stop-all.sh
;;
*)
echo "Usage:$0(start|stop)"
;;
esac
exit
!注意
路径要使用完整路径,不能使用类似于
$HADOOP_HOME/sbin/stop-all.sh的路径。
赋予权限
sudo chmod +x hadoop设置开机启动
sudo chkconfig --add hadoop
chkconfig hadoop on启动服务
service hadoop start查看hadoop服务
chkconfig --list hadoophttps://www.scala-lang.org/download/2.12.15.html
链接:https://pan.baidu.com/s/16pVpTWrgg-NAfFXUw1nUQg
提取码:psvm
tar zxvf scala-2.12.15.tgz
mkdir -p /data/tools/bigdata/
mv scala-2.12.15 /data/tools/bigdata/
cd /data/tools/bigdata/scala-2.12.15环境变量
创建配置文件
vi /etc/profile.d/my_env.sh内容设置为
# Scala
export SCALA_HOME=/data/tools/bigdata/scala-2.12.15
export PATH=$PATH:$SCALA_HOME/bin配置生效
source /etc/profile查看是否生效
echo $SCALA_HOME查看安装结果
scala -version安装
chmod 755 scala-2.12.15.rpm
rpm -ivh scala-2.12.15.rpm查看安装结果
scala -version查看安装位置
rpm -ql scala | more卸载
rpm -e scalahttp://archive.apache.org/dist/spark/spark-3.1.3/
下载这个

或者
链接:https://pan.baidu.com/s/1MdyzVWEhef6HheUVcymhcQ
提取码:psvm
解压
tar zxvf spark-3.1.3-bin-hadoop2.7.tgz
mkdir -p /data/tools/bigdata/
mv spark-3.1.3-bin-hadoop2.7 /data/tools/bigdata/
cd /data/tools/bigdata/spark-3.1.3-bin-hadoop2.7进入conf目录,复制并重命名spark-env.sh.template、log4j.properties.template
cd conf/
cp spark-env.sh.template spark-env.sh
cp log4j.properties.template log4j.properties修改环境变量
cd /etc/profile.d/创建配置文件
vi /etc/profile.d/my_env.sh内容设置为
# JAVA
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
# HADOOP
export HADOOP_HOME=/data/tools/bigdata/hadoop-2.7.7
export HADOOP_CONF_DIR=/data/tools/bigdata/hadoop-2.7.7/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
# SCALA
export SCALA_HOME=/data/tools/bigdata/scala-2.12.15
# SPARK
export SPARK_HOME=/data/tools/bigdata/spark-3.1.3-bin-hadoop2.7
export SPARK_WORKER_MEMORY=1G
export SPARK_MASTER_IP=master配置生效
source /etc/profile查看是否生效
echo $SPARK_HOME启动spark
cd /data/tools/bigdata/spark-3.1.3-bin-hadoop2.7
./sbin/start-all.sh查看
jps结果

访问
http://192.168.160.130:8080/
相关端口
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[*] ./examples/jars/spark-examples_2.11-2.1.1.jar 100结果
22/04/18 18:43:22 INFO DAGScheduler: Job 0 finished: reduce at SparkPi.scala:38, took 2.324649 s Pi is roughly 3.141697114169711
添加服务
cd /etc/init.d
vi spark内容如下:
#!/bin/bash
#chkconfig:35 95 1
#description:script to start/stop hadoop
su - root <<!
case $1 in
start)
sh /data/tools/bigdata/spark-3.1.3-bin-hadoop2.7/sbin/start-all.sh
;;
stop)
sh /data/tools/bigdata/spark-3.1.3-bin-hadoop2.7/sbin/stop-all.sh
;;
*)
echo "Usage:$0(start|stop)"
;;
esac
exit
!注意
路径要使用完整路径,不能使用类似于
$HADOOP_HOME/sbin/stop-all.sh的路径。
赋予权限
sudo chmod +x spark设置开机启动
sudo chkconfig --add spark
chkconfig spark on启动服务
service spark start查看hadoop服务
chkconfig --list spark