Hadoop完全分布搭建(这里以3台主机为例)+Hbase+Eclipse连接

 

 

 

一、网络配置

1.1网络配置(建议用管理员权限启动虚拟机,防止出现权限不足或者lock等问题)

1.11打开虚拟机点击安装好的centos系统

b093d528b074418ab5a688fdff09aba6.png

 

 1.12点击虚拟机的编辑后选择虚拟网络编辑器

445e70d43a274bffb15813f61e325e53.png

 1.13点击VMnet8

e45ccf98e39b43a29305c078604f0acc.png

1.14点击NAT设置并关闭

cf91f936dc254a7393ba650a420c1451.png

1.15查看网关IP并记住(我这边是192.168.138.2) 

0304340181ef419895d1cfc66a7ee50e.png

1.16打开主机网络点击更改设备选择器

7b666b78fe8145b09b8bbfe77fcc0799.png

1.17点击VMnet8后右键点击属性

2636b18aec164d45819d481d6d73765c.png

 1.18选择Internet协议版本4(TPC/IPv4) 

967ab601624f4766b5a12819b9e7cef3.png

1.19 IP、网关配置(配置完网络环境后千万不要去共享网络不然xshell和xftp到时候连接不上虚拟机系统。)

8f086d7c1c78492f9f6c88d99fc6508a.png

1.2启动centos系统,进行centos网络配置

1.21右键桌面打开终端,输入su指令按Enter键后输入密码进入root用户(为了更好的完成下面配置)

c7e5459fbdd043f79a8eec7159663822.png

400e77919b424eb3a3ab08d72e31e1e4.png

1.22进入网络配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33

 

把BOOTPROTO修改为static    ONBOOT修改为yes

添加(IPADDR前三位要跟虚拟机网关一致,NETMASK跟主机网络配置一致,GATEWAY,DNS1填写虚拟机网关,如果不配做DNS1会出现ping不通域名)

这里以虚拟网关为192.168.138.2为例子进行配置,每台机的虚拟机网关都不一样,请勿完全照搬!

IPADDR=192.168.138.88     
 
NETMASK=255.255.255.0     
 
GATEWAY=192.168.138.2     
 
DNS1=192.168.138.2

88b11f33d3324e34ac2f4ac50e8f4e7c.png

 

配置完后重启网络

重启网络

service network restart

另外两台主机网络配置方法与上面相同。

1.23测试网络(先把防火墙关了)

关闭防火墙命令

systemctl stop firewalld.service

查看防火墙状态

systemctl status firewalld.service

测试

ping www.baidu.com

399a04dcda71401088833c9f851a73b7.png

使用Ctrl+Z停止ping百度

主机ping虚拟机(如果ping不通很大可能是虚拟机防火墙未关闭) 

528f2bb097c348d692368e7a8f32f721.png

虚拟机ping主机(如果ping不通主机IP很大可能是主机防火墙未关闭)

c60a6c08822745439b880f3272551f98.png

使用Ctrl+Z停止ping主机IP

如果没有事先准备好另外两台虚拟机则可以用这台虚拟机进行克隆然后修改IP。

1.24解决虚拟机ping不通主机IP方法

打开主机网络打开防火墙选择高级设置点击入站规则点击按配置文件筛选后选择按公用配置文件筛选找到(回显请求 – ICMPv4-In)改为允许。

9075c39e650744ad9b968c511c4365d1.png

e89ff879753243df9649a1b1946017fa.png

63966da57681437e80e52835bdc4893f.png

1adf6f1f481c46729eb4e1f4029f60bc.png

f0e94fe0bc3444c0960da3dba9f71aa5.png

 

二、压缩包准备(百度网盘提取码1221)

压缩包下载链接

48023d39eaa24497ba550a2b6213d0e2.png

1.1hadoop完全分布搭建(建议用管理员权限启动虚拟机,防止出现权限不足或者lock等问题,在配置hadoop集群过程中建议切换到root用户下进行配置)

1.2修改主机名(这里修改为node1,也作为主机使用)

hostnamectl set-hostname node1

查看主机名

hostname

配置主机名(如果忘记主机IP可以用ifconfig命令来查询),这里添加3台主机,另外两台主机配置内容也一样,都是这三个IP+主机名

vim /etc/hosts 

811f8f2b55424e3fb286f7fdee102289.png

 免密码登录配置(三台主机都按下面方法操作一遍)

执行

ssh-keygen -t rsa

按三次Enter键如果中途出现选择请选择yes

 公钥追加到~/.ssh/authorized_keys文件中

ssh-copy-id -i  ~/.ssh/id_rsa.pub  第一台主机名
ssh-copy-id -i  ~/.ssh/id_rsa.pub  第二台主机名
ssh-copy-id -i  ~/.ssh/id_rsa.pub  第三台主机名

测试免密码登录三台都测试,当测试完一台后记得退出当前测试主机:

ssh 主机名

退出当前主机

exit

df10354cc09e41e5b5d05c022f24ea57.png

 

1.3安装jdk

1.31卸载原先的java jdk

rpm -qa | grep java

根据显存版本进行卸载操作

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64

1.32安装jdk

将jdk压缩包拷贝到虚拟机系统的一个目录上(这里拷贝到/usr/java下,一般来说usr目录下是没有java文件夹需要自己创建一个 (mkdir java))

在java目录下进行解压压缩包

tar -zxvf 压缩包名称

修改配置文件 

vim ~/.bashrc

在文件的最后添加下面的jdk信息

export JAVA_HOME=centos系统中的jdk路径
 
export CLASSPATH=$JAVA_HOME/lib/
 
export PATH=$PATH:$JAVA_HOME/bin
 
export PATH JAVA_HOME CLASSPATH

配置完成后执行下面代码使环境变量生效

source ~/.bashrc

查看java版本 

java -version

 将上面配置复制到其他两台主机 

scp -r 复制文件路径 接收文件主机名:接收文件路径

 例如:scp -r /usr/java node1:/usr/

1.33hadoop安装

进入hadoop压缩包目录

解压hadoop压缩包

tar -zxvf 压缩包名

可创建文件软链接,简化配置

ln -s 解压后文件名 hadoop

配置环境变量

vim ~/.bashrc

在文件的最后添加下面的hadoop信息

export HADOOP_HOME=hadoop路径
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置完成后执行下面代码使环境变量生效

source ~/.bashrc

总共要修改的配置文件全部都在hadoop/etc/hadoop目录下,其中hdfs-site.xml这个文件需要设置3个目录来存放一些hadoop运行过程中的临时数据,也就是在hadoop目录下,创建一个dfs和tmp,再在dfs目录下创建name和data目录。hadoop的八个配置文件中,有3个配置文件只需要修改jdk路径。分别是hadoop-env.sh,yarn-env.sh,mapred-env.sh。找到 export JAVA_HOME=  , 等号后面改成centos系统中的jdk路径 即可。   当然,如果前面有#注释,可以把注释去掉(一般都没有注释)。

进入hadoop/etc/hadoop目录

1.34core-site.xml配置

执行

vim core-site.xml
<configuration>

         <property>
 
<!-- 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口>也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务) -->
 
                  <name>fs.defaultFS</name>
  
                  <value>hdfs://node1:9000</value>
  
         </property>
  
         <property>
  
          <!-- 这个属性用来执行文件IO缓冲区的大小-->
  
                  <name>io.file.buffer.size</name>
  
                  <value>131072</value>
  
         </property>
  
         <property>
  
<!-- 指定hadoop临时目录,前面用file:表示是本地目录。有的教程上直接使用/usr/local,hadoop在运行过程中肯定会有临时文件或缓冲之类的,必然需要一个临时目>录来存放,这里就是指定这个的。当然这个目录前面我们已经创建好了。 -->
 
                 <name>hadoop.tmp.dir</name>
  
                 <value>file:hadoop中tmp路径</value>
  
                 <description>Abase for other temporary   directories.</description>
  
         </property>
  
</configuration>

 1.35hdfs-site.xml配置

vim hdfs-site.xml
<configuration>
 
         <property>
  
                 <name>dfs.namenode.secondary.http-address</name>
  
                 <value>node2:9001</value>
  
         </property>
  
         <property>
  
   <!-- namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据-->
  
               <name>dfs.namenode.name.dir</name>
  
               <value>file:hadoop的dfs中的name文件夹路径</value>
  
        </property>
  
        <property>
 
              <!-- datanode数据的存放地点。也就是block块存放的目录了-->
  
                <name>dfs.datanode.data.dir</name>
  
                <value>file:hadoop的dfs中的data文件夹路径</value>
  
         </property>
  
         <property>
  
       <!-- hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数-->
 
                <name>dfs.replication</name>
  
                <value>3</value>
  
          </property>
  
          <property>
 
              <!-- 开启hdfs的web访问接口。好像默认端口是50070-->
  
                  <name>dfs.webhdfs.enabled</name>
  
                  <value>true</value>
  
           </property>
  
</configuration>

b1474a5c7e164b28a8f984bef13baeb2.png

 

 1.36配置mapred-site.xml

如果没有修改文件则执行

cp mapred-site.xml.template mapred-site.xml

执行

vim mapred-site.xml
<configuration>
 
            <property>
  
              <name>mapreduce.framework.name</name>
  
                  <value>yarn</value>
  
            </property>
 
            <property>
  
                    <name>mapreduce.jobhistory.address</name>
  
                    <value>node1:10020</value>
  
            </property>
  
            <property>
  
                  <name>mapreduce.jobhistory.webapp.address</name>
  
                  <value>node1:19888</value>
  
         </property>
  
</configuration>

1.37配置yarn-site.xml

执行

vim yarn-site.xml
<configuration>
  
<!-- Site specific YARN configuration properties -->

        <property>
              <name>yarn.nodemanager.resource.memory-mb</name>
              <value>1024</value>
         </property>

         <property>
               <name>yarn.nodemanager.resource.cpu-vcores</name>
               <value>1</value>
         </property>
  
         <property>
             <name>yarn.resourcemanager.hostname</name>
             <value>node1</value>
         </property>
  
         <property>
             <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
         </property>
         <property>
             <name>yarn.nodemanager.env-whitelist</name>
             <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
         </property>
         <property>
             <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
             <value>org.apache.hadoop.mapred.ShuffleHandler</value>
         </property>
         <property>
             <!--yarn总管理器的IPC通讯地址-->
             <name>yarn.resourcemanager.address</name>
             <value>node1:8032</value>
         </property>
         <property>
             <!--yarn总管理器调度程序的IPC通讯地址-->
             <name>yarn.resourcemanager.scheduler.address</name>
             <value>node1:8030</value>
         </property>
  
         <property>
  
             <!--yarn总管理器的IPC通讯地址-->
  
             <name>yarn.resourcemanager.resource-tracker.address</name>
  
             <value>node1:8031</value>
  
         </property>
  
         <property>
  
              <!--yarn总管理器的IPC管理地址-->
  
              <name>yarn.resourcemanager.admin.address</name>
  
              <value>node1:8033</value>
  
         </property>
 
         <property>
 
             <!--yarn总管理器的web http通讯地址-->
 
             <name>yarn.resourcemanager.webapp.address</name>
  
             <value>node1:8088</value>
  
         </property>
  
  
  
</configuration>

 1.38配置workers

执行

vim workers
第一台主机名
第二台主机名
第三台主机名

f0707afcd8ba4cfcb0c15a98d1ce710b.png

 

1.39格式化

hdfs namenode -format

1.40将上面配置复制到其他两台主机 

scp -r 复制文件路径 接收文件主机名:接收文件路径

例如:scp -r /usr/hadoop node1:/usr/

1.41启动停止Hadoop的环境(只需在主机上启动即可,另外两台主机会跟着启动)

start-all.sh
 
stop-all.sh

1.42查看进程

jps

2.1Zookeeper集群搭建

进入zookeeper压缩包目录

解压zookeeper压缩包

tar -zxvf 压缩包名

可创建文件软链接,简化配置

ln -s 解压后文件名 zookeeper

进入zookeeper文件夹,创建tmp文件夹

mkdir tmp

配置环境变量

vim ~/.bashrc

在文件的最后添加下面的zookeeper信息

export ZOOKEEPER_HOME=zookeeper文件路径
export PATH=$ZOOKEEPER_HOME/bin:$PATH

配置完成后执行下面代码使环境变量生效

source ~/.bashrc

ZooKeeper的核心服务器属性配置文件是zoo.cfg。在主安装目录下的conf子目录内,系统为用户准备了一个模板文件zoo_sample.cfg,我们可以将这个文件拷贝一份,命名为zoo.cfg,然后修改配置文件。首先我们进入到conf子目录,执行以下命令:

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg
#tickTime:CS通信心跳时间
tickTime=2000  

#initLimit:LF初始通信时限
initLimit=5 
 
#syncLimit:LF同步通信时限
syncLimit=2

#dataDir:数据文件目录
dataDir=zookeeper中tmp文件路径,tmp文件夹需要自己在zookeeper文件夹中创建

#clientPort:客户端连接端口 
clientPort=2181

#服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

在zookeeper中tmp下创建一个文件myid

进入zookeeper文件夹

vim myid

在myid里面输入1 

 将上面配置复制到其他两台主机 

scp -r 复制文件路径 接收文件主机名:接收文件路径

例如:scp -r /usr/zookeeper node1:/usr/ 

复制完成后一定要修改另外两台机的myid

修改第二台主机的myid,改为2

修改第三台主机的myid,改为3

启动

分别在每台机器上运行zkServer.sh start命令

zkServer.sh start

查看状态

运行

zkServer.sh status

有一台显示:Mode: leader,其他机器显示:Mode: follower。

3.1Hbase集群搭建

进入Hbase压缩包目录

解压Hbase压缩包

tar -zxvf 压缩包名

可创建文件软链接,简化配置

ln -s 解压后文件名 hbase

创建zookeeper数据目录

进入hbase文件夹

mkdir zookeeper

配置环境变量

vim ~/.bashrc

在文件的最后添加下面的Hbase信息

export HBASE_HOME=hbase文件夹路径
export PATH=$HBASE_HOME/bin:$PATH

配置完成后执行下面代码使环境变量生效

source ~/.bashrc

 修改配置文件hbase-env.sh

进入hbase的conf文件夹

vim hbase-env.sh

在打开的文件中,找到“# export JAVA_HOME”开头的文件,去掉前面的“#”,修改为:

export JAVA_HOME=jdk文件路径

另外,找到“# export HBASE_MANAGES_ZK”开头的文件,去掉前面的“#”,修改为:

export HBASE_MANAGES_ZK=true

再修改配置文件hbase-site.xml

vim  hbase-site.xml
<configuration>
<!--HBase的数据保存在HDFS对应目录-->
<property>
  <name>hbase.rootdir</name>
  <value>hdfs://node1:9000/hbase</value>
</property>	

<!--是否是分布式环境-->
<property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
</property>			

<!--配置ZK的地址,三个节点都启用Zookeeper-->
<property>
  <name>hbase.zookeeper.quorum</name>
  <value>node1,node2,node3</value>
</property>				

<!--冗余度-->
<property>
  <name>dfs.replication</name>
  <value>2</value>
</property>	

<!--主节点和从节点允许的最大时间误差-->
<property>
  <name>hbase.master.maxclockskew</name>
  <value>180000</value>
</property>

<!--zookeeper数据目录-->
<property>
  <name>hbase.zookeeper.property.dataDir</name>
  <value>hbase中zookeeper文件路径(若没有zookeeper文件夹则在hbase文件夹中自己创建)</value>
</property>
</configuration>

修改配置文件regionservers

vim regionservers

在打开的文件中,将里面的内容修改为:

node1
node2
node3

再在另外两台机器执行上面同样的操作,或在第一台机器执行下面命令,将hbase目录拷贝过去。

scp -r 复制文件路径 接收文件主机名:接收文件路径

启动Hbase

start-hbase.sh

查看进程

jps

4.1Eclipse调用HBase集群安装配置

打开Eclipse软件 --> 新建Java项目(File --> New --> Other --> Java Project --> 输入项目名称)(这里是HBaseBasic)

导入jar包

新建文件夹lib,右击项目 --> New --> Folder --> 输入文件夹名称“lib”

将hbase的lib目录下所有jar包放到lib下

右键项目根目录,选择 “Properties”->“Java Build Path”->“Library”->“Add External JARs”,将lib子目录下所有jar 包添加到本工程的Classpath下

完成上述操作后刷新一下

添加hbase-site.xml

右击项目名 --> New --> Source Folder --> 输入项目名称,这里取名为conf

将虚拟机集群上配置的hbase-site.xml文件复制到conf目录下

修改hosts文件(存放位置:C:\Windows\System32\drivers\etc)

添加如下内容(Note:ip和主机名根据集群上的配置做出相应的修改。)

IP+虚拟机主机名

例如:

192.168.138.88  node1
192.168.138.89  node2
192.168.138.90  node3

afdb2ad3b2c94ceaa4ff3815e4a7d3a1.png

 

注:如何是window10或window11的用户请把hosts这个文件拉出来修改,待修改完后再拉进去替换。

测试(类这里命名为HbaseBean.java)

在Eclipse创建的项目中的src里面创建一个java类文件(后缀名为.java的文件)在文件中添加如下内容:

package test;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
 
public class HbaseBean {
 
	static Configuration configuration = HBaseConfiguration.create();
	public static Connection connection;
	public static Admin admin;
 
	// create a new table.
	//columnFamily代表列族
	public static void create(TableName tablename,String columnFamily) throws Exception {
		connection = ConnectionFactory.createConnection(configuration);
		admin = connection.getAdmin();
		if (admin.tableExists(tablename)) {
			System.out.println("table Exists!");
			System.exit(0);
		} else {
			//can use HTableDescriptor and HColumnDescriptor to modify table pattern.
			HTableDescriptor tableDesc = new HTableDescriptor(tablename);
			tableDesc.addFamily(new HColumnDescriptor(columnFamily));
			admin.createTable(tableDesc);
			System.out.println("create table successfully!");
		}
	}
 
	// insert a record.
	public static void put(TableName tablename,String row,String columnFamily,String column,String data)
			throws Exception {
		connection = ConnectionFactory.createConnection(configuration);
		Table table = connection.getTable(tablename);
		Put p = new Put(Bytes.toBytes(row));
		p.addColumn(Bytes.toBytes(columnFamily),Bytes.toBytes(column),Bytes.toBytes(data));
		table.put(p);
		System.out.println("put '" + row + "','" + columnFamily + ":" + column + "','" + data + "'");
	}
 
	// get data of some row for one table.
	// which equals to hbase shell command of " get 'tablename','rowname' "
	public static void get(TableName tablename,String row) throws IOException {
		connection = ConnectionFactory.createConnection(configuration);
		Table table = connection.getTable(tablename);
		Get g = new Get(Bytes.toBytes(row));
		Result result = table.get(g);
		System.out.println("Get Info: " + result);
	}
 
	// get all data of this table,using "Scan" to operate.
	public static void scan(TableName tablename) throws Exception {
		connection = ConnectionFactory.createConnection(configuration);
		Table table = connection.getTable(tablename);
		Scan s = new Scan();
		ResultScanner rs = table.getScanner(s);
		for (Result r : rs) {
			System.out.println("Scan info: " + r);
		}
	}
 
	// delete a table,this operation needs to disable table firstly and then delete it.
	public static boolean delete(TableName tablename) throws IOException {
		connection = ConnectionFactory.createConnection(configuration);
		admin = connection.getAdmin();
		if (admin.tableExists(tablename)) {
			try {
				admin.disableTable(tablename);
				admin.deleteTable(tablename);
			} catch (Exception ex) {
				ex.printStackTrace();
				return false;
			}
 
		}
		return true;
	}
 
	public static void main(String[] agrs) {
		TableName tablename = TableName.valueOf("hbase_test");
		String columnFamily = "columnVal";
 
		try {
            //Step1: create a new table named "hbase_test".
			HbaseBean.create(tablename,columnFamily);
			//Step2: insert 3 records.
			HbaseBean.put(tablename,"row1",columnFamily,"1","value1");
			HbaseBean.put(tablename,"row2","2","value2");
			HbaseBean.put(tablename,"row3","3","value3");
			//Step3: get value of row1.
			HbaseBean.get(tablename,"row1");
			//Step4: scan the full table.
			HbaseBean.scan(tablename);
			//Step4: delete this table.
			if (HbaseBean.delete(tablename) == true)
				System.out.println("Delete table:" + tablename + " success!");
 
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 在虚拟机主机中启动hadoop进程和hbase进程后运行上述代码。

结果:

c7322b8e4eb5434caf58e79fe401d570.png

 运行结果为下图所示则证明配置成功

4281c59e076b4be79eeb70aa8066792b.png

 

 

配置完成 

 

 

原文地址:https://blog.csdn.net/weixin_60263012/article/details/127098651

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读301次。你可以使用Thrift客户端来测试HBase Thrift服务。例如,在Python中,你可以使用。请确保你的HBase伪集群已正确配置并且Thrift服务已经启动。这将在你的伪集群中启动HBase Thrift服务。库或者直接使用Thrift接口。进入HBase的安装目录,找到。请根据需要进行相应的配置。这将停止Thrift服务。_hbase 单机 thrift 配置
文章浏览阅读565次。hive和hbase数据迁移_hive转hbase
文章浏览阅读707次。基于单机版安装HBase,前置条件为Hadoop安装完成,安装Hadoop可以参考链接,Hadoop单机安装。地址:https://dlcdn.apache.org/hbase/2.4.13/hbase-2.4.13-src.tar.gz2.解压缩文件3.进入到conf目录下4.修改配置文件 hbase-env.sh示例:示例:6.修改配置文件 hbase-site.xml示例:8.访问页面访问你所以在服务器的16010端口,查看页面以上就是单机版安装HBase的内容,后续_hbase 2.4.13下载
文章浏览阅读301次。linux集群搭建-HBase_linux中在/home目录下创建目录hbase
文章浏览阅读933次。中没有库的概念,说一个数据说的是哪一个名称空间下的那一张表下的哪一个行键的哪一个列族下面的哪一个列对应的是这个数据。注意:put数据需要指定往哪个命名空间的哪个表的哪个rowKey的哪个列族的哪个列中put数据,put的值是什么。注意:put数据需要指定往哪个命名空间的哪个表的哪个rowKey的哪个列族的哪个列中put数据,put的值是什么。注意:put数据需要指定往哪个命名空间的哪个表的哪个rowKey的哪个列族的哪个列中put数据,put的值是什么。操作Hbase系统DDL,对名称空间等进行操作。_hbase中报错undefined method for main:object
文章浏览阅读1k次,点赞16次,收藏21次。整理和梳理日常hbase的监控核心指标,作为经验沉淀_hbase 对应promethus指标名
文章浏览阅读1.5k次,点赞45次,收藏20次。今天把之前学习Hbase的入门基础知识笔记翻出来了,为了不忘记也是帮助身边的小伙伴,我把他又整理了下放了出来给大家,希望对HBASE一知半解的小伙伴,能够对Hbase有一个清晰的认识,好了废话不多说,进入正题。以上内容就是初的识HBase 入门知识,包含了hbase的由来,特性,物理存储,逻辑存储模型,以及优缺点,应用场景这些内容,相信后面在使用或更深入的研究Hbase打下了良好的基础,后面的更深入的学习内容,看计划安排在后面的文章中进行更新。
文章浏览阅读655次。HDFS,适合运行在通用硬件上的分布式文件系统,是一个高度容错性的系统,适合部署在廉价的机器上。Hbase,是一个分布式的、面向列的开源数据库,适合于非结构化数据存储。MapReduce,一种编程模型,方便编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。Chukwa,是一个开源的用于监控大型分布式系统的数据收集系统。_开源非结构化数据存储
文章浏览阅读1.9k次。mongodb和hbase的区别和应用场景_hbase和mongodb的区别
文章浏览阅读1.2k次。Hbase入门篇01---基本概念和部署教程_hbase教程
文章浏览阅读1.6k次,点赞19次,收藏25次。hbase相关内容
文章浏览阅读942次,点赞16次,收藏20次。在hbase1.x中transition是令广大大数据运维人员头疼的一个话题,因为,region 的状态转移涉及到了三个核心组件,分别为:hbase master,zookeeper和hbase 的regionserver,这三个组件中的某一个region的状态都是一致的情况下,这个region 才算是正常,状态转移过程及其复杂,hbase 集群很容易出现RIT。好消息是,hbase2.x中有个工具HBCK2,这个工具可不是简单的hbase1.x中hbck 的升级,变化有点大,详细变化请参考帮助文档(
文章浏览阅读1k次。在HBase中,Region分裂是一种自动的机制,用于在Region大小达到一定阈值时将其分裂成两个Region,以便更好地管理数据。HBase中的Region大小是可以配置的,通过设置HBase表的最小和最大Region大小来控制。需要注意的是,禁止Region分裂后,当表的大小达到一定阈值时,数据将不再分裂成新的Region,因此需要根据实际需求进行调整。需要注意的是,禁止Region分裂后,当表的大小达到一定阈值时,数据将不再分裂成新的Region,因此需要根据实际需求进行调整。_hbase region大小
文章浏览阅读737次。可以看出,HBase作为数据仓库的一种补充,可以用于存储和管理大量数据,以便快速地分析和查询。是一种基于数据库的形式,用于存储和管理大量数据,以便快速地分析和查询。例如,可以使用HBase存储一些用户行为数据,然后进行分析,以便更好地了解用户行为和需求。其次,需要配置HBase相关的环境变量,例如JAVA_HOME、HBASE_HOME等。HBase可以用于存储结构化和非结构化数据,包括文本、图像、视频等。例如,可以使用HBase存储一些传感器数据,然后进行实时分析和处理。一、HBase集群环境搭建。_用hbase 搭建数仓
文章浏览阅读1.9k次。Data。_springboot整合hbase
文章浏览阅读880次,点赞23次,收藏20次。etc/abrt下的两个文件,分别是:abrt-action-save-package-data.conf 和 abrt.conf,修改内容如下。我们后面排查的时候去查看/run/cloudera-scm-agent/process/2325-hbase-REGIONSERVER下是否有。发现有个hs_err_pid15967.log JVM生成的错误日志,那么把这个日志下载查看,返现日志这么写的。接下来就等下一次hbase的节点挂了之后查看转储文件,转储文件在/var/sqool/abrt下。_regionserver 退出 没有错误日志
文章浏览阅读1.7k次。以下命令都需要在Hbase Shell中运行:Hbase信息status:服务器状态version:版本表操作查看所有表:list表基本信息:describe "表名称"查看表是否存在:exists '表名称'创建表:create '表名称', '列族1', '列族2', '列族3'删除表:首先禁用表:disable '表名称'然后删除表:drop '表名称'修改表:表数据操作查看所有数据:scan "表名称"..._hbase sehll怎么看登录的是哪个hbase
文章浏览阅读885次,点赞18次,收藏21次。在HBase中执行查询操作通常使用HBase Shell或编程语言API(如Java或Python)来执行。使用编程语言API,您可以使用相应的HBase客户端库来执行查询操作。这是一个简单的Java代码示例,演示了如何使用HBase Java API进行单行查询。这些示例仅为基本查询操作,HBase Shell还提供其他高级查询功能,如按时间戳过滤,使用正则表达式进行查询等。请注意,这只是HBase查询的基本示例,您可以根据实际需求和HBase的数据模型进行更复杂的查询操作。
文章浏览阅读7.3k次,点赞7次,收藏28次。找到hbase的bin目录并进入,执行启动hbase hmaster命令。问题原因 hmaster挂了 ,需要重新启动hmaster才行。hbase shell输入命令出现如下问题。_keepererrorcode = nonode for /hbase/master
文章浏览阅读1.3k次。三次信息化浪潮。_大数据应用开发技术笔记