Hbase

概述

Hbase是一个基于Hadoop之上的数据库服务,该数据库是一个分布式、可扩展的大的数据仓库。当您需要对大数据进行随机,实时读/写访问时,请使用Apache HBase™(HDFS虽然可以存储海量数据,但是对数据的管理粒度比较粗糙,只支持对文件的上传下载,并不支持对文件内容行记录级别的修改)。Apache HBase是一个开源,分布式,版本化,非关系型数据库,模仿了谷歌的Bigtable,正如Bigtable利用Google文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS之上提供类似Bigtable的功能。

HBase和HDFS关系&区别?
在这里插入图片描述

Hbase是构建在HDFS之上的一个数据库服务,能够使得用户通过HBase数据库服务间接的操作HDFS,能够使得用户对HDFS上的数据实现CRUD操作(细粒度操作)。

Hbase特性-官方

  • 线性和模块化扩展。
  • 严格一致 reads 和 writes.
  • 表的自动和可配置分片(自动分区)
  • RegionServers之间的自动故障转移支持。
  • 方便的基类,用于使用Apache HBase表支持Hadoop MapReduce作业。
  • 易于使用的Java API,用于客户端访问。
  • Block cache 和 Bloom Filters 以进行实时查询。

列存储

NoSQL:泛指非关系型数据通常包含以下类型:key-value型文档型-JSON基于列型图形关系存储。每一种NoSQL产品彼此之间没有任何关系,差异很大基本上彼此之间不能够相互替换。

基于列型使用场景:
在这里插入图片描述

hbase支持存储数十亿级别的数据,但是Hbase不支持复杂查询和事物操作。因此Hbase虽然存储海量数据,但是基于海量数据的查询是非常有限的。

列存储和行存储区别?
在这里插入图片描述

Hbase安装

  • 安装好HDFS,并且保证HDFS正常运行
  • 必须配置HADOOP_HOME,因为HBase需要通过该变量定位HADOOP服务
  • 安装Zookeeper(存储集群的元数据信息HMaster和HRegionServer)
[root@CentOS ~]# tar -zxf zookeeper-3.4.6.tar.gz  -C /usr/
[root@CentOS ~]# mkdir zkdata
[root@CentOS ~]# touch /usr/zookeeper-3.4.6/conf/zoo.cfg
[root@CentOS ~]# vi /usr/zookeeper-3.4.6/conf/zoo.cfg
tickTime=2000
dataDir=/root/zkdata
clientPort=2181
[root@CentOS ~]# /usr/zookeeper-3.4.6/bin/zkServer.sh start zoo.cfg
JMX enabled by default
Using config: /usr/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@CentOS ~]# /usr/zookeeper-3.4.6/bin/zkServer.sh status zoo.cfg
JMX enabled by default
Using config: /usr/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: standalone
  • 安装配置hbase
[root@CentOS ~]# tar -zxf hbase-1.2.4-bin.tar.gz -C /usr/
[root@CentOS ~]# vi /usr/hbase-1.2.4/conf/hbase-site.xml<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>hbase.rootdir</name><value>hdfs://CentOS:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.quorum</name><value>CentOS</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property>
</configuration>

修改regionservers文本配置文件

[root@CentOS ~]# vi /usr/hbase-1.2.4/conf/regionservers
CentOS

配置*.bashrc*文件

[root@CentOS ~]# vi .bashrcHADOOP_CLASSPATH=/root/mysql-connector-java-5.1.46.jar
HADOOP_HOME=/usr/hadoop-2.6.0
JAVA_HOME=/usr/java/latest
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
CLASSPATH=.
HBASE_MANAGES_ZK=false
export JAVA_HOME
export PATH
export CLASSPATH
export HADOOP_HOME
export HADOOP_CLASSPATH
export HBASE_MANAGES_ZK
[root@CentOS ~]# source .bashrc

启动HBase服务

[root@CentOS ~]# cd /usr/hbase-1.2.4/
[root@CentOS hbase-1.2.4]# ./bin/start-hbase.sh
[root@CentOS hbase-1.2.4]# jps
1667 DataNode
1844 SecondaryNameNode
1429 QuorumPeerMain
2533 Jps
2245 HRegionServer
2118 HMaster
1578 NameNode

地址栏输入:http://ip:16010 查看启动UI 界面

在这里插入图片描述

Hbase Shell

  • 链接Hbase Shell
[root@CentOS hbase-1.2.4]# ./bin/hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hbase-1.2.4/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.4, rUnknown, Wed Feb 15 18:58:00 CST 2017hbase(main):001:0>

用户可以通过help查看系统脚本命令hbase(main):001:0> help

常用命令

status, table_help, version, whoami

hbase(main):003:0> status
1 active master, 0 backup masters, 1 servers, 0 dead, 2.0000 average load
hbase(main):004:0> whoami
root (auth:SIMPLE)groups: roothbase(main):005:0> version
1.2.4, rUnknown, Wed Feb 15 18:58:00 CST 2017

namespace:命名空间等价传统数据中的database

alter_namespace, create_namespace, describe_namespace, drop_namespace, list_namespace, list_namespace_tables

hbase(main):007:0> create_namespace 'baizhi',{'user'=>'zs'}
0 row(s) in 0.3920 secondshbase(main):009:0> alter_namespace 'baizhi', {METHOD => 'set', 'sex' => 'true'}
0 row(s) in 0.1430 secondshbase(main):010:0> describe_namespace 'baizhi'
DESCRIPTION
{NAME => 'baizhi', sex => 'true', user => 'zs'}
1 row(s) in 0.0050 secondshbase(main):011:0>  alter_namespace 'baizhi',{METHOD => 'unset', NAME=>'sex'}
0 row(s) in 0.1140 secondshbase(main):013:0> list_namespace
NAMESPACE
baizhi
default
hbase
3 row(s) in 0.1790 secondshbase(main):015:0> list_namespace '^b.*'
NAMESPACE
baizhi
1 row(s) in 0.0160 secondshbase(main):016:0> list_namespace_tables 'hbase'
TABLE
meta
namespace
2 row(s) in 0.1510 seconds

ddl命名:data define languge 数据定义命令,涵盖建表、建库命令

alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, locate_region, show_filters

hbase(main):019:0> create 'baizhi:t_user',{NAME=>'cf1',VERSIONS=>3},{NAME=>'cf2',TTL=>300}
0 row(s) in 2.9600 seconds=> Hbase::Table - baizhi:t_userhbase(main):024:0> list
TABLE
baizhi:t_user
1 row(s) in 0.0560 seconds=> ["baizhi:t_user"]hbase(main):028:0> disable_all 'baizhi:t_u.*'
baizhi:t_userDisable the above 1 tables (y/n)?
y
1 tables successfully disabledhbase(main):029:0> drop
drop             drop_all         drop_namespace
hbase(main):029:0> drop_all 'baizhi:t_u.*'
baizhi:t_userDrop the above 1 tables (y/n)?
y
1 tables successfully droppedhbase(main):030:0> list
TABLE
0 row(s) in 0.0070 seconds=> []hbase(main):032:0> exists 'baizhi:t_user'
Table baizhi:t_user does not exist
0 row(s) in 0.0210 seconds

dml data manage language 数据管理语言,通常是一些数据库的CRUD操作

append, count, delete, deleteall, get, get_counter, get_splits, incr, put, scan, truncate, truncate_preserve


hbase(main):001:0> count 'baizhi:t_user'
0 row(s) in 1.8630 seconds=> 0hbase(main):002:0> t = get_table 'baizhi:t_user'
0 row(s) in 0.0000 seconds=> Hbase::Table - baizhi:t_user
hbase(main):003:0> t.count
0 row(s) in 0.1140 seconds
=> 0

put

hbase(main):004:0> put 'baizhi:t_user','001','cf1:name','zhangsan'
0 row(s) in 0.7430 secondshbase(main):005:0> put 'baizhi:t_user','001','cf1:age',18
0 row(s) in 0.1120 seconds
# 修改
hbase(main):006:0> put 'baizhi:t_user','001','cf1:age',20 
0 row(s) in 0.0720 seconds

get

hbase(main):008:0> get 'baizhi:t_user','001'
COLUMN                              CELLcf1:age                            timestamp=1553961219305, value=20cf1:name                           timestamp=1553961181804, value=zhangsanhbase(main):009:0> get 'baizhi:t_user','001',{COLUMN=>'cf1',VERSIONS=>3}
COLUMN                              CELLcf1:age                            timestamp=1553961219305, value=20cf1:age                            timestamp=1553961198084, value=18cf1:name                           timestamp=1553961181804, value=zhangsan
3 row(s) in 0.1540 secondshbase(main):010:0> get 'baizhi:t_user','001',{COLUMN=>'cf1',TIMESTAMP=>1553961198084}
COLUMN                              CELLcf1:age                            timestamp=1553961198084, value=18
1 row(s) in 0.0900 secondshbase(main):015:0> get 'baizhi:t_user','001',{COLUMN=>'cf1',TIMERANGE=>[1553961198084,1553961219306],VERSIONS=>3}
COLUMN                              CELLcf1:age                            timestamp=1553961219305, value=20cf1:age                            timestamp=1553961198084, value=18
2 row(s) in 0.0180 secondshbase(main):018:0> get 'baizhi:t_user','001',{COLUMN=>'cf1',FILTER => "ValueFilter(=, 'binary:zhangsan')"}
COLUMN                              CELLcf1:name                           timestamp=1553961181804, value=zhangsan
1 row(s) in 0.0550 secondshbase(main):019:0> get 'baizhi:t_user','001',{COLUMN=>'cf1',FILTER => "ValueFilter(=, 'substring:zhang')"}
COLUMN                              CELLcf1:name                           timestamp=1553961181804, value=zhangsan
1 row(s) in 0.0780 seconds

delete/deleteall

# 删除指定版本之前的所以cell
hbase(main):027:0> delete 'baizhi:t_user','001','cf1:age',1553961899630
0 row(s) in 0.1020 seconds
# 删除cf1:age的所有单元格
hbase(main):031:0> delete 'baizhi:t_user','001','cf1:age'
0 row(s) in 0.0180 secondshbase(main):034:0> deleteall 'baizhi:t_user','001'
0 row(s) in 0.0360 secondshbase(main):035:0> t.count
0 row(s) in 0.0450 seconds
=> 0
hbase(main):036:0> get 'baizhi:t_user','001',{COLUMN=>'cf1',VERSIONS=>3}
COLUMN                              CELL
0 row(s) in 0.0130 seconds

scan

hbase(main):045:0> scan 'baizhi:t_user'
ROW                                 COLUMN+CELL001                                column=cf1:age, timestamp=1553962118964, value=21001                                column=cf1:name, timestamp=1553962147916, value=zs002                                column=cf1:age, timestamp=1553962166894, value=19002                                column=cf1:name, timestamp=1553962157743, value=ls003                                column=cf1:name, timestamp=1553962203754, value=zl005                                column=cf1:age, timestamp=1553962179379, value=19005                                column=cf1:name, timestamp=1553962192054, value=wwhbase(main):054:0> scan 'baizhi:t_user',{ LIMIT => 2,STARTROW=>"003",REVERSED=>true}
ROW                                 COLUMN+CELL003                                column=cf1:name, timestamp=1553962203754, value=zl002                                column=cf1:age, timestamp=1553962166894, value=19002                                column=cf1:name, timestamp=1553962157743, value=lshbase(main):058:0> scan 'baizhi:t_user',{ LIMIT => 2,STARTROW=>"003",REVERSED=>true,VERSIONS=>3,TIMERANGE=>[1553962157743,1553962203790]}
ROW                                 COLUMN+CELL003                                column=cf1:name, timestamp=1553962203754, value=zl002                                column=cf1:age, timestamp=1553962166894, value=19002                                column=cf1:name, timestamp=1553962157743, value=ls
2 row(s) in 0.0810 seconds

truncate- 截断表

hbase(main):072:0> truncate 'baizhi:t_user'
Truncating 'baizhi:t_user' table (it may take a while):- Disabling table...

Java API操作HBase

maven

<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.6.0</version>
</dependency><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>1.2.4</version>
</dependency>

创建和Hbase链接参数

private static Admin admin;//负责执行DDL
private static Connection conn;//负责执行DML
static {try {Configuration conf = new Configuration();conf.set("hbase.zookeeper.quorum","CentOS");conn= ConnectionFactory.createConnection(conf);admin=conn.getAdmin();} catch (IOException e) {e.printStackTrace();}
}
public static void close() throws IOException {admin.close();conn.close();
}

Namespace操作

//创建
NamespaceDescriptor nd = NamespaceDescriptor.create("zpark").addConfiguration("user","zhansgan").build();
admin.createNamespace(nd);
//查看
NamespaceDescriptor[] nds = admin.listNamespaceDescriptors();
for (NamespaceDescriptor nd : nds) {System.out.println(nd.getName());
}
//删除admin.deleteNamespace("zpark");

Table先关操作(重点)

TableName tname=TableName.valueOf("zpark:t_user");
HTableDescriptor td = new HTableDescriptor(tname);//构建cf1、cf2
HColumnDescriptor cf1 = new HColumnDescriptor("cf1");
cf1.setMaxVersions(3);
//设置ROW+COL索引方式,比默认ROW占用更多的内存信息
cf1.setBloomFilterType(BloomType.ROWCOL);HColumnDescriptor cf2 = new HColumnDescriptor("cf2");
//设置失效时常5min
cf2.setTimeToLive(300);
cf2.setInMemory(true);//设置column family
td.addFamily(cf1);
td.addFamily(cf2);admin.createTable(td);

数据的DML(重点)

//2.447 秒
TableName tname = TableName.valueOf("zpark:t_user");
Table table = conn.getTable(tname);
//构建PUT指令
for(int i=0;i<1000;i++){DecimalFormat df = new DecimalFormat("0000");String rowKey = df.format(i);Put put=new Put(rowKey.getBytes());put.addColumn("cf1".getBytes(),"name".getBytes(), Bytes.toBytes("USER"+rowKey));put.addColumn("cf1".getBytes(),"age".getBytes(), Bytes.toBytes(i+""));put.addColumn("cf1".getBytes(),"sex".getBytes(), Bytes.toBytes((i%4==0)+""));put.addColumn("cf1".getBytes(),"salary".getBytes(), Bytes.toBytes(1000+(i/100.0)*100+""));table.put(put);
}
table.close();

批量插入

TableName tname = TableName.valueOf("zpark:t_user");
BufferedMutator bufferedMutator=conn.getBufferedMutator(tname);
//构建PUT指令 0.549 秒
long begin=System.currentTimeMillis();
for(int i=0;i<1000;i++){DecimalFormat df = new DecimalFormat("0000");String rowKey = df.format(i);Put put=new Put(rowKey.getBytes());put.addColumn("cf1".getBytes(),"name".getBytes(), Bytes.toBytes("USER"+rowKey));put.addColumn("cf1".getBytes(),"age".getBytes(), Bytes.toBytes(i+""));put.addColumn("cf1".getBytes(),"sex".getBytes(), Bytes.toBytes((i%4==0)+""));put.addColumn("cf1".getBytes(),"salary".getBytes(), Bytes.toBytes(1000+(i/100.0)*100+""));bufferedMutator.mutate(put);if(i%500==0){bufferedMutator.flush();}
}
long end=System.currentTimeMillis();
bufferedMutator.close();
System.out.println(((end-begin)/1000.0)+" 秒");

GET

TableName tname = TableName.valueOf("zpark:t_user");
Table table = conn.getTable(tname);Get get=new Get("0010".getBytes());Result result = table.get(get);
while (result.advance()){Cell cell = result.current();String row = Bytes.toString(CellUtil.cloneRow(cell));String cf = Bytes.toString(CellUtil.cloneFamily(cell));String col = Bytes.toString(CellUtil.cloneQualifier(cell));String v = Bytes.toString(CellUtil.cloneValue(cell));long ts=cell.getTimestamp();System.out.println(row+"=>"+cf+":"+col+"\t"+v+" ts:"+ts);
}
table.close();
TableName tname = TableName.valueOf("zpark:t_user");
Table table = conn.getTable(tname);Get get=new Get("0010".getBytes());Result result = table.get(get);
String row=Bytes.toString(result.getRow());
String name = Bytes.toString(result.getValue("cf1".getBytes(), "name".getBytes()));
String age = Bytes.toString(result.getValue("cf1".getBytes(), "age".getBytes()));
String sex = Bytes.toString(result.getValue("cf1".getBytes(), "sex".getBytes()));
String salary = Bytes.toString(result.getValue("cf1".getBytes(), "salary".getBytes()));
System.out.println(row+"\t"+name+" "+age+" "+sex+" "+salary);
table.close();

Scan

TableName tname = TableName.valueOf("zpark:t_user");
Table table = conn.getTable(tname);
Scan scan = new Scan();scan.setStartRow("0000".getBytes());
scan.setStopRow("0200".getBytes());
scan.addFamily("cf1".getBytes());
Filter filter1=new RowFilter(CompareFilter.CompareOp.EQUAL,new RegexStringComparator("09$"));
Filter filter2=new RowFilter(CompareFilter.CompareOp.EQUAL,new SubstringComparator("80"));
FilterList filter=new FilterList(FilterList.Operator.MUST_PASS_ONE,filter1,filter2);
scan.setFilter(filter);ResultScanner rs = table.getScanner(scan);for (Result result : rs) {String row=Bytes.toString(result.getRow());String name = Bytes.toString(result.getValue("cf1".getBytes(), "name".getBytes()));String age = Bytes.toString(result.getValue("cf1".getBytes(), "age".getBytes()));String sex = Bytes.toString(result.getValue("cf1".getBytes(), "sex".getBytes()));String salary = Bytes.toString(result.getValue("cf1".getBytes(), "salary".getBytes()));System.out.println(row+"\t"+name+" "+age+" "+sex+" "+salary);
}table.close();

MapReduce 集成 Hbase(重点)

Jar包依赖

Hbase 0.90.x版本以后,程序可以自主解决运行时依赖,底层通过conf.set(“tmpjars”,’…’),所以用户无需使用-libjars参数,但是用户需要解决系统的提交依赖,因为系统如果读取HBase上的数据在任务初期需要计算任务切片,此时需要配置HADOOP_CLASSPATH

[root@CentOS ~]# vi .bashrcHADOOP_HOME=/usr/hadoop-2.6.0
JAVA_HOME=/usr/java/latest
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
CLASSPATH=.
HBASE_MANAGES_ZK=false
export JAVA_HOME
export PATH
export CLASSPATH
export HADOOP_HOME
export HBASE_MANAGES_ZK
HADOOP_CLASSPATH=/root/mysql-connector-java-5.1.46.jar:`/usr/hbase-1.2.4/bin/hbase classpath`
export HADOOP_CLASSPATH
[root@CentOS ~]# source .bashrc

Maven


<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.6.0</version>
</dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-hdfs</artifactId><version>2.6.0</version>
</dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-mapreduce-client-jobclient</artifactId><version>2.6.0</version>
</dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-mapreduce-client-core</artifactId><version>2.6.0</version>
</dependency>
<!--Hbase依赖-->
<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>1.2.4</version>
</dependency><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-server</artifactId><version>1.2.4</version>
</dependency>

任务提交

public class CustomJobsubmitter extends Configured implements Tool {public int run(String[] args) throws Exception {//1.创建Job实例Configuration conf = getConf();//开启Map端压缩conf.setBoolean("mapreduce.map.output.compress",true);conf.setClass("mapreduce.map.output.compress.codec", GzipCodec.class, CompressionCodec.class);//设置hbase的链接参数conf.set("hbase.zookeeper.quorum","CentOS");Job job=Job.getInstance(conf);job.setJarByClass(CustomJobsubmitter.class);//2.设置数据读入和写出格式化job.setInputFormatClass(TableInputFormat.class);job.setOutputFormatClass(TableOutputFormat.class);Scan scan = new Scan();scan.addFamily("cf1".getBytes());TableMapReduceUtil.initTableMapperJob("zpark:t_user",scan,UserMapper.class,Text.class,DoubleWritable.class,job);TableMapReduceUtil.initTableReducerJob("zpark:t_result",UserReducer.class,job);job.setNumReduceTasks(1);job.setCombinerClass(UserCombiner.class);job.waitForCompletion(true);return 0;}public static void main(String[] args) throws Exception {ToolRunner.run(new CustomJobsubmitter(),args);}
}

UserMapper

public class UserMapper extends TableMapper<Text, DoubleWritable> {@Overrideprotected void map(ImmutableBytesWritable key, Result value, Context context) throws IOException, InterruptedException {String sex = Bytes.toString(value.getValue("cf1".getBytes(), "sex".getBytes()));Double salary = Double.parseDouble(Bytes.toString(value.getValue("cf1".getBytes(), "salary".getBytes())));context.write(new Text(sex),new DoubleWritable(salary));}
}

UserReduce

public class UserReducer extends TableReducer<Text, DoubleWritable,NullWritable> {@Overrideprotected void reduce(Text key, Iterable<DoubleWritable> values, Context context) throws IOException, InterruptedException {double totalSalary=0.0;for (DoubleWritable value : values) {totalSalary+=value.get();}Put put =new Put(key.getBytes());put.addColumn("cf1".getBytes(),"totalSalary".getBytes(), Bytes.toBytes(totalSalary+""));context.write(null,put);}
}

UserCombiner

public class UserCombiner extends Reducer<Text, DoubleWritable,Text, DoubleWritable> {@Overrideprotected void reduce(Text key, Iterable<DoubleWritable> values, Context context) throws IOException, InterruptedException {double totalSalary=0.0;for (DoubleWritable value : values) {totalSalary+=value.get();}context.write(key,new DoubleWritable(totalSalary));}
}

HBase集群构建

  • 保证所有物理主机的时钟同步,否则集群搭建失败
[root@CentOSX ~]# date -s '2019-04-01 16:24:00'
Mon Apr  1 16:24:00 CST 2019
[root@CentOSX ~]# clock -w
  • 确保HDFS正常启动(参考HDFS集群构建)
  • 搭建HBase集群
[root@CentOSX ~]# tar -zxf hbase-1.2.4-bin.tar.gz -C /usr/
[root@CentOSX ~]# vi /usr/hbase-1.2.4/conf/hbase-site.xml<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>hbase.rootdir</name><value>hdfs://mycluster/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.quorum</name><value>CentOSA,CentOSB,CentOSC</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property>
</configuration>
  • 修改RegionServers
[root@CentOSX ~]# vi /usr/hbase-1.2.4/conf/regionservers
CentOSA
CentOSB
CentOSC
  • 修改环境变量
[root@CentOS ~]# vi .bashrcHADOOP_HOME=/usr/hadoop-2.6.0
JAVA_HOME=/usr/java/latest
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
CLASSPATH=.
export JAVA_HOME
export PATH
export CLASSPATH
export HADOOP_HOMEHBASE_MANAGES_ZK=false
HADOOP_CLASSPATH=`/usr/hbase-1.2.4/bin/hbase classpath`
export HBASE_MANAGES_ZK
export HADOOP_CLASSPATH[root@CentOS ~]# source .bashrc
  • 启动Hbase服务
[root@CentOSX hbase-1.2.4]# ./bin/hbase-daemon.sh start master
[root@CentOSX hbase-1.2.4]# ./bin/hbase-daemon.sh start regionserver

更多精彩内容关注

微信公众账号

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Python_变量交换

    变量交换variable01 = 1 variable02 = 2原理 # temp = variable01 # variable01 = variable02 # variable02 = temppython特有变量交换 variable01, variable02 = variable02, variable01输出 print(variable01) print(variable02)运行结果 2 1...

    2024/4/24 4:55:46
  2. Apache Flink DataStream API之程序结构分析&DataSource(章节二)

    ApacheFlink - 是针对于数据流的状态计算,Flink具有特殊类DataSet和DataStream来表示程序中的数据。您可以将它们视为可以包含重复项的不可变数据集合。在DataSet的情况下,数据是有限的,而对于DataStream,元素的数量可以是无限的。 这些集合在某些关键方面与常规Java集合不…...

    2024/3/29 13:53:12
  3. git创建分支

    创建一个dev分支 1、创建+切换一次完成命令: git checkout -b dev 不好理解,还有一种分开写法 git branch dev git checkout dev2、然后再执行: git branch 执行后会列出所有分支,如果有* 说明就在当前分支下。 3、然后用命令: git add . git commit -m "提交说明&qu…...

    2024/3/29 13:53:13
  4. linux额外笔记

    linux小笔记 1,tap键有提示和补全目录的作用 2,tap键有补全命令的作用...

    2024/3/29 13:53:10
  5. Apache Flink DataStream API之Transformation(章节三)

    DataStream 数据转换 常规操作符 // order zhangsan TV,GAME val env = StreamExecutionEnvironment.createLocalEnvironment() val props = new Properties() props.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,"CentOS:9092,CentOS:9093,CentOS:9094") p…...

    2024/4/14 16:20:30
  6. 贪心算法---会议安排(有限时间召开更多会议,会议不可同时进行)---高级钟点秘书

    贪心策略:每次从剩下的会议中选择具有最早结束时间(最早开始时间+持续时间最短)且与已安排会议相容的会议安排。 #include<iostream> #include<algorithm> using namespace std;struct Meet{int beg;//会议开始的时间 int end;//会议结束的时间int num;//记录会…...

    2024/4/6 18:57:24
  7. rest_rpc应用-从服务器下载文件到本地

    1.rest_rpc:https://github.com/qicosmos/rest_rpc2.服务端:server.cpp#include <iostream> #include <string> #include <fstream> #include <thread> #include "rpc_server.h" using namespace rest_rpc; using namespace rpc_service; s…...

    2024/4/25 19:48:43
  8. 前端工程师面试题汇总(一)

    基础题请你简要介绍一下解决异步回调地狱的方法 请你讲一下js监听对象属性的改变具体是怎么实现的,它们各自有什么特点? 请问你知道一个图片url访问后直接下载怎样实现吗? 请说一下css盒模型 请你说一下web Quality (无障碍) 如果要画一条0.5px的线,你会怎么去实现呢?讲…...

    2024/4/24 19:50:19
  9. # java学习笔记 2020 1/17(二)慕课网 注释

    2020 1/17 伙计们注意啦:常量名一般使用大写字符 eg:final String LOVE=“我爱你”; 类名——首字母大写,且按驼峰命名规则起名,必须有 注释文档注释 /**。。。。。。。。*/ 多行注释 /。。。。。。。。。/ 单行注释 // PS:使用文档注释时还可以使用 javadoc 标记,…...

    2024/3/29 13:53:05
  10. 设计模式——备忘录模式

    备忘录模式@author lisiwen @createTime 2019/12/24​ 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态​ 备忘录模式(Memento)结构图 ​ Originator(发起人):负责创建一个…...

    2024/3/29 13:53:04
  11. Apache Flink Stream API之State & Fault Tolerance(章节四)

    State & Fault Tolerance 针对于流处理的有状态function和operators可以存储流计算过程中的每个Event的计算状态。状态计算是构建精确操作不会或缺的板块。Flink需要获知计算节点的状态,从而使用checkpoint和savepoint机制实现数据的故障恢复和容错。其中Queryable State允…...

    2024/5/3 12:23:53
  12. 为什么要用时间戳?以及Java时间戳(Long)和Date类型的关系、转化与简单使用

    首先,我们要明白,为什么要用时间戳?因为在数据库系统中,不同的数据库对时间类型有不同的解释:在字段类型方面,流行的关系型数据库Oracle和MySQL的date就不能直接兼容转换;字段记录的值方面,也就是数据,可以用数据迁移工具进行转换,但是类型怎么迁移,不同数据库工具有…...

    2024/5/4 1:35:28
  13. windows server 服务器安全加固

    目录账户口令授权审核策略IP协议安全配置设备其他配置操作账户对于管理员账号,要求更改缺省账户名称,并且禁用 guest (来宾) 账号按照用户分配账户,根据系统要求,设定不同的账户和账户组,管理员用户,数据库用户,审计用户,来宾用户等删除或锁定与设备运行、维护等工作无…...

    2024/4/26 1:11:42
  14. 资源链接(仅粉丝可以见)

    计算机基础ShellLinux网络编程数据结构STM32F103...

    2024/4/24 20:25:28
  15. Apache Spark Streaming (章节四)

    Spark Streaming Spark Streaming是核心Spark API的扩展,可实现实时数据流的可扩展,高吞吐量,容错流处理。数据可以从许多来源(如Kafka,Flume,Kinesis或TCP套接字)中获取,并且可以使用以高级函数(如map,reduce,join和window)表示的复杂算法进行处理。最后,处理后的…...

    2024/4/10 14:53:28
  16. 图片格式转换——将别的服务器图片上传到自己服务器

    1.先将图片下载到本地* url 图片地址* id 图片识别标识* D:\\images\\ 存储地址function savePic($url, $id) {$file = file_get_contents($url);$res = file_put_contents(D:\\images\\ . $id . .jpg, $file);return $res; }2.利用转换工具将图片转换为自己需要的格式,我用…...

    2024/4/16 5:01:05
  17. 问题 A: C语言11.1 codeup

    题目描述 完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。结构体可以定义成如下的格式: struct person { char name[20]; int count; }lead…...

    2024/3/29 6:59:57
  18. csdn使用扩展项-

    红色 <font color=red size=5>红色</font>黑体abc123 <font face="黑体">黑体abc123</font>宋体abc123 <font face="宋体">宋体abc123</font>全角缩进: &emsp;&emsp;半角缩进: &ensp;&ensp;绿色6号…...

    2024/4/25 1:43:42
  19. QT5 操作mysql 提示QMYSQL driver not loaded

    在使用QT5.8.0操作远程MYSQL数据库时,总是打开失败,提示MYSQL驱动没有被加载,如下为部分示例代码:#include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> #include <QDebug>QString hostName = "localhost"; // MYSQL主机…...

    2024/4/29 15:05:05
  20. (枚举)POJ_1543_Perfect Cubes

    题目链接http://poj.org/problem?id=1543大致题意人有体力、情商、智商的高峰日子,他们分别每隔23天、28天和33天出现一次。对于每个人,我们想知道何时三个高峰出现在同一天。给定三个高峰出现的日子p、e和i,再给定另一个指定的日子d,你的任务是输出日子d之后,下一次三个…...

    2024/3/29 13:52:58

最新文章

  1. Go语言基础语法(一):变量的声明与赋值

    四种声明 变量声明 Go语言是静态类型语言&#xff0c;因此变量&#xff08;variable&#xff09;是有明确类型的&#xff0c;编译器也会检查变量类型的正确性。在数学概念中&#xff0c;变量表示没有固定值且可改变的数。但从计算机系统实现角度来看&#xff0c;变量是一段或…...

    2024/5/4 9:20:01
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 关于搭建elk日志平台

    我这边是使用docker compose进行的搭建 所以在使用的时候 需要自行提前安装docker以及dockercompose环境 或者从官网下载对应安装包也可以 具体文章看下一章节&#xff1a;【ELK】搭建elk日志平台&#xff08;使用docker-compose&#xff09;&#xff0c;并接入springboot项目...

    2024/5/2 20:59:18
  4. java的gradle,maven工程中使用selenium

    一、下载selenium库 &#xff08;1&#xff09;gradle工程 工程中会有一个build.gradle.kts的文件&#xff0c;这个文件可以定制 Gradle 的行为 在文件中添加下面代码&#xff0c;然后sync // implementation ("org.seleniumhq.selenium:selenium-java:4.19.1") …...

    2024/5/3 23:47:09
  5. Redis精品案例解析:Redis实现持久化主要有两种方式

    Redis实现持久化主要有两种方式&#xff1a;RDB&#xff08;Redis DataBase&#xff09;和AOF&#xff08;Append Only File&#xff09;。这两种方式各有优缺点&#xff0c;适用于不同的使用场景。 1. RDB持久化 RDB持久化是通过创建一个二进制的dump文件来保存当前Redis数据…...

    2024/5/2 2:36:32
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/3 23:10:03
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/4 2:59:34
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57