背景信息
CDH(Cloudera's Distribution, including Apache Hadoop)是众多 Hadoop 发行版本中的一种,您可以使用文件存储HDFS版替换CDH6原有的本地HDFS服务,通过CDH6+文件存储HDFS版实现大数据计算在云上的存储与计算分离,应对灵活多变的业务需求的挑战。
前提条件
- 开通文件存储HDFS版服务并创建文件系统实例和挂载点,详细文档请参见:快速入门。
- 在阿里云上创建ECS实例并安装CDH6集群,具体安装方法请参考:CDH官方文档,本文档中使用的CDH版本为 6.3.2。
数据迁移
配置文件存储HDFS版
- 登录 CDH6 的 Cloudera Manager Web 管理页面
- 配置文件存储HDFS版实现类及Java SDK
- 在CDH Web主页,选择配置 > 高级配置代码段,进入高级配置代码段页面。
-
搜索
core-site.xml
,并选择 HDFS。 - 在 core-site.xml 的群集范围高级配置代码段(安全阀)区域中,添加如下文件存储HDFS版配置项并保存。
-
配置项:
fs.dfs.impl
,其值:com.alibaba.dfs.DistributedFileSystem
-
配置项:
fs.AbstractFileSystem.dfs.impl
,其值:com.alibaba.dfs.DFS
-
配置项:
d. 配置 mapreduce.application.classpath。
- 在CDH Web主页,选择 YARN (MR2 Included),在其右侧的操作栏中,单击 配置。
-
在 配置 页面,搜索
mapreduce.application.classpath
增加配置$HADOOP_HDFS_HOME/*
并保存。
e.下载最新的文件存储HDFS版 Java SDK(aliyun-sdk-dfs-x.y.z.jar)下载地址:单击此处下载 。
f.将下载的文件存储HDFS版 Java SDK 复制到 CDH HDFS服务的 CLASSPATH 路径下。
cp aliyun-sdk-dfs-x.y.z.jar /opt/cloudera/parcels/CDH/lib/hadoop-hdfs/
说明: 集群中的每台机器都需要在相同位置添加文件存储HDFS版 Java SDK。
g.返回在CDH Web主页,找到 HDFS ,单击重新部署图标,进行重新部署。
h.在 过期配置 页面,单击 重启过时服务 并 立即重启。
HBase 快照迁移(可选)
如果原 HDFS 集群中已部署 HBase 服务且存在业务数据,需要将 HBase 中的数据以快照方式迁移到文件存储HDFS版。
## 在本文档中 HBase 有两个模拟表"mock_table_0", "mock_table_1",每个表的中的模拟数据有 10 万条 hbase(main):001:0> list TABLE mock_table_0 mock_table_1 2 row(s) Took 0.4213 seconds => ["mock_table_0", "mock_table_1"] hbase(main):002:0> count 'mock_table_1' Current count: 1000, row: 001637311398 ..... Current count: 100000, row: 991637311398 100000 row(s) Took 4.3696 seconds => 100000 hbase(main):003:0> count 'mock_table_0' Current count: 1000, row: 001637311398 ...... Current count: 100000, row: 991637311398 100000 row(s) Took 4.0691 seconds => 100000 ## 创建快照 hbase(main):005:0> snapshot 'mock_table_0','mock_table_0_snapshot' Took 0.8388 seconds hbase(main):006:0> snapshot 'mock_table_1','mock_table_1_snapshot' Took 0.4341 seconds ## 将创建的快照从 HDFS 拷贝到 文件存储HDFS版 sudo -u hdfs hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot \ -snapshot mock_table_0_snapshot \ -copy-to dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/hbase sudo -u hdfs hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot \ -snapshot mock_table_1_snapshot \ -copy-to dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/hbase
数据迁移
- 暂停服务
为了保证在更换文件存储系统的过程中文件数据不丢失,需要暂停数据处理服务(如:YARN服务、Hive服务、Spark服务、HBase服务等),HDFS 服务仍需保持运行。此处以停止 Hive 服务为例进行说明。
- 在 CDH Web 主页,找到 Hive 服务,在其右侧的操作项中,单击 停止。
- 在停止确认框中,单击 停止。当 Hive 前的图标变成灰色,表示该服务完全停止。
- 重复上述步骤,停止剩余服务。
说明:建议只保留 HDFS 服务正常运行,以方便进行数据迁移。但是如果要迁移的数据量大,请开启 YARN 服务,以便使用数据迁移工具 Hadoop DistCp 并行执行迁移任务可有效提高迁移速度。
- 迁移数据
建议将 /user
等服务目录和相关数据目录全量迁移至文件存储HDFS版。
- 如果涉及将云下集群的数据迁移到云上,请参见迁移开源HDFS的数据到文件存储HDFS版。
- HBase 服务只迁移快照,其他数据目录不迁移
-
如果 CDH 原HDFS文件系统上的数据量较小,可以使用
hadoop fs -cp
命令进行数据迁移。为了避免因为权限问题导致数据迁移失败,建议切换到 hdfs 用户执行命令。
sudo -u hdfs hadoop fs -cp hdfs://oldclusterip:8020/user dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/
- 如果CDH HDFS文件系统上的数据量较大,需要使用数据迁移工具 Hadoop DistCp 进行数据迁移,详情请参见迁移开源HDFS的数据到文件存储HDFS版。
sudo -u hdfs hadoop distcp hdfs://oldclusterip:8020/user dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/
其中f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com为您的文件存储HDFS版挂载点域名,需要根据实际情况进行修改。
服务配置
在服务配置之前需要已完成 数据迁移 。
配置 Cloudera Management 服务
- 将最新的文件存储HDFS版 Java SDK 复制到 Cloudera Management 服务的 lib 目录下。
cp aliyun-sdk-dfs-x.y.z.jar /opt/cloudera/cm/lib/cdh6/
说明:集群中的每台机器都需要在相同位置添加文件存储HDFS版 Java SDK。
- 重启服务
在CDH Web主页,找到 Cloudera Management Service,在其右侧的操作项中,单击重启。
配置 HDFS 服务
- 在 CDH Web 主页,选择配置 > 高级配置代码段,进入高级配置代码段页面。
-
搜索
core-site.xml
,并选择 HDFS。 - 在 core-site.xml 的群集范围高级配置代码段(安全阀)中,添加如下配置项。
配置项:fs.defaultFS
,其值:dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290
说明:其中f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com为您的文件存储HDFS版挂载点域名,需要根据实际情况进行修改。
- 单击保存更改。
配置 YARN 服务
- 配置 mapred-site.xml。
- 在CDH Web主页,选择 配置 > 高级配置代码段,进入 高级配置代码段 页面。
-
搜索
mapred-site.xml
,并单击 YARN (MR2 Included)。 - 在 YARN 服务 MapReduce 高级配置代码段(安全阀)中,添加如下配置项。
配置项:mapreduce.application.framework.path
,其值:dfs://f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com:10290/user/yarn/mapreduce/mr-framework/3.x.x-cdh6.x.x-mr-framework.tar.gz#mr-framework
说明:
- 其中,f-xxxxxxxxxxxxxxx.cn-xxxxxxx.dfs.aliyuncs.com 为您的文件存储HDFS版挂载点域名,需要根据实际情况进行修改。
- 如果文件存储HDFS版实例上 3.x.x-cdh6.x.x-mr-framework.tar.gz 文件不存在,可能是因为此文件还没有从CDH的HDFS服务同步到文件存储HDFS版。您需要将HDFS服务
/user/yarn
目录下的所有内容同步到文件存储HDFS版上,请参考 数据迁移 章节
d.单击保存更改。
- 部署新配置并重启服务。
- 在CDH Web主页,找到 YARN,单击重新部署图标,进行重新部署。
- 在 过期配置 页面,单击 重启过时服务。
- 在 重启过时服务 页面,单击 立即重启。
- 等待服务全部重启完成,并重新部署客户端配置后,单击 完成。
配置 Hive 服务
说明: 配置 HDFS 服务完成后,才能配置 Hive 服务。在配置 Hive 服务之前,请确认 /user/hive/
目录中的数据已完成全量迁移,迁移方法请参见:数据迁移。
- 修改元数据
在本文档中,Hive元数据存储在 MySQL 之中。下方以 MySQL 为例,修改DBS表和SDS表相应的存储系统的URL,如下所示。
## metastore 为 Hive 存储元数据的库 mysql> use metastore; Database changed mysql> SELECT * FROM DBS LIMIT 5; +-------+-----------------------+----------------------------------------------------------------------------+-----------------------------+------------+------------+-------------+ | DB_ID | DESC | DB_LOCATION_URI | NAME | OWNER_NAME | OWNER_TYPE | CREATE_TIME | +-------+-----------------------+----------------------------------------------------------------------------+-----------------------------+------------+------------+-------------+ | 1 | Default Hive database | hdfs://cdh6-master:8020/user/hive/warehouse | default | public | ROLE | 1629164990 | | 1826 | NULL | hdfs://cdh6-master:8020/user/hive/warehouse/tpcds_text_2.db | tpcds_text_2 | hive | USER | 1629702940 | | 1828 | NULL | hdfs://cdh6-master:8020/user/hive/warehouse/tpcds_bin_partitioned_orc_2.db | tpcds_bin_partitioned_orc_2 | hive | USER | 1629703145 | +-------+-----------------------+----------------------------------------------------------------------------+-----------------------------+------------+------------+-------------+ 3 rows in set (0.00 sec) ## 更新 DBS 表中原HDFS地址为文件存储HDFS版挂载点地址 mysql> UPDATE DBS SET DB_LOCATION_URI=REPLACE(DB_LOCATION_URI,'hdfs://cdh6-master:8020','dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290'); Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0 mysql> SELECT * FROM DBS LIMIT 5; +-------+-----------------------+-----------------------------------------------------------------------------------------------------------------+-----------------------------+------------+------------+-------------+ | DB_ID | DESC | DB_LOCATION_URI | NAME | OWNER_NAME | OWNER_TYPE | CREATE_TIME | +-------+-----------------------+-----------------------------------------------------------------------------------------------------------------+-----------------------------+------------+------------+-------------+ | 1 | Default Hive database | dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/user/hive/warehouse | default | public | ROLE | 1629164990 | | 1826 | NULL | dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/user/hive/warehouse/tpcds_text_2.db | tpcds_text_2 | hive | USER | 1629702940 | | 1828 | NULL | dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/user/hive/warehouse/tpcds_bin_partitioned_orc_2.db | tpcds_bin_partitioned_orc_2 | hive | USER | 1629703145 | +-------+-----------------------+-----------------------------------------------------------------------------------------------------------------+-----------------------------+------------+------------+-------------+ 3 rows in set (0.00 sec) mysql> SELECT * FROM SDS LIMIT 5; +-------+-------+------------------------------------------+---------------+---------------------------+--------------------------------------------------------------+-------------+------------------------------------------------------------+----------+ | SD_ID | CD_ID | INPUT_FORMAT | IS_COMPRESSED | IS_STOREDASSUBDIRECTORIES | LOCATION | NUM_BUCKETS | OUTPUT_FORMAT | SERDE_ID | +-------+-------+------------------------------------------+---------------+---------------------------+--------------------------------------------------------------+-------------+------------------------------------------------------------+----------+ | 5423 | 1846 | org.apache.hadoop.mapred.TextInputFormat | | | hdfs://cdh6-master:8020/tmp/tpcds-generate/2/store_sales | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5423 | | 5424 | 1847 | org.apache.hadoop.mapred.TextInputFormat | | | hdfs://cdh6-master:8020/tmp/tpcds-generate/2/store_returns | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5424 | | 5425 | 1848 | org.apache.hadoop.mapred.TextInputFormat | | | hdfs://cdh6-master:8020/tmp/tpcds-generate/2/catalog_sales | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5425 | | 5426 | 1849 | org.apache.hadoop.mapred.TextInputFormat | | | hdfs://cdh6-master:8020/tmp/tpcds-generate/2/catalog_returns | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5426 | | 5427 | 1850 | org.apache.hadoop.mapred.TextInputFormat | | | hdfs://cdh6-master:8020/tmp/tpcds-generate/2/web_sales | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5427 | +-------+-------+------------------------------------------+---------------+---------------------------+--------------------------------------------------------------+-------------+------------------------------------------------------------+----------+ 5 rows in set (0.00 sec) ## 更新 SDS 表中原HDFS地址为文件存储HDFS版挂载点地址 mysql> UPDATE SDS SET LOCATION=REPLACE(LOCATION,'hdfs://cdh6-master:8020','dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290'); Query OK, 11756 rows affected (0.30 sec) Rows matched: 11756 Changed: 11756 Warnings: 0 mysql> SELECT * FROM SDS LIMIT 5; +-------+-------+------------------------------------------+---------------+---------------------------+---------------------------------------------------------------------------------------------------+-------------+------------------------------------------------------------+----------+ | SD_ID | CD_ID | INPUT_FORMAT | IS_COMPRESSED | IS_STOREDASSUBDIRECTORIES | LOCATION | NUM_BUCKETS | OUTPUT_FORMAT | SERDE_ID | +-------+-------+------------------------------------------+---------------+---------------------------+---------------------------------------------------------------------------------------------------+-------------+------------------------------------------------------------+----------+ | 5423 | 1846 | org.apache.hadoop.mapred.TextInputFormat | | | dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/tmp/tpcds-generate/2/store_sales | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5423 | | 5424 | 1847 | org.apache.hadoop.mapred.TextInputFormat | | | dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/tmp/tpcds-generate/2/store_returns | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5424 | | 5425 | 1848 | org.apache.hadoop.mapred.TextInputFormat | | | dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/tmp/tpcds-generate/2/catalog_sales | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5425 | | 5426 | 1849 | org.apache.hadoop.mapred.TextInputFormat | | | dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/tmp/tpcds-generate/2/catalog_returns | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5426 | | 5427 | 1850 | org.apache.hadoop.mapred.TextInputFormat | | | dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/tmp/tpcds-generate/2/web_sales | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 5427 | +-------+-------+------------------------------------------+---------------+---------------------------+---------------------------------------------------------------------------------------------------+-------------+------------------------------------------------------------+----------+ 5 rows in set (0.00 sec)
- 重启服务。
- 在CDH Web主页,找到 Hive,在其右侧的操作项中,单击 启动。
- 在启动确认框中,单击 启动。
配置 Spark 服务
说明:配置HDFS服务完成后,才能配置Spark服务。配置Spark服务前,请确认 /user/spark
和/user/history
目录中的数据已经完成了全量迁移。迁移方法请参见:数据迁移。
将最新的文件存储HDFS版 Java SDK 复制到 Spark 服务的 jars 目录下。请根据实际值进行替换。
cp aliyun-sdk-dfs-x.y.z.jar /opt/cloudera/parcels/CDH/lib/spark/jars/
说明:集群中的每台机器都需要在相同位置添加文件存储HDFS版 Java SDK。
配置 HBase 服务
说明:配置HDFS服务完成后,才能配置HBase服务。配置HBase 服务前,请确认原HDFS集群HBase中的快照已迁移至文件存储HDFS版,迁移方法请参见:HBase 快照迁移
- 在 CDH Web 主页,选择 配置>高级配置代码段,进入高级配置代码段页面。
-
在最上面的搜索框中搜索
hbase-site.xml
。 - 在hbase-site.xml 的HBase服务高级配置代码段(安全阀)和 hbase-site.xml 的 HBase 客户端高级配置代码段(安全阀)中,都要添加如下配置项。
-
配置项:
hbase.rootdir
,其值:dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/hbase
。 -
配置项:
hbase.unsafe.stream.capability.enforce
,其值:false
。
-
配置项:
- 配置
zookeeper.znode.parent
。
- 在CDH Web主页,选择 HBase,在其右侧的操作栏中,单击 配置。
-
在 配置 页面,搜索
zookeeper.znode.parent
配置新的 HBase 根 znode 并保存,在本文档中设置为/hbase_dfs
。
说明:zookeeper.znode.parent
默认配置为 /hbase
,HBase 服务配置文件存储HDFS版时需修改该配置,否则存储在 Zookeeper 中的数据会冲突。
- 部署新配置并启动服务。
- 在 CDH Web 主页,找到 HBase,单击重新部署图标,进行重新部署。
- 在 过期配置 页面,单击 重启过时服务。
- 在 重启过时服务 页面,选择需要重启的服务,单击 立即重启。
- 等待服务全部重启完成,并重新部署客户端配置后,单击 完成。
- 快照恢复(可选)
将存储在原 HDFS 集群的 HBase 快照迁移 到文件存储HDFS版后,可以参考下面命令恢复快照。
在 HBase Shell 中执行如下命令,查看并恢复文件存储HDFS版中已经迁移的快照。
## 查看快照 hbase(main):001:0> list_snapshots SNAPSHOT TABLE + CREATION TIME mock_table_0_snapshot mock_table_0 (2021-11-19 17:25:38 +0800) mock_table_1_snapshot mock_table_1 (2021-11-19 17:25:47 +0800) 2 row(s) Took 0.4619 seconds => ["mock_table_0_snapshot", "mock_table_1_snapshot"] ## 恢复快照 hbase(main):002:0> restore_snapshot 'mock_table_0_snapshot' Took 2.4750 seconds hbase(main):003:0> restore_snapshot 'mock_table_1_snapshot' Took 1.2615 seconds
停止 HDFS 服务
完成上述各项服务配置后,集群的HDFS服务已经替换为文件存储HDFS版,建议您停止集群的HDFS服务。
- 您可以在CDH Web主页,找到 HDFS,停止服务。
服务配置验证
YARN 服务验证
使用 CDH Hadoop 中自带包 hadoop-mapreduce-examples-3.x.x-cdh6.x.x.jar
进行测试,在 /tmp/randomtextwriter
目录下生成大小约为 128M 的文件,示例命令如下
yarn jar \ /opt/cloudera/parcels/CDH/jars/hadoop-mapreduce-examples-*-cdh*.jar \ randomtextwriter \ -D mapreduce.randomtextwriter.totalbytes=134217728 \ /tmp/randomtextwriter
执行以下命令验证文件是否生成成功,从而验证文件系统实例的连通性
hadoop fs -ls dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/tmp/randomtextwriter
Hive 服务验证
数据迁移验证
在本文档中从原HDFS集群将TPC-DS的数据都迁移到了文件存储HDFS版。
- 在 Hue 上查看库中的
store_sales
表信息
- 在 Hue 上查看库中的
可以看到该内部表的分区存储信息等都迁移到了文件存储HDFS版上。
b. 执行 TPC_DS 第 63 条 SQL
SELECT * FROM (SELECT i_manager_id , sum(ss_sales_price) sum_sales , avg(sum(ss_sales_price)) over (partition BY i_manager_id) avg_monthly_sales FROM item , store_sales , date_dim , store WHERE ss_item_sk = i_item_sk AND ss_sold_date_sk = d_date_sk AND ss_store_sk = s_store_sk AND d_month_seq IN (1211, 1211+1, 1211+2, 1211+3, 1211+4, 1211+5, 1211+6, 1211+7, 1211+8, 1211+9, 1211+10, 1211+11) AND ((i_category IN ('Books', 'Children', 'Electronics') AND i_class IN ('personal', 'portable', 'reference', 'self-help') AND i_brand IN ('scholaramalgamalg #14', 'scholaramalgamalg #7', 'exportiunivamalg #9', 'scholaramalgamalg #9')) or(i_category IN ('Women','Music','Men') AND i_class IN ('accessories','classical','fragrances','pants') AND i_brand IN ('amalgimporto #1','edu packscholar #1','exportiimporto #1', 'importoamalg #1'))) GROUP BY i_manager_id, d_moy) tmp1 WHERE CASE WHEN avg_monthly_sales > 0 THEN ABS (sum_sales - avg_monthly_sales) / avg_monthly_sales ELSE NULL END > 0.1 ORDER BY i_manager_id , avg_monthly_sales , sum_sales LIMIT 100;
执行 SQL 并查看结果
说明:因为TPC-DS 数据都是随机生成,所以SQL查询返回结果和本文档不一致属于正常现象。
新建数据表验证
- 在 Hue 上创建并查看表信息
DROP TABLE IF EXISTS user_info_test; CREATE TABLE user_info_test(user_id BIGINT, firstname STRING, lastname STRING, country STRING); INSERT INTO user_info_test VALUES(1,'Dennis','Hu','CN'),(2,'Json','Lv','Jpn'),(3,'Mike','Lu','USA');
- 执行查询 SQL
SELECT country,count(*) AS country_count FROM user_info_test GROUP BY country;
Spark 服务验证
使用 CDH Spark 中自带包 spark-examples_*-cdh*.jar
从本地读取文件写入文件存储HDFS版实例
spark-submit \ --master yarn \ --executor-memory 2G \ --executor-cores 2 \ --class org.apache.spark.examples.DFSReadWriteTest \ /opt/cloudera/parcels/CDH/jars/spark-examples_*-cdh*.jar \ /etc/profile /tmp/sparkwrite
执行如下命令查看是否写入成功
hadoop fs -ls dfs://f-xxxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/tmp/sparkwrite/*
HBase 服务验证
数据迁移验证
查看迁移到文件存储HDFS版两张表的数据行数
hbase(main):001:0> list TABLE mock_table_0 mock_table_1 2 row(s) Took 0.3587 seconds => ["mock_table_0", "mock_table_1"] hbase(main):002:0> count 'mock_table_0' Current count: 1000, row: 001637311398 ........ Current count: 100000, row: 991637311398 100000 row(s) Took 7.2724 seconds => 100000 hbase(main):003:0> count 'mock_table_1' Current count: 1000, row: 001637311398 ........ Current count: 100000, row: 991637311398 100000 row(s) Took 3.9399 seconds => 100000
新建数据表验证
- 使用
hbase shell
创建测试表并插入数据
hbase(main):001:0> create 'hbase_test','info' Created table hbase_test Took 1.7688 seconds => Hbase::Table - hbase_test hbase(main):002:0> list TABLE hbase_test mock_table_0 mock_table_1 3 row(s) Took 0.0147 seconds => ["hbase_test", "mock_table_0", "mock_table_1"] hbase(main):003:0> put 'hbase_test','1', 'info:name' ,'Sariel' Took 0.2415 seconds hbase(main):004:0> put 'hbase_test','1', 'info:age' ,'22' Took 0.0053 seconds hbase(main):005:0> put 'hbase_test','1', 'info:industry' ,'IT' Took 0.0631 seconds hbase(main):006:0> scan 'hbase_test' ROW COLUMN+CELL 1 column=info:age, timestamp=1637636289233, value=22 1 column=info:industry, timestamp=1637636299912, value=IT 1 column=info:name, timestamp=1637636279553, value=Sariel 1 row(s) Took 0.0227 seconds
- 在文件存储HDFS版上的 HBase 数据目录查看是否有新建的测试表
至此,CDH 中的服务已经迁移到文件存储HDFS版。
常见问题
- SecondaryNameNode 服务停止。
按照本文档链接配置文件存储HDFS版后, CDH中的 HDFS 服务会报错,报错信息:SecondaryNameNode 服务无法启动。这是由于 SecondaryNameNode 服务需要通过 http get 方式获取 NameNode 的 fsimage 与 edits 文件进行工作。而文件存储HDFS版不提供 http 服务,所以 SecondaryNameNode 服务无法启动。此时,CDH内的 Spark\Hive\HBase 服务已经使用阿里云文件存储HDFS版读写数据,CDH 自身的 HDFS 服务问题不会影响系统运行和数据安全。
- Hue 服务文件浏览器不可用。
Hue 是通过 WebHDFS REST API 访问 HDFS 上的文件。文件存储HDFS版目前不支持 WebHDFS REST API,因此不可以在 Hue 上直接操作文件存储HDFS版实例上的文件。
了解更多关于文件存储HDFS版的产品信息,欢迎访问https://www.aliyun.com/product/alidfs
如果您对文件存储HDFS版有任何问题,欢迎钉钉扫描以下二维码加入文件存储HDFS版技术交流群。