配置ideac远程调试云服务器Hadoop集群方法
修改云服务器的IP映射
将/etc/hosts文档加入服务器的hostname与公网IP的IP映射
vi /etc/hosts
如图修改ip映射
修改Hadoop配置文件
cd $HADOOP_HOME/etc/hadoop
修改hdfs-site.xml
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/software/data/tmp/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/software/data/tmp/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<!--客户端在连接到datanodes时是否应该使用datanode主机名-->
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
</property>
</configuration>
关键修改部分:
dfs.client.use.datanode.hostname
true
修改core-site.xml
vi core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/software/data/tmp/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bd-jq-hadoop01:9000</value>
</property>
</configuration>
关键修改部分:
fs.defaultFS
hdfs://bd-jq-hadoop01:9000
修改slaves
vi slaves
将localhost改为公网IP
将Linux上的Hadoop文件夹全部下载至你的Windows机子上
笔者使用的是xftp进行下载的,具体下载方式自便,不局限
在Windows上配置Hadoop的环境变量
所需配置的环境变量如图所示,HADOOP_USER_NAME值为登陆集群的用户名。
在path变量末尾追加以下值:%HADOOP_HOME%\bin
下载maven,配置环境变量
笔者环境选择的为java8+Hadoop2.7.6+maven3.6.3
maven解压至英文目录中,尽量不要使用中文目录
配置MAVEN_HOME变量
值为maven的目录路径
配置path变量
在末尾追加==%MAVEN_HOME%\bin
==
修改maven的配置文件
修改setting.xml文件
路径在maven的conf文件夹下
本地仓库路径
<localRepository>D:\work\java\repository</localRepository>
D:\work\java\repository此处路径为你的模块仓库路径,需提前创建
云镜像源配置
<mirror>
<id>huaweicloud</id>
<mirrorOf>*</mirrorOf>
<name>huaweicloud</name>
<url>https://repo.huaweicloud.com/repository/maven/</url>
</mirror>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>aliyunmaven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
修改windows的hosts文件
路径为C:\Windows\System32\drivers\etc
将你的服务器IP映射写入
如:
hadoop01
10.11.101.110
修改ideac的maven配置
将用户设置文件修改为你的路径即可
创建maven项目
直接下一步即可
随便填,合理即可
修改pom.xml文件
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce-client-core -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>2.7.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-yarn-api -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-api</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
<!-- jdk 使用idea 不需要配置这个-->
<!--<dependency>-->
<!--<groupId>jdk.tools</groupId>-->
<!--<artifactId>jdk.tools</artifactId>-->
<!--<version>1.8</version>-->
<!--<scope>system</scope>-->
<!--<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>-->
<!--</dependency>-->
</dependencies>
在</ project >前输入以上文字即可,接下即可自动下载依赖包了
将hdfs-site.xml和core-site.xml复制至resource内
测试结果
编写类:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class HdfsClient {
@Test
public void testMkdir() throws IOException, InterruptedException, URISyntaxException {
// 新建文件夹
Configuration conf = new Configuration();//加载配置项
FileSystem fs = FileSystem.get(new URI("hdfs://IP:9000/"), conf, "root");//加载文件系统实例
fs.mkdirs(new Path("/hadoop_test_demo1"));//新建文件夹
}
}
成功结果: