马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
检察Hadoop、Spark、Java对应版本
访问Spark官网找到Spark版本
Spark官网地址:Documentation | Apache Spark
访问后,找到自己的版本,点进去
点进去后可以在这里看到该版本的操纵系统、代码语言版本等信息
找到该版本关联的Hadoop版本等信息
点击【more】【Building Spark】
进去后点【Specifying the Hadoop Version and Enabling YARN】
这里可以看到Hadoop等关联的版本信息
安装JAVA JDK
从上面的信息可以找出,支持JAVA8、JAVA11、JAVA17。这里以JAVA8为例
这里先不补充了,后续偶然间我再来补充。设置JAVA_HOME环境变量就行。
安装Hadoop
从上面的信息可以找出,支持的Hadoop版本。这里以Hadoop3.3.5为例
下载安装Hadoop
Hadoop官网:Apache Hadoop
访问Hadoop下载地址:Apache Archive Distribution Directory ,并找到对应版本
进到对应的版本文件夹里,下载tar.gz文件
下载后直接解压到对应的目录(请自己找合适的目录)。我这里是D盘下面,以是解压后的路径为D:\hadoop-3.3.5。
下载安装winutils
winutilsGithub:https://github.com/cdarlint/winutils
访问winutilsGithub网站,找到和Hadoop对应的版本
下载对应的winutils.exe和hadoop.dll
将winutils.exe和hadoop.dll拷贝到Hadoop/bin目录下
设置Hadoop环境变量
打开环境变量设置
添加HADOOP_CONF_DIR环境变量
这里的值是安装Hadoop的目录
添加HADOOP_HOME环境变量
这里的值是安装Hadoop的目录
添加HADOOP_USER_NAME环境变量
在环境变量path中增长%HADOOP_HOME%\bin和%HADOOP_HOME%\sbin
HADOOP_HOME就是上面设置的
设置Hadoop文件
进入Hadoop设置文件目录
检查hadoop-env.cmd文件JDK的设置,通常无需改动
- set JAVA_HOME=%JAVA_HOME%
复制代码
设置core-site.xml
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://localhost:9000</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>D:\hadoop-3.3.5\data\tmp</value>
- </property>
- </configuration>
复制代码 这里的tmp文件夹一样平常没有,直接去Hadoop安装目录下面建一个就好,在其它目录建也可以,这里写对应的目录就行
设置hdfs-site.xml
- <configuration>
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>D:\hadoop-3.3.5\data\namenode</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>D:\hadoop-3.3.5\data\datanode</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <property>
- <name>dfs.permissions.enabled</name>
- <value>false</value>
- </property>
- </configuration>
复制代码 这里的namenode和datanode文件夹一样平常没有,直接去Hadoop安装目录下面建一个就好,在其它目录建也可以,这里写对应的目录就行
设置mapred-site.xml
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
复制代码
设置yarn-site.xml
- <configuration>
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
- <value>org.apache.hadoop.mapred.ShuffleHandler</value>
- </property>
- <property>
- <name>yarn.resourcemanager.hostname</name>
- <value>localhost</value>
- </property>
- </configuration>
复制代码
格式化NameNode
打开Windows cmd下令运行窗口,输入hdfs namenode -format
运行结果如下所示
- 2022-04-15 21:21:54,046 INFO snapshot.SnapshotManager: SkipList is disabled
- 2022-04-15 21:21:54,063 INFO util.GSet: Computing capacity for map cachedBlocks
- 2022-04-15 21:21:54,063 INFO util.GSet: VM type = 64-bit
- 2022-04-15 21:21:54,064 INFO util.GSet: 0.25% max memory 889 MB = 2.2 MB
- 2022-04-15 21:21:54,064 INFO util.GSet: capacity = 2^18 = 262144 entries
- 2022-04-15 21:21:54,108 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.window.num.buckets = 10
- 2022-04-15 21:21:54,109 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.num.users = 10
- 2022-04-15 21:21:54,109 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.windows.minutes = 1,5,25
- 2022-04-15 21:21:54,133 INFO namenode.FSNamesystem: Retry cache on namenode is enabled
- 2022-04-15 21:21:54,133 INFO namenode.FSNamesystem: Retry cache will use 0.03 of total heap and retry cache entry expiry time is 600000 millis
- 2022-04-15 21:21:54,139 INFO util.GSet: Computing capacity for map NameNodeRetryCache
- 2022-04-15 21:21:54,139 INFO util.GSet: VM type = 64-bit
- 2022-04-15 21:21:54,140 INFO util.GSet: 0.029999999329447746% max memory 889 MB = 273.1 KB
- 2022-04-15 21:21:54,140 INFO util.GSet: capacity = 2^15 = 32768 entries
- 2022-04-15 21:22:03,246 INFO namenode.FSImage: Allocated new BlockPoolId: BP-9220273-192.168.179.1-1650028923233
- 2022-04-15 21:22:03,275 INFO common.Storage: Storage directory D:\Development\Hadoop\data\namenode has been successfully formatted.
- 2022-04-15 21:22:03,330 INFO namenode.FSImageFormatProtobuf: Saving image file D:\Development\Hadoop\data\namenode\current\fsimage.ckpt_0000000000000000000 using no compression
- 2022-04-15 21:22:03,560 INFO namenode.FSImageFormatProtobuf: Image file D:\Development\Hadoop\data\namenode\current\fsimage.ckpt_0000000000000000000 of size 391 bytes saved in 0 seconds .
- 2022-04-15 21:22:03,602 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
- 2022-04-15 21:22:03,616 INFO namenode.NameNode: SHUTDOWN_MSG:
- /************************************************************
- SHUTDOWN_MSG: Shutting down NameNode at Coding/192.168.179.1
- ************************************************************/
复制代码 这里运行如果出错了,报异常的话
1.检查JAVA_HOME环境变量
cmd 运行 echo %JAVA_HOME%,看看输出是否正常
2.检查HADOOP_HOME环境变量
cmd 运行 echo %HADOOP_HOME%,看看输出是否正常
3.检查winutils版本是否和Hadoop版本对应上,并且把winutils.exe和hadoop.dll拷贝到Hadoop/bin目录下了
启动hadoop集群
进入Hadoop安装目录的sbin目录,在地址栏输入cmd,直接打开下令行窗口,并让目录在sbin目录下
执行start-all
成功后将启动下面的组件
运行检查
利用jsp可以检察进程
访问测试
访问http://localhost:9870
访问http://localhost:8088/cluster
安装Spark
请选择自己合适的版本,我这里和上面的Hadoop版本对应
下载 Spark 3.4.4 二进制文件
Spark官网:Downloads | Apache Spark
选择版本后点【Download Spark: spark-3.4.4-bin-hadoop3.tgz】
下载后解压到自己的安装目录,我这里是D盘,安装后的目录为D:\spark-3.4.4-bin-hadoop3
设置环境变量
设置SPARK_HOME环境变量,值为刚刚解压安装的目录
到path中添加%SPARK_HOME%\bin
在cmd运行spark-shell检测出是否可用
编写测试代码
上面的就完成了Hadoop和Spark安装,编写测试代码
添加pom依赖
- <dependency>
- <groupId>org.apache.spark</groupId>
- <artifactId>spark-core_2.12</artifactId>
- <version>3.4.4</version>
- </dependency>
- <dependency>
- <groupId>org.apache.spark</groupId>
- <artifactId>spark-sql_2.12</artifactId>
- <version>3.4.4</version>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-client</artifactId>
- <version>3.3.5</version>
- </dependency>
复制代码 编写代码
- // 初始化 SparkSession
- SparkSession spark = SparkSession.builder()
- .appName("Parquet to Excel")
- .master("local[*]") // 本地运行
- .getOrCreate();
-
- // 设置 Parquet 文件路径
- String dataFilePath = "C:\\Users\\dell\\Desktop\\jiheFile"; // 替换为实际路径
- String originData = "origin_data"; // 替换为实际文件名
- String parquetFilePath = dataFilePath + FileSystems.getDefault().getSeparator() + originData;
-
- // 输出的 Excel 文件名
- String outputFileName = "ParquetData.xlsx";
- Dataset<Row> data = spark.read().parquet(parquetFilePath);
复制代码
参考大佬文档:
Windows安装Hadoop3.x及在Windows环境下本地开发_windows安装利用hadoop-CSDN博客
spark踩坑记——windows环境下spark安装和运行_windows spark-CSDN博客
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |