HDFS配置

HDFS配置

  1. 引入配置文件:
    从虚拟机 /etc/hdsf1/conf 目录下拷贝出core-site.xmlhdfs-site.xmlkrb5.confhdfs.keytab替换代码中resources/hdfs的文件,并且搜索core-site和hdfs-site中含有guardian的配置项并删掉。

  2. 修改application_dev.yml文件中principal内容:
    在虚拟机上输入klist -kt /etc/hdfs1/conf/hdfs.keytab命令 ,获得principal内容(例如: tdh01@TDH)

  3. Window环境下调试会遇到没有HADOOP_HOME的提示,配置winutils-hadoop软件包内任意版本hadoop,将软件包路径环境变量即可,
    新增path: name: HADOOP_HOME,value: 软件包路径

  4. 配置hostname:
    将部署了hadoop的虚拟机IP地址配置到本地host文件中, IP + 虚拟机hostname

  5. 测试虚拟机用户名/密码: root/Samsung.123

  6. hadoop用户名/密码: admin/Transwarp

  7. 通过修改application_dev.yml文件的hdfs.hdfs_use来控制是否使用hdfs

### 如何在 IntelliJ IDEA 中进行 HDFS 的相关配置 要在 IntelliJ IDEA 中完成 HDFS 配置并支持 MapReduce 开发,需遵循以下方法: #### 1. 创建 Maven 工程 首先,在 IntelliJ IDEA 中创建一个新的 Maven 工程。确保工程中引入了必要的依赖项来支持 HadoopHDFS 功能[^4]。 以下是 `pom.xml` 文件中的必要依赖项: ```xml <dependencies> <!-- Hadoop Core --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> <version>3.2.1</version> </dependency> </dependencies> ``` #### 2. 配置 Hadoop 环境变量 为了使 IntelliJ IDEA 能够识别 Hadoop 安装路径及其配置文件,需要设置环境变量 `HADOOP_HOME` 并将其加入系统的 PATH 变量中[^3]。 - **Windows**: 设置系统环境变量 `HADOOP_HOME=C:\path\to\hadoop`。 - **Linux/MacOS**: 修改 `.bashrc` 或 `.zshrc` 文件,添加 `export HADOOP_HOME=/path/to/hadoop`。 完成后重启 IDE 以应用更改。 #### 3. 导入 Hadoop 配置文件 将 Hadoop 的核心配置文件(如 `core-site.xml`, `hdfs-site.xml`, `mapred-site.xml`)复制到项目的资源目录下(通常位于 `src/main/resources`)。这些文件定义了 HDFS 和 YARN 的连接参数。 例如,`core-site.xml` 应包含如下内容以便访问远程 HDFS: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` #### 4. 编写测试代码 编写 Java 测试类验证与 HDFS 的交互功能。下面是一个简单的例子用于读取和写入 HDFS 上的数据: ```java import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import java.io.IOException; import java.net.URI; public class HDFSTest { public static void main(String[] args) throws IOException { Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(new URI("hdfs://localhost:9000"), conf); Path outputPath = new Path("/output/testfile.txt"); // 删除已存在的目标路径 if (fs.exists(outputPath)) { fs.delete(outputPath, true); } System.out.println("File written to HDFS successfully."); fs.close(); } } ``` #### 5. 启动 Hadoop 集群 确保本地或远程 Hadoop 集群已经正常启动,并通过命令行工具确认服务状态: ```bash cd /opt/hadoop-3.1.4/sbin ./start-dfs.sh ./start-yarn.sh ``` 可以通过浏览器访问 NameNode Web UI (`http://localhost:9870`) 来监控集群的状态。 #### 6. 远程调试配置 如果需要对运行于 Hadoop 集群上的任务进行调试,则可以按照以下方式启用远程调试模式[^2]: ```bash java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:30001 \ -cp target/qualification-tool-1.3.0-SNAPSHOT-jar-with-dependencies.jar com.example.MainClass ``` 随后在 IntelliJ IDEA 中配置对应的 Debug Remote JVM Application 参数即可。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值