环境:
[hadoop@big-master2 ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
## bigdata cluster ##
192.168.41.20 big-master1 #bigdata1 namenode1,zookeeper,resourcemanager
192.168.41.21 big-master2 #bigdata2 namenode2,zookeeper,slave,resourcemanager
192.168.41.22 big-slave01 #bigdata3 datanode1,zookeeper,slave
192.168.41.25 big-slave02 #bigdata4 datanode2,zookeeper,slave
192.168.41.27 big-slave03 #bigdata5 datanode3,zookeeper,slave
HMaster是Master Server的实现,负责监控集群中的RegionServer实例,同时是所有metadata改变的接口,在集群中,通常运行在NameNode上面。
HMasterInterface暴露的接口,Table(createTable, modifyTable, removeTable, enable, disable),ColumnFamily (addColumn, modifyColumn, removeColumn),Region (move, assign, unassign)
Master运行的后台线程:LoadBalancer线程,控制region来平衡集群的负载。CatalogJanitor线程,周期性的检查hbase:meta表。
HRegionServer是RegionServer的实现,服务和管理Regions,集群中RegionServer运行在DataNode
HRegionRegionInterface暴露接口:Data (get, put, delete, next, etc.),Region (splitRegion, compactRegion, etc.)
RegionServer后台线程:CompactSplitThread,MajorCompactionChecker,MemStoreFlusher,LogRoller
Regions,代表table,Region有多个Store(列簇),Store有一个Memstore和多个StoreFiles(HFiles),StoreFiles的底层是Block。
存储设计
在Hbase中,表被分割成多个更小的块然后分散的存储在不同的服务器上,这些小块叫做Regions,存放Regions的地方叫做RegionServer。Master进程负责处理不同的RegionServer之间的Region的分发。在Hbase实现中HRegionServer和HRegion类代表RegionServer和Region。HRegionServer除了包含一些HRegions之外,还处理两种类型的文件用于数据存储
HLog, 预写日志文件,也叫做WAL(write-ahead log)
HFile 真实的数据存储文件
HLog
MasterProcWAL:HMaster记录管理操作,比如解决冲突的服务器,表创建和其它DDLs等操作到它的WAL文件中,这个WALs存储在MasterProcWALs目录下,它不像RegionServer的WALs,HMaster的WAL也支持弹性操作,就是如果Master服务器挂了,其它的Master接管的时候继续操作这个文件。
WAL记录所有的Hbase数据改变,如果一个RegionServer在MemStore进行FLush的时候挂掉了,WAL可以保证数据的改变被应用到。如果写WAL失败了,那么修改数据的完整操作就是失败的。
通常情况,每个RegionServer只有一个WAL实例。在2.0之前,WAL的实现叫做HLog
WAL位于/hbase/WALs/目录下
MultiWAL: 如果每个RegionServer只有一个WAL,由于HDFS必须是连续的,导致必须写WAL连续的,然后出现性能问题。MultiWAL可以让RegionServer同时写多个WAL并行的,通过HDFS底层的多管道,最终提升总的吞吐量,但是不会提升单个Region的吞吐量。
// 启用multiwal hbase.wal.provider multiwal
###############################################
----------- 开始 ---------
###############################################
## 自定义部署 Hbase 分布式定义 ##
big-master1 hmaster1
big-master2 hmaster2
big-slave01 HRegionServer1 ## data
big-slave02 HRegionServer2 ## data
big-slave03 HRegionServer3 ## data
###########################################
下载地址:官方: https://mirror.bit.edu.cn/apache/hbase/
#################################################
作为一个 IT 农,是不是或多或少有些强迫症,比如用软件就用最新的~
---- 因为太懒,所以一些图片不想单独上传,排版,所以,将就将就吧。
HBase 和 JDK 兼容性
HBase Version
JDK 7
JDK 8
JDK 9
JDK 10
2.0
Not Supported
yes
Not Supported
Not Supported
1.3
yes
yes
Not Supported
Not Supported
1.2
yes
yes
Not Supported
Not Supported
从该表可以看出,JDK建议用 JDK7 或者 JDK8。但用 JDK7 时,HBase2.0 不支持。当然也没事,因为大多数企业生产环境,还是 1.x 版本。
HBase 和 Hadoop 兼容性
Hadoop version support matrix
"S" = supported
"X" = not supported
"NT" = Not tested
HBase-1.2.x
HBase-1.3.x
HBase-1.5.x
HBase-2.0.x
HBase-2.1.x
Hadoop-2.4.x
S
S
X
X
X
Hadoop-2.5.x
S
S
X
X
X
Hadoop-2.6.0
X
X
X
X
X
Hadoop-2.6.1+
S
S
X
S
X
Hadoop-2.7.0
X
X
X
X
X
Hadoop-2.7.1+
S
S
S
S
S
Hadoop-2.8.[0-1]
X
X
X
X
X
Hadoop-2.8.2
NT
NT
NT
NT
NT
Hadoop-2.8.3+
NT
NT
NT
S
S
Hadoop-2.9.0
X
X
X
X
X
Hadoop-2.9.1+
NT
NT
NT
NT
NT
Hadoop-3.0.x
X
X
X
X
X
Hadoop-3.1.0
X
X
X
X
X
从该表可以看出,学习 HBase,兼容各个版本的 Hadoop 版本还是2.7.1+ 系列,所以 2.8.x、2.9.x、3.x并不是最好的选择。
Hadoop 和 JDK 兼容性
Version 2.7 and later of Apache Hadoop requires Java 7. It is built and tested on both OpenJDK and Oracle (HotSpot)'s JDK/JRE.
Earlier versions (2.6 and earlier) support Java 6.
Here are the known JDKs in use or which have been tested:
Version
Status
Reported By
oracle 1.7.0_15
Good
Cloudera
oracle 1.7.0_21
Good (4)
Hortonworks
oracle 1.7.0_45
Good
Pivotal
openjdk 1.7.0_09-icedtea
Good (5)
Hortonworks
oracle 1.6.0_16
Avoid (1)
Cloudera
oracle 1.6.0_18
Avoid
Many
oracle 1.6.0_19
Avoid
Many
oracle 1.6.0_20
Good (2)
LinkedIn, Cloudera
oracle 1.6.0_21
Good (2)
Yahoo!, Cloudera
oracle 1.6.0_24
Good
Cloudera
oracle 1.6.0_26
Good(2)
Hortonworks, Cloudera
oracle 1.6.0_28
Good
LinkedIn
oracle 1.6.0_31
Good(3, 4)
Cloudera, Hortonworks
从该表可以看出,Hadoop 版本所依赖 JDK 环境,7 版本已经过测试,8 目前在官网无体现。所以还是选择 JDK7为好,而且是 JDK7 的中间版本,并不是最新版本。
总结
综上,建议安装:
JDK:Java SE Runtime Environment 7u45(当然其它 7版本 系列也可尝试,问题应该不大,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html)
Hadoop:2.7.1+(下载地址:https://archive.apache.org/dist/hadoop/common/)
HBase:1.x 系列(下载地址:http://archive.apache.org/dist/hbase/)
#####################
开始部署: -- 我这里是基于hdfs,zookeeper,时间同步,ssh等效性 等集群已经部署到位。
(一)
下载,解压:
gunzip hbase-2.2.5-bin.tar.gz
tar -xvf hbase-2.2.5-bin.tar -C /usr/local/
cd /usr/local/
mv hbase-2.2.5 hbase
[root@big-master1 ~]# cd /usr/local/hbase/
[root@big-master1 hbase]# ls
bin CHANGES.md conf hbase-webapps LEGAL lib LICENSE.txt logs NOTICE.txt README.txt RELEASENOTES.md
(二)
配置参数:
1, /etc/profile 配置hbase全局变量。
### JDK ###
JAVA_HOME=/usr/local/jdk1.8.0_251
CLASSPATH=$JAVA_HOME/lib/tools.jar$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
### zookeeper ##
export ZK_HOME=/usr/local/zookeeper
export PATH=$ZK_HOME/bin:$PATH
### hadoop ##
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH:$HADOOP_HOME/sbin:$PATH
## tools ##
export PATH=/home/hadoop/tools:$PATH
## sqoop ##
export SQOOP_HOME=/usr/local/sqoop
export PATH=$SQOOP_HOME/bin:$PATH
## flume ##
export FLUME_HOME=/usr/local/flume
export PATH=$FLUME_HOME/bin:$PATH
## hbase ##
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH
2, 修改文件$HBASE_HOME/conf/hbase-env.sh,新增修改内容如下:
## JDK 路径
export JAVA_HOME=/usr/local/jdk1.8.0_251
## 关闭hbase 自带的zookeeper
export HBASE_MANAGES_ZK=false
3, 修改文件$HBASE_HOME/conf/regionservers ,新增修改内容如下:
[hadoop@big-master1 conf]$ pwd
/usr/local/hbase/conf
[hadoop@big-master1 conf]$ cat regionservers
big-slave01
big-slave02
big-slave03
4, 修改文件$HBASE_HOME/conf/hbase-site.xml ,新增修改内容如下:
hbase.zookeeper.quorum
big-master1:2181,big-master2:2181,big-slave01:2181,big-slave02:2181,big-slave03:2181
The directory share by RegionServers.
hbase.zookeeper.property.clientPort
2181
hbase.zookeeper.property.dataDir
/data/hbase/zk
Property from ZooKeeper config zoo.cfg. The Directory where the snapshot is stored.
hbase.rootdir
hdfs://cluster1/hbase
The Directory shared by RegionServers.
hbase.cluster.distributed
true
Possible values are false:standalone and pseudo-distributed setups with managed
zookeeper true:fully-distributed with unmanaged zookeeper Quorum(see hbase-env.sh)
5, 将/usr/local/hbase 目录和/etc/profile 文件 拷贝至其他几个节点,big-master2,big-slave01 - big-slave03,并授权 :
[root@big-master1 local]# rsync -avzP /usr/local/hbase big-master2:/usr/local/
[root@big-master1 local]# rsync -avzP /usr/local/hbase big-slave01:/usr/local/
[root@big-master1 local]# rsync -avzP /usr/local/hbase big-slave02:/usr/local/
[root@big-master1 local]# rsync -avzP /usr/local/hbase big-slave03:/usr/local/
6,创建对应的目录:
mkdir -pv /data/hbase/zk
(三)
Hbase 启动及验证:
在big-master1 上启动Hbase 集群服务.
[hadoop@big-master1 ~]$ start-hbase.sh
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.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]
running master, logging to /usr/local/hbase/logs/hbase-hadoop-master-big-master1.out
big-slave02: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-hadoop-regionserver-big-slave02.out
big-slave03: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-hadoop-regionserver-big-slave03.out
big-slave01: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-hadoop-regionserver-big-slave01.out
[hadoop@big-master1 ~]$ jps
30037 JournalNode
10181 HMaster
10438 Jps
4023 ResourceManager
29642 DFSZKFailoverController
29804 NameNode
28141 QuorumPeerMain
在big-master2节点上再启动一个Hmaster进程,构成高可用环境。
[hadoop@big-master2 ~]$ hbase-daemon.sh start master
running master, logging to /usr/local/hbase/logs/hbase-hadoop-master-big-master2.out
[hadoop@big-master2 ~]$ jps
20032 NameNode
20116 JournalNode
20324 DFSZKFailoverController
31540 HMaster
31704 Jps
18830 QuorumPeerMain
2462 ResourceManager
其他slave 节点,直接jps 验证查看即可:
[hadoop@big-slave01 ~]$ jps
10161 NodeManager
28513 Jps
28338 HRegionServer
7702 QuorumPeerMain
8583 DataNode
8686 JournalNode
[hadoop@big-slave02 ~]$ jps
26097 Jps
5187 DataNode
6697 NodeManager
4362 QuorumPeerMain
5290 JournalNode
25869 HRegionServer
[hadoop@big-slave03 ~]$ jps
26193 Jps
4562 QuorumPeerMain
5442 DataNode
26004 HRegionServer
6903 NodeManager
5545 JournalNode
hbase 默认端口为16010 ,直接登陆
http://192.168.41.20:16010/master-status
http://192.168.41.21:16010/master-status
(四)
基本操作:
[root@big-master1 ~]# su - hadoop
Last login: Thu Jun 4 23:34:55 CST 2020 on pts/0
[hadoop@big-master1 ~]$ hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.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
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.2.5, rf76a601273e834267b55c0cda12474590283fd4c, 2020年 05月 21日 星期四 18:34:40 CST
Took 0.0082 seconds
hbase(main):001:0> whoami
hadoop (auth:SIMPLE)
groups: hadoop
Took 0.0332 seconds
hbase(main):002:0> create 'User','info'
Created table User
Took 10.1702 seconds
=> Hbase::Table - User
hbase(main):003:0> list
TABLE
User
1 row(s)
Took 0.0573 seconds
=> ["User"]
--- 以下内容为摘抄写 ------
1. 创建表
语法:create
, {NAME => , VERSIONS => }
创建一个User表,并且有一个info列族
hbase(main):002:0> create 'User','info' 0 row(s) in 1.5890 seconds => Hbase::Table - User
3. 查看所有表
hbase(main):003:0> list TABLE SYSTEM.CATALOG SYSTEM.FUNCTION SYSTEM.SEQUENCE SYSTEM.STATS TEST.USER User 6 row(s) in 0.0340 seconds => ["SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.SEQUENCE", "SYSTEM.STATS", "TEST.USER", "User"]
4. 查看表详情
hbase(main):004:0> describe 'User' Table User is ENABLED User COLUMN FAMILIES DESCRIPTION {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FORE VER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 1 row(s) in 0.1410 seconds hbase(main):025:0> desc 'User' Table User is ENABLED User COLUMN FAMILIES DESCRIPTION {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FORE VER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 1 row(s) in 0.0380 seconds
5. 表修改
删除指定的列族
hbase(main):002:0> alter 'User', 'delete' => 'info' Updating all regions with the new schema... 1/1 regions updated. Done. 0 row(s) in 2.5340 seconds
1. 插入数据
语法:put
,,,
hbase(main):005:0> put 'User', 'row1', 'info:name', 'xiaoming' 0 row(s) in 0.1200 seconds hbase(main):006:0> put 'User', 'row2', 'info:age', '18' 0 row(s) in 0.0170 seconds hbase(main):007:0> put 'User', 'row3', 'info:sex', 'man' 0 row(s) in 0.0030 seconds
2. 根据rowKey查询某个记录
语法:get
,,[,....]
hbase(main):008:0> get 'User', 'row2' COLUMN CELL info:age timestamp=1502368069926, value=18 1 row(s) in 0.0280 seconds hbase(main):028:0> get 'User', 'row3', 'info:sex' COLUMN CELL info:sex timestamp=1502368093636, value=man hbase(main):036:0> get 'User', 'row1', {COLUMN => 'info:name'} COLUMN CELL info:name timestamp=1502368030841, value=xiaoming 1 row(s) in 0.0120 seconds
3. 查询所有记录
语法:scan
, {COLUMNS => [ ,.... ], LIMIT => num}
扫描所有记录
hbase(main):009:0> scan 'User' ROW COLUMN+CELL row1 column=info:name, timestamp=1502368030841, value=xiaoming row2 column=info:age, timestamp=1502368069926, value=18 row3 column=info:sex, timestamp=1502368093636, value=man 3 row(s) in 0.0380 seconds
扫描前2条
hbase(main):037:0> scan 'User', {LIMIT => 2} ROW COLUMN+CELL row1 column=info:name, timestamp=1502368030841, value=xiaoming row2 column=info:age, timestamp=1502368069926, value=18 2 row(s) in 0.0170 seconds
范围查询
hbase(main):011:0> scan 'User', {STARTROW => 'row2'} ROW COLUMN+CELL row2 column=info:age, timestamp=1502368069926, value=18 row3 column=info:sex, timestamp=1502368093636, value=man 2 row(s) in 0.0170 seconds hbase(main):012:0> scan 'User', {STARTROW => 'row2', ENDROW => 'row2'} ROW COLUMN+CELL row2 column=info:age, timestamp=1502368069926, value=18 1 row(s) in 0.0110 seconds hbase(main):013:0> scan 'User', {STARTROW => 'row2', ENDROW => 'row3'} ROW COLUMN+CELL row2 column=info:age, timestamp=1502368069926, value=18 1 row(s) in 0.0120 seconds
另外,还可以添加TIMERANGE和FITLER等高级功能
STARTROW,ENDROW必须大写,否则报错;查询结果不包含等于ENDROW的结果集
4. 统计表记录数
语法:count
, {INTERVAL => intervalNum, CACHE => cacheNum}
INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度
hbase(main):020:0> count 'User' 3 row(s) in 0.0360 seconds => 3
5. 删除
删除列
hbase(main):008:0> delete 'User', 'row1', 'info:age' 0 row(s) in 0.0290 seconds
删除所有行
hbase(main):014:0> deleteall 'User', 'row2' 0 row(s) in 0.0090 seconds
删除表中所有数据
hbase(main):016:0> truncate 'User' Truncating 'User' table (it may take a while): - Disabling table... - Truncating table... 0 row(s) in 3.6610 seconds
1. 禁用表
hbase(main):014:0> disable 'User' 0 row(s) in 2.2660 seconds hbase(main):015:0> describe 'User' Table User is DISABLED User COLUMN FAMILIES DESCRIPTION {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FORE VER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 1 row(s) in 0.0340 seconds hbase(main):016:0> scan 'User', {STARTROW => 'row2', ENDROW => 'row3'} ROW COLUMN+CELL ERROR: User is disabled.
2. 启用表
hbase(main):017:0> enable 'User' 0 row(s) in 1.3470 seconds hbase(main):018:0> describe 'User' Table User is ENABLED User COLUMN FAMILIES DESCRIPTION {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FORE VER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 1 row(s) in 0.0310 seconds hbase(main):019:0> scan 'User', {STARTROW => 'row2', ENDROW => 'row3'} ROW COLUMN+CELL row2 column=info:age, timestamp=1502368069926, value=18 1 row(s) in 0.0280 seconds
3. 测试表是否存在
hbase(main):022:0> exists 'User' Table User does exist 0 row(s) in 0.0150 seconds hbase(main):023:0> exists 'user' Table user does not exist 0 row(s) in 0.0110 seconds hbase(main):024:0> exists user NameError: undefined local variable or method `user' for #
4. 删除表
删除前,必须先disable
hbase(main):030:0> drop 'TEST.USER' ERROR: Table TEST.USER is enabled. Disable it first. Here is some help for this command: Drop the named table. Table must first be disabled: hbase> drop 't1' hbase> drop 'ns1:t1' hbase(main):031:0> disable 'TEST.USER' 0 row(s) in 2.2640 seconds hbase(main):033:0> drop 'TEST.USER' 0 row(s) in 1.2490 seconds hbase(main):034:0> list TABLE SYSTEM.CATALOG SYSTEM.FUNCTION SYSTEM.SEQUENCE SYSTEM.STATS User 5 row(s) in 0.0080 seconds => ["SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.SEQUENCE", "SYSTEM.STATS", "User"]
你可能感兴趣的:(㊣,BigData,㊣)
Hadoop MapReduce 词频统计(WordCount)代码解析教程
我不是少爷.
Java基础 hadoop mapreduce 大数据
一、概述这是一个基于HadoopMapReduce框架实现的经典词频统计程序。程序会统计输入文本中每个单词出现的次数,并将结果输出到HDFS文件系统。二、代码结构packagecom.bigdata.wc;//Hadoop核心类库导入importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;//数据类型定义
Big Data (H/M) Assessed Exercise
后端
BigData(H/M)AssessedExerciseTaskSheet2024/25–Individual–v107/02/25SummaryThegoalofthisexerciseistofamiliarizeyourselveswiththedesign,implementationandperformancetestingofBigDataanalysistasksusingApach
2025年计算机工程与大数据应用国际会议(CEBDA 2025)
Yangxshy
EI 会议 大数据
2025年计算机工程与大数据应用国际会议2025InternationalConferenceonComputerEngineeringandBigDataApplications大会信息会议名称:2025年计算机工程与大数据应用国际会议会议简称:CEBDA2025收录检索:提交EiCompendex,CPCI,CNKI,GoogleScholar等大会地点:中国·北京审稿通知:投稿后2-3日内通
大数据安全项目
是小酒
大数据 python pycharm sql mysql
1.项目详情 用python写一个大数据安全项目(使用tk,页面布局使用盒子模型,页面中各个按钮,主题要美观,按扭间的距离不要太进),需要连接数据库连接名是root(数据库名为bigdata_security,数据库密码是123456。查询数据库中的student表(包括id,name,sex,school,height,weight这些字段))。包括管理员和学生两个功能。2.代码详
【软考高项】【英语知识】- 21 - 单词积累
oo寻梦in记
软考高项(信息系统项目管理师) 软考
目录一、常见计算机技术词汇二、项目管理词汇2.1十大知识域2.2五大过程组2.349个子过程2.4工具和技术汇总2.5输入和输出汇总一、常见计算机技术词汇序号中文英文1云计算Cloudcomputing2云存储Cloudstorage3云服务Cloudservice4软件即服务SaaS5平台即服务PaaS6基础设施即服务laaS7虚拟资源Virtualresources8大数据bigdata9大数
Ubuntu下配置安装Hadoop 2.2
weixin_30501857
大数据 java 运维
---恢复内容开始---这两天玩Hadoop,之前在我的Mac上配置了好长时间都没成功的Hadoop环境,今天想在win7虚拟机下的Ubuntu12.0464位机下配置,然后再建一个组群看一看。参考资料:1.InstallingsinglenodeHadoop2.2.0onUbuntu:http://bigdatahandler.com/hadoop-hdfs/installing-single-
[转载] awesome big data
weixin_30343157
javascript java runtime ViewUI
原文:https://github.com/onurakpolat/awesome-bigdata#graph-data-model作者把分布式领域相关的大部分开源项目和论文分类整理了一遍,造福人类啊.AwesomeBigDataAcuratedlistofawesomebigdataframeworks,resourcesandotherawesomeness.Inspiredbyawesome
2014 6月,比较老了
金金2019
AwesomeBigDataAcuratedlistofawesomebigdataframeworks,resourcesandotherawesomeness.Inspiredbyawesome-php,awesome-python,awesome-ruby,hadoopecosystemtable&big-data.Yourcontributionsarealwayswelcome!Awes
Centos7服务器运维服务系统安装过程中遇到的问题总结
阿卜力米提40
服务器 运维
Centos7服务器运维服务系统安装过程中遇到的问题总结centos服务器运维由于我们Sinesafe的客户要求网站的服务器要装Centos7版本所以给大家分享下安装的过程与经验,如果需要深入的服务器运维服务也可以找我们。机器域名机器别名xxx.xxx.xxx.xxxbigdata1xxx.xxx.xxx.xxxbigdata2xxx.xxx.xxx.xxxbigdata33台机器用户名和密码:用
【大数据治理】
局外人_Jia
大数据 安全 人工智能
大数据治理(BigDataGovernance)是指通过一系列策略、流程和技术手段,确保大数据的质量、安全性、合规性和可用性,从而最大化数据的价值。以下是大数据治理的核心内容、挑战和最佳实践:1.大数据治理的核心内容1.1数据质量管理确保数据的准确性、完整性、一致性和及时性。数据清洗:处理缺失值、重复数据和错误数据。数据验证:定义数据规则,确保数据符合业务需求。数据监控:实时监控数据质量,及时发现
简记一段数据清洗项目经历
Jo乔戈里
sql database mysql python
声明:该项目是从github上下载的,原项目地址在:https://github.com/TurboWay/bigdata_analyse这个数据分析项目选自其中的"Amoy_job",即"10万条厦门招聘数据分析",但是没有严格沿用里面的代码,绝大部分都是自己思考所做的数据清洗。注意,此处仅是数据清洗,尚未进入到真正的数据分析和可视化,得出结论这些阶段!代码镇楼:fromcollectionsi
nginx+flume网络流量日志实时数据分析实战_日志数据分析(1)
2401_84182578
程序员 nginx flume 数据分析
得到visits模型hadoopjar/export/data/mapreduce/web_log.jarcn.itcast.bigdata.weblog.clickstream.ClickStreamVisit网络日志数据分析-数据加载对于日志数据的分析,Hive也分为三层:ods层、dw层、app层创建数据库createdatabaseifnotexistsweb_log_ods;create
探秘高效大数据处理:揭秘开源项目【BigData】
温宝沫Morgan
探秘高效大数据处理:揭秘开源项目【BigData】databaseBlazegraphHighPerformanceGraphDatabase项目地址:https://gitcode.com/gh_mirrors/dat/database1、项目介绍在如今的数字化时代,数据已成为企业的重要资产。对于海量数据的处理和分析,我们常常需要依赖强大的工具来支撑。这就是我们要向您推荐的开源项目——BigDa
开源项目推荐:基于Lambda架构的大数据管道
柳旖岭
开源项目推荐:基于Lambda架构的大数据管道big-data-pipeline-lambda-archAfullbigdatapipeline(LambdaArchitecture)withSpark,Kafka,HDFSandCassandra.项目地址:https://gitcode.com/gh_mirrors/bi/big-data-pipeline-lambda-arch1.项目基础介
Hadoop HDFS 安装详细步骤
碟中碟山
hadoop hdfs 大数据
Hadoop安装详细步骤安装前分别在master、slave1、slave2三台机器的root用户下的主目录下创建目录bigdata,即执行下面的命令:mkdir~/bigdataHadoop安装包下载检查Hadopp和java版本是否对应,在官网中查hadoop-3.1.3JDK1.8hadoop-2.10.2JDK1.7or1.8hadoop-2.9.2JDK1.7or1.8hadoop-2.
大数据治理体系构建与关键技术实践
一ge科研小菜鸡
大数据 大数据
个人主页:一ge科研小菜鸡-CSDN博客期待您的关注1.引言随着信息技术的快速发展和数据规模的爆炸式增长,大数据已经成为各行业的核心资产。然而,数据质量低、数据孤岛、数据安全风险等问题日益突出,影响了数据的有效利用和价值挖掘。因此,大数据治理(BigDataGovernance)成为企业和政府机构提升数据管理能力、优化决策支持的重要手段。本篇文章将深入探讨大数据治理的体系构建、核心技术及其在实际应
Hive 整合 Spark 全教程 (Hive on Spark)
字节全栈_rJF
hive spark hadoop
hadoop.proxyuser.luanhao.groups*hadoop.proxyuser.luanhao.groups*2)HDFS配置文件配置hdfs-site.xmldfs.namenode.http-addressBigdata00:9870dfs.namenode.secondary.http-addressBigdata00:9868dfs.replication13)YARN配
centos7搭建flink1.18并以 standalone模式启动
咸鱼c君
flink 大数据 大数据
版本组件版本scala2.12.20java1.8.0_181flink1.18.1关于scala和Java的安装参考:scala和java安装flink下载地址:flink下载链接集群规划bigdata01bigdata02bigdata03masterworkerworkerworker安装1.创建存放路径三个节点都需要操作用于存放安装包:mkdir/home/software/用于存放存放解
一文了解大数据概论
程序员
一.大数据概论1.1大数据概念大数据(bigdata):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。主要解决,海量数据的存储和海量数据的分析计算问题。按顺序给出数据存储单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。1Byte=8bit
ranger-kms安装
蘑菇丁
eclipse java ide
默认已安装ranger-admin和mysql服务。Ranger组件服务默认都在/opt/bigdata.test/core/ranger目录下安装。解压安装包[hadoop~]$cd/opt/ranger[hadoop@ranger]$tar-xzvfranger-2.1.0-kms.tar.gz[hadoop@xranger]$mvranger-2.1.0-kmsranger/ranger-k
把hive中的数据导出到mysql
樱浅沐冰
笔记 hadoop hive mysql
注意事项!!!!1.hive中的表的字段和类型必须和mysql表中的字段和类型一样不如hive中的stnamevarchar(50),那么mysql中的字段和类型也必须为stnamestring2.sqoopexport--connectjdbc:mysql://localhost:3306/xiandian--usernameroot--passwordbigdata--tablem1--hca
Django常用ORM
程序猿_小天
Django django django orm
聚合分组Sum函数将None变为0xx=Coalesce(Sum('number'),0,output_field=CharField())跨表分组去重#B表中有一个外键表是A,即a=models.ForeignKey(A)a_queryset=BigData.objects.filter(pk=OuterRef("a")).annotate(Sum('number',distinct=True)
大数据治理:概念、框架与实践
一ge科研小菜鸡
大数据 Python 大数据
个人主页:一ge科研小菜鸡-CSDN博客期待您的关注引言随着数据量的爆炸性增长,大数据治理(BigDataGovernance)成为数据管理领域的重要议题。大数据治理旨在对海量数据进行有效管理,确保数据的质量、可用性、安全性和合规性,同时为企业决策提供有力支持。本文系统介绍大数据治理的概念、核心框架、实施步骤及典型应用案例,结合实际场景提供技术支持和代码示例。一、大数据治理的定义与重要性1.什么是
【Springer斯普林格出版,Ei稳定,往届快速见刊检索】第四届电子信息工程、大数据与计算机技术国际学术会议( EIBDCT 2025)
艾思科蓝 AiScholar
学术会议 计算机科学 电子信息科学与技术 大数据 信息可视化 可信计算技术 深度学习 人工智能 自然语言处理 信息与通信
第四届电子信息工程、大数据与计算机技术国际学术会议(EIBDCT2025)20254thInternationalConferenceonElectronicInformationEngineering,BigDataandComputerTechnology中国-青岛|2025年2月21-23日|www.eibdct.net组织单位长春电子科技大学、加拿大魁北克大学、美国新泽西理工学院、美国欧道
分布式系统理论基础二-CAP
王知无(import_bigdata)
GitHub:https://github.com/wangzhiwubigdata/God-Of-BigData关注公众号,内推,面试,资源下载,关注更多大数据技术~大数据成神之路~预计更新500+篇文章,已经更新50+篇~引言CAP是分布式系统、特别是分布式存储领域中被讨论最多的理论,“什么是CAP定理?”在Quora分布式系统分类下排名FAQ的No.1。CAP在程序员中也有较广的普及,它不仅
使用java代码消费kafka数据
二进制_博客
大数据 java kafka
首先创建maven项目,导入jar包org.apache.kafkakafka-clients3.0.0org.slf4jslf4j-log4j121.7.25示例一:使用java代码消费kafka所有数据packagecom.bigdata.day03;importorg.apache.kafka.clients.consumer.ConsumerConfig;importorg.apache.
Hive 查看partition 以及msck 修复分区
dgsdaga3026010
大数据
#checktable的partitionhive>showpartitionstable_name;如果是外部表,不小心把表给删除了,可以适用下命令重新关联表和数据[MSCKREPAIRTABLE]全量修复分区hive>msckrepairtabletable_name;转载于:https://www.cnblogs.com/TendToBigData/p/10501178.html
2024年总结:大转向
年度总结
本文于2025年1月2号首发于公众号“狗哥琐话”。2024年是个打工人苦命年,我看到几乎每个人都比以往辛苦。这让我想起了六字真言,钱难赚屎难吃。职业转向今年我在职业上尝试做了一个转向,具体的结果可能需要比较长的时间来检验我选择是否正确,所以转向的细节我就不全部展开了,可以确定是我依然会专注在Infra和BigData,比如今年我发布了SparkSQL和FlinkSQL的IDEA提效插件。那么我为什
官宣开源 阿里云与清华大学共建AI大模型推理项目Mooncake
阿里云大模型
2024年6月,国内优质大模型应用月之暗面Kimi与清华大学MADSys实验室(MachineLearning,AI,BigDataSystemsLab)联合发布了以KVCache为中心的大模型推理架构Mooncake。通过使用以KVCache为中心的PD分离和以存换算架构,大幅提升大模型应用Kimi智能助手推理吞吐的同时有效降低了推理成本,自发布以来受到业界广泛关注。近日,清华大学和研究组织9#
Hadoop架构
henan程序媛
hadoop 大数据 分布式
一、案列分析1.1案例概述现在已经进入了大数据(BigData)时代,数以万计用户的互联网服务时时刻刻都在产生大量的交互,要处理的数据量实在是太大了,以传统的数据库技术等其他手段根本无法应对数据处理的实时性、有效性的需求。HDFS顺应时代出现,在解决大数据存储和计算方面有很多的优势。1.2案列前置知识点1.什么是大数据大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的大量数据集合,
apache ftpserver-CentOS config
gengzg
apache
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://mina.apache.o
优化MySQL数据库性能的八种方法
AILIKES
sql mysql
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的 性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很
JeeSite 企业信息化快速开发平台
Kai_Ge
JeeSite
JeeSite 企业信息化快速开发平台
平台简介
JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台。
JeeSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流
通过Spring Mail Api发送邮件
120153216
邮件 main
原文地址:http://www.open-open.com/lib/view/open1346857871615.html
使用Java Mail API来发送邮件也很容易实现,但是最近公司一个同事封装的邮件API实在让我无法接受,于是便打算改用Spring Mail API来发送邮件,顺便记录下这篇文章。 【Spring Mail API】
Spring Mail API都在org.spri
Pysvn 程序员使用指南
2002wmj
SVN
源文件:http://ju.outofmemory.cn/entry/35762
这是一篇关于pysvn模块的指南.
完整和详细的API请参考 http://pysvn.tigris.org/docs/pysvn_prog_ref.html.
pysvn是操作Subversion版本控制的Python接口模块. 这个API接口可以管理一个工作副本, 查询档案库, 和同步两个.
该
在SQLSERVER中查找被阻塞和正在被阻塞的SQL
357029540
SQL Server
SELECT R.session_id AS BlockedSessionID ,
S.session_id AS BlockingSessionID ,
Q1.text AS Block
Intent 常用的用法备忘
7454103
.net android Google Blog F#
Intent
应该算是Android中特有的东西。你可以在Intent中指定程序 要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料 。都指定好后,只要调用startActivity(),Android系统 会自动寻找最符合你指定要求的应用 程序,并执行该程序。
下面列出几种Intent 的用法
显示网页:
Spring定时器时间配置
adminjun
spring 时间配置 定时器
红圈中的值由6个数字组成,中间用空格分隔。第一个数字表示定时任务执行时间的秒,第二个数字表示分钟,第三个数字表示小时,后面三个数字表示日,月,年,< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
测试的时候,由于是每天定时执行,所以后面三个数
POJ 2421 Constructing Roads 最小生成树
aijuans
最小生成树
来源:http://poj.org/problem?id=2421
题意:还是给你n个点,然后求最小生成树。特殊之处在于有一些点之间已经连上了边。
思路:对于已经有边的点,特殊标记一下,加边的时候把这些边的权值赋值为0即可。这样就可以既保证这些边一定存在,又保证了所求的结果正确。
代码:
#include <iostream>
#include <cstdio>
重构笔记——提取方法(Extract Method)
ayaoxinchao
java 重构 提炼函数 局部变量 提取方法
提取方法(Extract Method)是最常用的重构手法之一。当看到一个方法过长或者方法很难让人理解其意图的时候,这时候就可以用提取方法这种重构手法。
下面是我学习这个重构手法的笔记:
提取方法看起来好像仅仅是将被提取方法中的一段代码,放到目标方法中。其实,当方法足够复杂的时候,提取方法也会变得复杂。当然,如果提取方法这种重构手法无法进行时,就可能需要选择其他
为UILabel添加点击事件
bewithme
UILabel
默认情况下UILabel是不支持点击事件的,网上查了查居然没有一个是完整的答案,现在我提供一个完整的代码。
UILabel *l = [[UILabel alloc] initWithFrame:CGRectMake(60, 0, listV.frame.size.width - 60, listV.frame.size.height)]
NoSQL数据库之Redis数据库管理(PHP-REDIS实例)
bijian1013
redis 数据库 NoSQL
一.redis.php
<?php
//实例化
$redis = new Redis();
//连接服务器
$redis->connect("localhost");
//授权
$redis->auth("lamplijie");
//相关操
SecureCRT使用备注
bingyingao
secureCRT 每页 行数
SecureCRT日志和卷屏行数设置
一、使用securecrt时,设置自动日志记录功能。
1、在C:\Program Files\SecureCRT\下新建一个文件夹(也就是你的CRT可执行文件的路径),命名为Logs;
2、点击Options -> Global Options -> Default Session -> Edite Default Sett
【Scala九】Scala核心三:泛型
bit1129
scala
泛型类
package spark.examples.scala.generics
class GenericClass[K, V](val k: K, val v: V) {
def print() {
println(k + "," + v)
}
}
object GenericClass {
def main(args: Arr
素数与音乐
bookjovi
素数 数学 haskell
由于一直在看haskell,不可避免的接触到了很多数学知识,其中数论最多,如素数,斐波那契数列等,很多在学生时代无法理解的数学现在似乎也能领悟到那么一点。
闲暇之余,从图书馆找了<<The music of primes>>和<<世界数学通史>>读了几遍。其中素数的音乐这本书与软件界熟知的&l
Java-Collections Framework学习与总结-IdentityHashMap
BrokenDreams
Collections
这篇总结一下java.util.IdentityHashMap。从类名上可以猜到,这个类本质应该还是一个散列表,只是前面有Identity修饰,是一种特殊的HashMap。
简单的说,IdentityHashMap和HashM
读《研磨设计模式》-代码笔记-享元模式-Flyweight
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java
PS人像润饰&调色教程集锦
cherishLC
PS
1、仿制图章沿轮廓润饰——柔化图像,凸显轮廓
http://www.howzhi.com/course/retouching/
新建一个透明图层,使用仿制图章不断Alt+鼠标左键选点,设置透明度为21%,大小为修饰区域的1/3左右(比如胳膊宽度的1/3),再沿纹理方向(比如胳膊方向)进行修饰。
所有修饰完成后,对该润饰图层添加噪声,噪声大小应该和
更新多个字段的UPDATE语句
crabdave
update
更新多个字段的UPDATE语句
update tableA a
set (a.v1, a.v2, a.v3, a.v4) = --使用括号确定更新的字段范围
hive实例讲解实现in和not in子句
daizj
hive not in in
本文转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842855.html
当前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。
假设有一个登陆表login(当天登陆记录,只有一个uid),和一个用户注册表regusers(当天注册用户,字段只有一个uid),这两个表都包含
一道24点的10+种非人类解法(2,3,10,10)
dsjt
算法
这是人类算24点的方法?!!!
事件缘由:今天晚上突然看到一条24点状态,当时惊为天人,这NM叫人啊?以下是那条状态
朱明西 : 24点,算2 3 10 10,我LX炮狗等面对四张牌痛不欲生,结果跑跑同学扫了一眼说,算出来了,2的10次方减10的3次方。。我草这是人类的算24点啊。。
然后么。。。我就在深夜很得瑟的问室友求室友算
刚出完题,文哥的暴走之旅开始了
5秒后
关于YII的菜单插件 CMenu和面包末breadcrumbs路径管理插件的一些使用问题
dcj3sjt126com
yii framework
在使用 YIi的路径管理工具时,发现了一个问题。 <?php  
对象与关系之间的矛盾:“阻抗失配”效应[转]
come_for_dream
对象
概述
“阻抗失配”这一词组通常用来描述面向对象应用向传统的关系数据库(RDBMS)存放数据时所遇到的数据表述不一致问题。C++程序员已经被这个问题困扰了好多年,而现在的Java程序员和其它面向对象开发人员也对这个问题深感头痛。
“阻抗失配”产生的原因是因为对象模型与关系模型之间缺乏固有的亲合力。“阻抗失配”所带来的问题包括:类的层次关系必须绑定为关系模式(将对象
学习编程那点事
gcq511120594
编程 互联网
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
Reverse Linked List II
hcx2013
list
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:Given 1->2->3->4->5->NULL, m = 2 and n = 4,
return 
Spring4.1新特性——页面自动化测试框架Spring MVC Test HtmlUnit简介
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
Hadoop集群工具distcp
liyonghui160com
1. 环境描述
两个集群:rock 和 stone
rock无kerberos权限认证,stone有要求认证。
1. 从rock复制到stone,采用hdfs
Hadoop distcp -i hdfs://rock-nn:8020/user/cxz/input hdfs://stone-nn:8020/user/cxz/运行在rock端,即源端问题:报版本
一个备份MySQL数据库的简单Shell脚本
pda158
mysql 脚本
主脚本(用于备份mysql数据库): 该Shell脚本可以自动备份
数据库。只要复制粘贴本脚本到文本编辑器中,输入数据库用户名、密码以及数据库名即可。我备份数据库使用的是mysqlump 命令。后面会对每行脚本命令进行说明。
1. 分别建立目录“backup”和“oldbackup” #mkdir /backup #mkdir /oldbackup
300个涵盖IT各方面的免费资源(中)——设计与编码篇
shoothao
IT资源 图标库 图片库 色彩板 字体
A. 免费的设计资源
Freebbble:来自于Dribbble的免费的高质量作品。
Dribbble:Dribbble上“免费”的搜索结果——这是巨大的宝藏。
Graphic Burger:每个像素点都做得很细的绝佳的设计资源。
Pixel Buddha:免费和优质资源的专业社区。
Premium Pixels:为那些有创意的人提供免费的素材。
thrift总结 - 跨语言服务开发
uule
thrift
官网
官网JAVA例子
thrift入门介绍
IBM-Apache Thrift - 可伸缩的跨语言服务开发框架
Thrift入门及Java实例演示
thrift的使用介绍
RPC
POM:
<dependency>
<groupId>org.apache.thrift</groupId>