第三部分 IDEA创建并运行项目
可以创建一个maven,几行代码就解决了导入依赖,但是我的电脑不知道哪里出现了问题,IDEA重装,jdk重装,maven重装,都无法解决问题,找了3天,还是没有解决问题。最后只能采用手动导入包方法。看到最后项目的成功连接运行,真的留下幸福的“泪水”。
公网和私网问题
如果是外部访问就需要公网,所以在第二部分,windows的域名映射就是填公网
这边需要改一个服务器上的节点映射,随便给自己的服务器服务器改一个名字,默认是复杂的一长串字符
修改主机名
sudo vim /etc/hostname
我这边修改成 hbase
节点映射
sudo vim /etc/hosts
在文件中加入一行,因为这边是内部访问所以填写私网
私网 主机名(比如我这边的hbase)
重启服务器生效
在windows添加地址映射
修改hosts
位置:C:\Windows\System32\drivers\etc\hosts
公网 主机名(比如我这边的hbase)
添加系统变量
点击我的电脑->属性->高级系统设置->环境变量->添加一个系统变量HADOOP_USER_HOME

重启电脑生效
运行项目
新建项目
在idea新建一个java项目,之后一路默认就OK了。
导包
File->Project Structure ->Libraries->+->java
导入技巧
选中第一个jar,之后拉滚动条到最后一个jar,按住shift点击最后一个jar包,即可全部选中
导入的包
注意:
因为是在windows上手动导入,所以需要在windows上也有对应hadoop和hbase
只是导入罗列目录下的jar包,不包括目录下的目录

- 导入hdfs需要的包
(1)“/usr/local/hadoop/share/hadoop/common”目录下的所有JAR包。
(2)“/usr/local/hadoop/share/hadoop/common/lib”目录下的所有JAR包;
(3)“/usr/local/hadoop/share/hadoop/hdfs”目录下的所有JAR包。
(4)“/usr/local/hadoop/share/hadoop/hdfs/lib”目录下的所有JAR包。
- 导入hbase需要的包
(1)进入到“/usr/local/hbase/lib”目录,选中该目录下的所有jar文件。
(2)进入到“/usr/local/hbase/lib/client-facing-thirdparty”目录下的所有jar包
- 导入mapreduce需要的包
(1)进入“/usr/local/hadoop/share/hadoop/mapreduce”目录下的所有JAR包
(1)进入”/usr/local/hadoop/share/hadoop/mapreduce/lib“目录下的所有JAR包
之后点击apply,再点击ok
载入配置文件
传输配置文件
利用xftp从服务器中传输3个配置文件到本地
- /usr/local/hadoop/etc/hadoop/core-site.xml
- /usr/local/hadoop/etc/hadoop/hdfs-site.xml
- /usr/local/hbase/conf/hbase-site.xml
确保你在第二部分中将配置文件core-site和hbase-site修改好了
导入配置文件
新建一个resources包,将三个配置文件复制进去

右键点击resources,修改成Test Resources Root

接下来,就可以运行项目了
如果你遇到报错HADOOP_HOME and hadoop.home.dir are unset
简单的步骤
在hadoop/bin文件中添加对应的winutils.exe和hadoop.dll
添加HADOOP_HOME和修改Path
重启电脑
如果你遇到报错路径 not exists
可能是你的user/root不存在或者端口没有开放
开放阿里云所有端口
测试代码——hdfs新建文件夹
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class testMkdir {
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration(true);
FileSystem fs = FileSystem.get(conf);
//user/root 上新建一个djtest1文件夹,保证/user/root已经存在了
Path dir = new Path("/user/root/djtest1");
if(fs.exists(dir)){
System.out.println("文件已经存在");
fs.delete(dir,true);
}
//通过web网页看是否存在或者是shell命令
fs.mkdirs(dir);
fs.close();
}
}
测试结果


Hbase知识理解和JAVAAPI学习
行键,列族,字段

主要看JavaAPI和过滤器
第三部分 IDEA创建并运行项目的更多相关文章
- 用Eclipse+ADT创建可运行项目,创建lib项目,引用一个lib项目
Managing Projects from Eclipse with ADT In this document Creating an Android Project 创建可运行项目 Settin ...
- Web API(三):创建Web API项目
在本篇文章中将讲解如何使用Visual Studio创建一个新的ASP.NET Web API项目. 在Visual Studio中有两种方式用于创建Web API项目: 1.创建带MVC的Web A ...
- vue-cli3.x创建及运行项目
Node 版本要求 Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+).如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm un ...
- 第三篇 -- IDEA 创建Springboot Web项目并用Jmeter测试
上一节使用Django写的一个接口程序,这一节讲用IDEA配合Springboot创建web项目.一个是python,一个是java. 参考链接:http://www.uxys.com/html/Ja ...
- 使用Pycharm创建一个Django项目
在使用python写脚本一段时间后,想尝试使用Django来编写一个python项目,现做以下记录备忘: 1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动 ...
- Pycharm创建一个Django项目
1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动下载相应的版本: 创建后运行项目,默认页面为http://127.0.0.1:8000/,打开后: 出现上 ...
- IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目
转自:http://www.php-note.com/article/detail/854 IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目 作者:php- ...
- Storm系列(三):创建Maven项目打包提交wordcount到Storm集群
在上一篇博客中,我们通过Storm.Net.Adapter创建了一个使用Csharp编写的Storm Topology - wordcount.本文将介绍如何编写Java端的程序以及如何发布到测试的S ...
- 在命令行中运行eclipse中创建的java项目
在命令行中运行eclipse中创建的java项目 博客分类: java相关 javaeclipse命令行 由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情 ...
随机推荐
- app渗透测试 服务端篇
基本知识 平时安装的应用位置,里面主要是odex可运行文件 /data/app 系统应用位置(需要root权限),里面主要是odex可运行文件 /system/app 应用的数据相关的位置,里面包含一 ...
- NIO三大组件之Selector选择器
什么是选择器 选择器的作用是完成IO的多路复用.一个通道代表一条连接通路,通过选择器可以同时监控多个通道的IO(输入输出)状况.选择器和通道的关系,是监控和被监控的关系. 使用 重要的成员 Selec ...
- Java基础回顾_第二部分_Java流程控制
Java基础回顾_第二部分 Java流程控制 Scanner对象(扫描器,捕获输入) import java.util.Scanner; public class Demo01 { public st ...
- 极简实用的Asp.NetCore模块化框架决定免费开源了
背景 在开发这个框架之前,前前后后看过好几款模块化的框架,最后在一段时间内对ABP VNext痛下狠心,研究一段时间后,不得不说 ABP VNext的代码层面很规范,也都是一些最佳实践,开发出一个模块 ...
- 创建支持依赖注入、Serilog 日志和 AppSettings 的 .NET 5 控制台应用
翻译自 Mohamad Lawand 2021年3月24日的文章 <.NET 5 Console App with Dependency Injection, Serilog Logging, ...
- Oracle-DG 主库将log_archive_dest_state_2远程归档线程参数设置为defer,为什么dg还是处于实时同步状态?
一.需求,前段时间,墨天伦有个小伙伴咨询了这个问题,搞了测试环境测试下. Oracle-DG 主库将log_archive_dest_state_2远程归档线程参数设置为defer,为什么dg还是处于 ...
- Go-31-杂序
标识符: 在go语言里,标识符要么从包里公开,要么不从包里公开. 当代码导入一个包时,程序可以直接访问这个包中任意一个公开的标识符.这些标识符以大写字母开头.以小写字母开头的标识符是不公开的,不能被其 ...
- Salesforce学习之路(四)利用Jenkins和Git实现Salesforce的CI/CD功能
上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...
- 自动化kolla-ansible部署openstack+GPU透传方法
自动化kolla-ansible部署openstack+GPU透传方法 欢迎加QQ群:1026880196 进行交流学习 1. CentOS7.x-8.x系列为虚拟机配置GPU直通 1. 编辑文件vi ...
- 开坑:mysql相关问题
一. 先过滤后连表和先连表后在mysql中选择的哪一种? 二. left join 和inner join使用场景有什么区别? 三. 第二个问题的衍生问题:left join中where 条件使用对n ...