第一步: 首先把虚拟机和你的主机(本地电脑)弄通这样本地机器才能访问虚拟机里面的内容

我用的虚拟机为 VMware Workstation linux 为 centeros

补充一点虚拟机设置


 虚拟机菜单上点击编辑->虚拟网络编辑器->VMnet8 如图:

按照我的图来!

那个子网IP 可以直接按我这个来   跟你主机没什么冲突的! 但是你设置你linux和你主机的虚拟网卡的ip都要在192.168.1.(1-254 )这个区间里    你也可以改成别的都没关系

2  点击那个NAT 设置 我把网关IP配置成了  192.168.1.2                  这个改成别的也没关系关键后面配置要对应也和   你前面的子网ip要对应

然后点击确定就行

3 配置windows 的虚拟网卡ip

如图:

点开控制面板那个网络链接更改适配器设置         可以看见虚拟机为你创建了两个虚拟网卡 那个VMnet1是无线链接(wifi)的时候用到,第二个VMnet8 是链接网线的时候用到

我们先设置VMnet8的ip和网关    IP 我设置成 192.168.1.1  子网掩码 255.255.255.0    默认网关是你原来虚拟机那里配置的我的是   192.168.1.2  (说一下这个主机Ip可以随便设置的除了0和2 剩下1-254都可以,0和255 我给忘了一般不用这两个,2 设置成网关了就别用了)

[呵呵我网络工程学的不好]

再设置vm1的IP 和网关 和vm8的一模一样 除了我把Ip设置成了 192.168.1.100

【这是自己玩出来的错了留言一下      学生一般会搬着笔记本链接wifi 宿舍用网线 这两个都设置了吧!!!要不不通】

---------------------------------------------------------------------------------------华丽的分割线-------------------------------------------------------------------------------------------------------------------

下面是配置linux的ip 地址 centerOS为例子

命令下敲

cd /etc/sysconfig/network-scripts/

然后 sudo vim ifcfg-ens32(不同版本这个文件名字可能不一样)

进去之后你会看见 

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

IPADDR=192.168.1.101

NETMASK=255.255.255.0

GATEWAY=192.168.1.2

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens32

UUID=d16fe359-9256-4414-a557-19d751b4fc72

DEVICE=ens32

ONBOOT=yes

  把这段加粗的不一样的改一下 没有的加上去 Ip 192.168.1.101(最后一位哪个101 除了 1 和2 和255 还有100 不能用(因为都用了)剩下你随便 用在一个子网就行) 那个网关 是你前面设置的192.168.1.2这个要一致

敲命令   systemctl restart network 重启网卡  然后ifconfig 查看一下改了没有 具体参照  https://jingyan.baidu.com/article/a501d80c3c9b8aec630f5e8c.html   或者自行百度

然后互相   ping一下    windows 运行cmd 输入 ping 192.168.1.101(ping 你的虚拟机的IP地址)  linux 下ping 你windows 主机的 IP  我的是10.92.3.80 可以 进入命令行ipconfig一下

(linux ping的ip 是你 windows的主机  ip 不是刚才设置的虚拟网卡的Ip

如果ping的通那就初步判定连上了

可以下一个   SecureCRT  链接linux  测试到底能不能连成  具体用法请百度谢谢!!(这个下不下没关系)

然后关闭linux防火墙    一定要关  !!!!!!!!!!!!!!上次卡了一天

centeros关闭方法 不行的话或者别的自行百度

1、关闭防火墙:sudo systemctl stop firewalld.service

2、关闭开机启动:sudo systemctl disable firewalld.service

第三步  

先开启你的   hadoop   hbase  (hbase开开 这个是hadoop的网址)

他有一个自带的网址知道吧  http://localhost:16010/master-status      把这个网址复制到你的windows浏览器外 把localhost改成你的linux Ip 我的是 192.168.1.101   就是 http://192.168.1.101:16010/master-status

能连成说明彻底成功了下面就可以配置hadoop 和hbase 的配置了

第四步

http://dblab.xmu.edu.cn/blog/install-hadoop/    hadoop伪分布式配置

http://dblab.xmu.edu.cn/blog/install-hbase/       hbase为分布配置

按照上面的 (林子雨)(准备以后给我孩子起名字也叫子雨)博客 把hadoop 和hbase 配置成为分布的(什么是伪分布具体不太理解)  配置成功之后JPS 一  下看看所有服务到底能  不能正常开启  测试一下你的Hbase能正常的建立表或者读取不!!能的话看下一步

第五步

外网访问需要改两个文件吧

找到你hadoop安装目录下的etc 下的hadoop   core-site.xml  文件  如下

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
</configuration>

 fs.defaultFS 下的value 改成你自己的ip hdfs://192.168.1.101:9000  我这里绑定了一个本地域名叫hadoop  (这个没什么关系自己喜欢可以百度)

然后 找到你HBASE 安装目录下的 conf文件夹下的 hbase-sitr.xml

改成如下

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.1.101</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>

  第一个原来是localhost 改 hdfs://192.168.1.101:9000/hbase (我绑定了自定义域名hadoop)第二个是你linux静态ip地址

第五步  

配置完之后 

重启hadoop 和hbase 然后 JPS查看 所有服务运行了没  即使运行的话建议你建立一个表或者 list(l列出所有表)一下  如果可以的话 建议上代码了 否则如下 

linux 下进入hadoop目录  清理了一下文件  这会删除所有表

  1. ./sbin/stop-dfs.sh # 关闭
  2. rm -r ./tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
  3. ./bin/hdfs namenode -format # 重新格式化 NameNode
  4. ./sbin/start-dfs.sh # 重启

不行reboot 重启一下机器

如果 遇到没有表建立表却提示表存在 请参考  (百度吧   链接找不到了 因为你内存中还有那个表百度谢谢)

一切基础在(前面两个)博客上建立的...................................

下面上具体代码

package com;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.HBaseAdmin; public class ceshi2 {
private HBaseAdmin admin = null;
// 定义配置对象HBaseConfiguration
private static Configuration configuration;
public ceshi2() throws MasterNotRunningException, ZooKeeperConnectionException, IOException {
configuration = HBaseConfiguration.create();
configuration.set("hbase.rootdir","hdfs://hadoop:9000/hbase");//可以吧hadoop改成你的域名或Ip
configuration.set("hbase.zookeeper.quorum","192.168.1.101"); //hbase 服务地址
configuration.set("hbase.zookeeper.property.clientPort",""); //端口号默认2128不用改
admin = new HBaseAdmin(configuration);
}
public List<String> getAllTables() {
List<String> tables = null;
if (admin != null) {
try {
HTableDescriptor[] allTable = admin.listTables();
if (allTable.length > )
tables = new ArrayList<String>();
for (HTableDescriptor hTableDescriptor : allTable) {
tables.add(hTableDescriptor.getNameAsString());
System.out.println(hTableDescriptor.getNameAsString());
}
}catch (IOException e) {
e.printStackTrace();
}
}
return tables;
}
public static void main(String[] args) throws MasterNotRunningException, ZooKeeperConnectionException, IOException {
// TODO 自动生成的方法存根
new ceshi2().getAllTables();
} }

这段代码是列出所有表 !!没标的话建一个

如果都配置好了。外网也能访问!但是仍然无法连上,执行第五步,清理一下hadoop  清理后出现表不存在提示存在问题,参考      https://blog.csdn.net/m0_37786447/article/details/79577504

如果eclipse 可视化操作hdfs 没有权限 

打开 hdfs-site.xml 文件 添加以下代码

<property>
<name>dfs.permission</name>
<value>false<value>
</property>

总结  MLGB 气死BB了  求人不如求自己

(最详细)JAVA如何连接虚拟机的HBASE和hadoop(JAVA如何远程访问虚拟机HBASE)的更多相关文章

  1. MySQL_(Java)【连接池】简单在JDBCUtils.java中创建连接池

    MySQL_(Java)[事物操作]使用JDBC模拟银行转账向数据库发起修改请求 传送门 MySQL_(Java)[连接池]使用DBCP简单模拟银行转账事物 传送门 Java应用程序访问数据库的过程: ...

  2. Java-Runoob-高级教程:Java MySQL 连接

    ylbtech-Java-Runoob-高级教程:Java MySQL 连接 1.返回顶部 1. Java MySQL 连接 本章节我们为大家介绍 Java 如何使用 使用 JDBC 连接 MySQL ...

  3. java 短连接+MD5加密短链接

    java 短连接+MD5加密短链接 import java.security.MessageDigest; public class ShotUrlUtil { public static void ...

  4. MySQL_(Java)【连接池】使用DBCP简单模拟银行转账事物

    dbcp下载 传送门 Commons Pool下载 传送门 Commons log下载 传送门 MySQL_(Java)[事物操作]使用JDBC模拟银行转账向数据库发起修改请求 传送门 MySQL_( ...

  5. 本地eclipse java api连接远程虚拟机HBase

    1.本地与远程连通 无论是域名或者ip都可以,另外需保证HBase在虚拟机集群上正常运行. 2.本地要有一个跟远程相同的hadoop环境 当然不相同,只要兼容也可以,现采用hadoop-2.5.0-c ...

  6. JAVA上连接ubuntu14.04上的Hbase

    对于新手来说,连接虚拟机上的Hbase有点繁琐,而且网上的配置不太适合初学者,今天我就整理了一下,希望对你们有帮助,第一次发博客. 1.首先去官网下载Hbase的压缩包.我这里用的是1.2.1 htt ...

  7. 虚拟机centos 安装 redis 环境 linux 使用 java 远程连接 redis

    redis官网地址:http://www.redis.io/ 最新版本:2.8.3 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1.下载源码,解压缩后编译源码. $ wget ...

  8. 【深入Java虚拟机】之二:Java垃圾回收机制

    [深入Java虚拟机]之:Java垃圾收集机制 对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了Java中所有的对象实例.谈到Java堆中的垃圾回收,自然要谈到引用.在JDK ...

  9. 深入Java虚拟机读书笔记第一章Java体系结构介绍

    第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了 ...

随机推荐

  1. 吴裕雄--天生自然PYTHON爬虫:爬取某一大型电商网站的商品数据(效率优化以及代码容错处理)

    这篇博文主要是对我的这篇https://www.cnblogs.com/tszr/p/12198054.html爬虫效率的优化,目的是为了提高爬虫效率. 可以根据出发地同时调用多个CPU,每个CPU运 ...

  2. Python环境搭建-3 Python下载

    python环境搭建 Python是一个跨平台.可移植的编程语言,因此可在windows.Linux和Mac OS X系统中安装使用. 安装完成后,你会得到Python解释器环境,可以通过终端输入py ...

  3. idea右键新建选项没有类和包的创建方式

    Intelidea创建好项目之后,右键新建Java class的时候发现没有改选项,只有以下几个选项 把sec目录设为源码目录,首先打开Project Structure

  4. RHEL6配置CentOS yum源

    RHEL6配置CentOS yum源

  5. ubuntu 中怎么安装 jdk 7

    Jdk1.7 安装包的下载地址是: http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u4-downloads-1591156. ...

  6. 解决Missing artifact com.microsoft.sqlserver:sqljdbc4:jar:4.0问题

    当我们项目中用到的数据库为sql server时  我们一般在maven项目的pom.xml只添加依赖: <dependency>    <groupId>com.micros ...

  7. 【剑指Offer面试编程题】题目1503:二叉搜索树与双向链表--九度OJ

    题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入的第一行为一个 ...

  8. day12-Python运维开发基础(推导式、生成器与生成器函数)

    1. 推导式(列表推导式.集合推导式.字典推导式) # ### 推导式 : 通过一行循环判断,遍历出一系列数据的方式是推导式 """ 推导式一共三种: 列表推导式,集合推 ...

  9. 【Linux】centos7下解决yum -y install mysql-server 没有可用包

    第一步:安装从网上下载文件的wget命令 [root@localhost ~]# yum -y install wget 第二步:下载mysql的repo源 [root@localhost ~]# w ...

  10. prometheus 统计MySQL 自增主键的剩余可用百分比

    mysqld_exporter自带的这个功能,下面是我使用的启动参数: nohup ./mysqld_exporter --config.my-cnf="./my.cnf" --w ...