配置环境变量
- 系统环境变量添加
HADOOP_HOME
,指向hadoop目录的根目录,如 F:\hadoop-2.7.7 - 对环境变量
PATH
追加:%HADOOP_HOME%\bin - 将变量
JAVA_HOME
路径中的Program file换成PROGRA~1(空格识别不了)
配置好环境变量后,需要重启软件才能生效。因此需要将IDEA关闭后重新打开,才能正确识别刚刚配置的环境变量。
导入集群配置文件
把Hadoop主机的core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml和log4j.properties传输到Windows下,并放入项目中的src\main\resources中(若没有选择Create frome archetype,则不会有这个文件夹)
同步hosts文件
修改Windows下的hosts文件(位于:C:\Windows\System32\drivers\etc\hosts ),使其与集群上的hosts文件内容一致。修改完毕后需要刷新dns缓存才能生效,命令行执行:
ipconfig /flushdns
添加链接库
添加Windows上缺少的链接库
该步骤可能可以省略。若接下来的运行示例程序失败后,回到此重试。
方法一(推荐)
在 https://github.com/cdarlint/winutils 下载对应hadoop相近版本的winutils.exe和hadoop.dll(<=版本号,比如你是3.1.3,那你就可以下载3.1.X的,但版本号不能相差太大),将其中的*.dll
文件和winutils.*
文件复制到本地hadoop安装目录的/bin
目录下的文件,再把hadoop.dll复制到系统盘的Windows\System32目录下。
网络环境不好请访问 https://gitee.com/sujemson/winutils 是国内用户克隆的的码云镜像。
当然,这个方法在hadoop高版本可能无法成功,若选择其他版本也无法运行,则需要用到法二
方法二
直接下载对应hadoop相近版本的bin目录下全部文件,并把该文件覆盖hadoop文件的bin目录。
注意:在更换hadoop.dll时,记得还要把Windows\System32目录下的hadoop.dll也添加(更换)。
配置插件 Big Data Tools(可选)
这个只是为了更方便地在IDE里查看HDFS中的文件而已
详情参照:https://blog.csdn.net/qq_44930688/article/details/105758757
通过浏览器进入hadoop ui界面(3.1.3端口为9870,即 master1:9870)下的id,我的为master1:9000。
注意 Username
是登陆hadoop主机所用的用户名(不是主机名)
在点击 Test Connection
时出现绿色对勾即成功。
一个示例:
如果连接提示hostname字符不合法
可能是host文件中对IP地址的映射带有下划线 _
,这被认为是不合法的。请修改为 -
或其他字符。也可能是主机名带下划线,这都是不被允许的。
创建Maven项目并运行示例程序
我们使用Maven来进行包管理,因此请创建一个Maven项目,此处不再赘述。
Maven导入依赖
pom.xml中的依赖如下:
其中,<hadoop_version>2.7.7</hadoop_version>
中的值更换为你的Hadoop版本号。
<dependencies>
<properties>
<!