前言:
aws平台创建emr集群,并承载hbase、和大数据相关业务。
目前emr集群是单master节点,生产使用必须升级为多master节点。
1、emr集群如下
2、点击进入集群摘要,集群管理页面可以查看相关管理连接
3、点击【使用 SSH 连接到主节点】 ,通过此命令可登录emrmaster节点。
ssh -i ~/secret-key.pem hadoop@ec-8.compute-1.amazonaws.com
注意:【~/secret-key.pem】文件需要在创建集群是新建或指定,创建完成后无法查看和下载。
4、本地使用shell工具,登录master节点
5、点击浏览找到下载好的mullen-secret-key.pem文件。
6、选择正确的pem文件,点击确定可登录成功。
7、看到EMR后,表面登录成功。
8、默认此服务器已配置hbase shell 客户端,可直接使用 sudo hbase shell
命令登录。
9、登录hbase后,可使用hbase shell命令查看数据,如查看版本、查看表等。
————————————————我是分割线
1、想要将hbase数据导出到本地备份,可以使用
org.apache.hadoop.hbase.mapreduce.Export
org.apache.hadoop.hbase.mapreduce.Import
2、登录emr-master节点
- 默认用户为:hadoop
3、查看目前hbase测试数据
hbase:055:0> scan 'wentao'
ROW COLUMN+CELL
student-0001 column=basic_info:age, timestamp=2023-10-26T07:42:33.932, value=18
student-0001 column=basic_info:name, timestamp=2023-10-26T07:42:18.045, value=ligl3
1 row(s)
Took 0.0064 seconds
4、本地创建一个文件夹用于保存导出数据,然后执行导出命令,导出到本地会报错。
./hbase org.apache.hadoop.hbase.mapreduce.Export wentao file:///home/hadoop/hbase-backup/wentao
5、换个思路,导出到hdfs然后再导出到本地,导出到hdfs命令:
./hbase org.apache.hadoop.hbase.mapreduce.Export wentao /home/hadoop/hbase-backup/wentao
6、查看hdfs数据:
hdfs dfs -ls /home/hadoop/hbase-backup/wentao
7、从hdfs导出数据到本地
hdfs dfs -get /home/hadoop/hbase-backup/wentao/_SUCCESS /opt/hbase-backup/wentao
8、查看本地数据
9、删除hdfs备份的数据,删除hbase表数据。
删除hdfs备份的数据:
hdfs dfs -rm /home/hadoop/hbase-backup/wentao/part-m-00000
删除hbase表和数据:
10、将本地备份数据导入到hdfs
hdfs dfs -put /opt/hbase-backup/wentao/part-m-00000 /home/hadoop/hbase-backup/wentao/
11、先创建表和列族,且数据为空
12、使用Import导入到hbase表
./hbase org.apache.hadoop.hbase.mapreduce.Import test3 /opt/sl_ev_trips/*
导入完成后,数据又恢复了
注意:此方法对于数据量小可以操作。若数据量较大,此操作不可取。