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

我用的虚拟机为 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","2181"); //端口号默认2128不用改
        admin = new HBaseAdmin(configuration);
    }
    public List<String> getAllTables() {
        List<String> tables = null;
        if (admin != null) {
            try {
                HTableDescriptor[] allTable = admin.listTables();
                if (allTable.length > 0)
                    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了  求人不如求自己

 

版权声明:本文为xuexidememeda原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xuexidememeda/p/9856182.html