-
问题分析查看对应RegionServer运行日志(/var/log/Bigdata/hbase/rs/hbase-omm-regionserver-xxx.log),报错在hdfs如下目录下找不到协处理器jar包。File does not exits:hdfs://hacluster/user/CORLU81NETMLB/bulkload/indexProcessor/Coprocessor.jarRegionServer协处理器jar包放置目录不对,导致RegionServer无法加载到协处理器异常重启。问题解决参考 disable使用这个协处理器的表,将协处理器放到对应的hdfs的目录下,重启RegionServer,重新enable表。
-
一、原始需求xx公司需要对公司的某些敏感数据进行监控,将监控数据进行计算分组后进行存储,对实时性要求比较高。二、组件选取该需求主要是实时处理,该样例适用于MRS302版本,其他版本需要自行适配。kafka:kafka作为消息队列。Spark:作为计算引擎。HBase:作为数据存储端。三、系统设计1. 在source端使用Kafka作为消息队列,kafka中存储的数据类型很多,大概有30中数据类型了,以标签tagID作为区分。2. 在sink端会根据不同的数据类型,将数据写入到不同的HBase表中,每种数据类型对应着一张HBase表。四、代码实现代码介绍(代码详见附件) InitParameters类:用于初始化,加载代码中所需要的配置项。 LoginUtil类:登录需要的类。 SparkToHBaseOnBulkLoad类:主类,实现该样例的所有需求。 ProduceData类:用于造数据。 2. 配置文件 application.properties:配置文件,该文件包含了代码所有需要修改的参数,根据实际情况设置该文件并上传到Spark的conf目录下。 3. 修改代码配置五、代码打包并上传1. 在IDEA工具右侧选择Maven,然后进行相应的编译打包。2. 把打好的jar包上传到服务器上。路径可以自己选择。比如:/opt/xhk,新建lib和resources目录,将打好的jar包给lib目录下也拷贝一份。将kafka客户端libs下jar包拷贝到新建的lib下,将代码中的配置文件拷贝到resources目录下。3. 进行source和kinit操作,并进入到Spark客户端conf目录下,拷贝如下文件到该目录。比如:/opt/wxbClient/Spark2x/spark/conf - hbase-site.xml、hdfs-site.xml、core-site.xml(获取路径,可以从HDFS或者HBase客户端的conf目录下获取。) - user.keytab、krb5.conf(Manager页面上下载用户的配置文件) - application.properties.(项目的resources目录下,并修改里面的参数)4. 配置conf目录下jaas.conf和jaas-zk.conf文件。认证需要的配置文件。 jaas.conf 内容参考如下: Client { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=false useTicketCache=true debug=false; }; KafkaClient { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=false useTicketCache=true debug=false; }; jaas-zk.conf 内容参考如下 Client { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="./user.keytab" principal="wxb@HADOOP_ARM_802.COM" useTicketCache=false storeKey=true debug=true; }; KafkaClient { com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="./user.keytab" principal="wxb@HADOOP_ARM_802.COM" useTicketCache=false storeKey=true debug=true; }; 5. 运行项目 1. 在spark目录下,运行消费者(/opt/wxbclient/Spark2x/spark)执行如下指令: spark-submit --class com.huawei.bigdata.SparkToHBaseOnBulkLoad --master yarn --deploy-mode client --keytab /opt/xhk/wxb.keytab --principal wxb --files /opt/wxbclient/Spark2x/spark/conf/user.keytab --jars /opt/wxbclient/Spark2x/spark/jars/streamingClient010/spark-streaming-kafka-0-10_2.11-2.4.5-hw-ei-302002.jar,/opt/wxbclient/Spark2x/spark/jars/streamingClient010/kafka-clients-2.4.0-hw-ei-302002.jar /opt/xhk/SparkToHBaseOnBulkLoad-1.0-SNAPSHOT.jar 参数说明: --class:需要运行的主类。比如该项目需要运行的是SparkToHBaseOnBulkLoad类,路径+名字。 --master:运行的方式,需要提交到yarn上运行。 --deploy-mode:在yarn上有2中运行方式,client和cluster。 --keytab:keytab文件路径,需要长期运行,所以需要把keytab文件携带到yarn上。该文件可以和conf下的user.keytab文件一样,但名字不能一样。 --pricipal:用户名。 --files:认证需要的配置文件。 --jars:项目运行需要的jar包。 最后一个参数为上传的jar包。 2. 启动生产者 java -cp /opt/xhk/lib/*:/opt/xhk/resources/* com.huawei.bigdata.ProduceData 120000 参数说明: /opt/xhk/lib/*:项目运行需要的jar包。可以直接用kafka目录下的jar包。 /opt/xhk/resources/:项目运行需要的配置文件。可以把resources目录下的文件上传到服务器上。比如:/zwl/resources/目录下。 com.huawei.bigdata.ProduceData :需要运行的项目主类。 120000:需要生成的数据量。单位:条 运行效果图: HDFS上的效果图:
-
启动脚本:start_upload.sh123#!/bin/shnohup java -jar UploadSchedule.jar >> /usr/local/tomcat9/webapps/upload-to-oss/nohup_upload.out 2>&1 &echo $! > /var/run/UploadSchedule.pid 启动脚本说明:1、开启后台执行,并将程序产生的日志文件写入out文件;2、将当前进程id写入/var/run/UploadSchedule.pid,以供在停止脚本中使用此pid来停止当前进程。停止脚本:stop_upload.sh123#!/bin/shPID=$(cat /var/run/UploadSchedule.pid)kill -9 $PID 停止脚本说明:1、首先获取进程id;2、然后杀掉该进程。文件切分:split_nohup.sh程序不中断,一直在后台运行,那么产生的log也会持续输出到out问价,导致out文件越来越大。当需要根据out文件进行一些日志查找的时候,非常不方便。所以定期对out文件进行切分,按日期将当日out文件切分成若干小文件,从而方便处理及错误查找定位。12345678910#!/bin/bashlog_path=/usr/local/tomcat9/webapps/upload-to-oss if [ -f "$log_path/nohup_upload.out" ];thencurrent_date=`date -d "-1 day" "+%Y%m%d"`cp $log_path/nohup_upload.out $log_path/nohup_upload_${current_date}.outcat /dev/null > $log_path/nohup_upload.outsplit -b 5242880 -d -a 4 $log_path/nohup_upload_${current_date}.out $log_path/nohup_upload_${current_date}_rm -rf $log_path/nohup_upload_${current_date}.outfi切分脚本说明:1、如果out文件存在,将nohup_upload.out文件复制一份,命名为nohup_upload_当前日期(比如nohup_upload_20200328.out);2、将nohup_upload.out文件清空;3、对nohup_upload_20200328.out文件进行切分,切分后的文件命名格式为nohup_upload_20200328_0001,nohup_upload_20200328_0002;-b 指定每个小文件的大小(单位byte)-d 以数字作为后缀-a 指定后缀的长度4、将原文件(nohup_upload_20200328.out)删除。执行开启/停止命令12345# 启动./start_upload.sh # 停止./stop_upload.sh一些后台运行的小知识&和nohup区别:&的意思是在后台运行。意思是说, 当你在执行 ./start_upload.sh & 的时候, 即使你用Ctrl + C, 那么start_upload.sh照样运行(因为对SIGINT信号免疫)。 但是要注意, 如果你直接关掉Shell后, 那么, start_upload.sh进程同样消失。 因为对SIGHUP信号不免疫。nohup的意思是忽略SIGHUP信号, 所以当运行nohup ./start_upload.sh的时候, 关闭Shell,start_upload.sh进程还是存在的(对SIGHUP信号免疫)。 但是如果你直接在Shell中用Ctrl + C, 那么,start_upload.sh进程也是会消失的(因为对SIGINT信号不免疫)所以,要让进程真正不受Shell中Ctrl + C和Shell关闭的影响, 就用nohup和&同时用。
-
请问下,我在使用华为的私有依赖库上传完jar包依赖之后,根据操作说明下载到了生成的配置settings.xml文件,添加到了工程中,但是本地工程无法依赖到所上传的jar包,求助,谢谢!
-
使用的是最新的版本2.2.0 SPC100,这不是第一次出现这个显示了,请问还是版本的问题吗?是从WEB界面上传的jar包。
-
公司项目要在华为视频会议设备TE10二次开发,要把默认安装在TE10上安装自己开发的APP替换默认的APP,根据《TE10&TE20 会议电视终端 V500R003C30 eSDK 开发指南》显示,自己的APP要调用设备的呼叫、视频会议等接口需要 te-sdk.jar文件,该文件一直找不到,哪位好心人能提供一下,多谢多谢!!!
-
缺少openssl/opensslv.h文件在/usr/include下的确没有找到该文件。运行yum install openssl和yum install openssl-devel安装openssl相关后,该库文件已经可以找到了。重新构建通过。
-
之后的业务可能会用到mrs的spark任务,现在正在熟悉相关的操作,程序中有如下代码: ![1.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202006/01/093428vdc9vt39n8d5kfcd.jpg) 需要给main函数传入外部的参数(比如a、b、c),请问在下面的作业提交作业中执行参数一栏该如何填写将a、b、c传入main函数呢? ![2.JPG](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202006/01/093609ooari5ixfrjbjzwp.jpg)
-
Porting Advisor里jar包下载路径不通,导致云端实验失败 Porting Advisor里jar包里原下载路径是https://repo.huaweicloud.com/reponsitory/maven/kunpeng,今天不通了,导致所有使用此路径的实验和工具无法使用请提供解决方案,建议软链接到https://mirrors.huaweicloud.com/kunpeng/maven例如下面的实验报错, 云学院反馈今天已影响用例体验,请帮忙速解决:
-
迁移了一个spark版本:用dependency 工具检查 (2.1.1版本)有如下提示:实际上 除了 jline-2.12.1以外的jar已经迁移过了,dep工具还是会提示需要处理同样用checkso检查结果:能排除掉已经完成迁移的jar,只报了还没迁移的:jline-2.12.1.jar----------------------------------------------更新:之前用的2.1.1版本, 升级了2.1.1-SP100 解决了(没注意有个SP100的更新升级):
上滑加载中
推荐直播
-
TinyEngine低代码引擎系列第2讲——向下扎根,向上生长,TinyEngine灵活构建个性化低代码平台
2024/11/14 周四 16:00-18:00
王老师 华为云前端开发工程师,TinyEngine开源负责人
王老师将从TinyEngine 的灵活定制能力出发,带大家了解隐藏在低代码背后的潜在挑战及突破思路,通过实践及运用,帮助大家贴近面向未来低代码产品。
回顾中 -
华为云AI入门课:AI发展趋势与华为愿景
2024/11/18 周一 18:20-20:20
Alex 华为云学堂技术讲师
本期直播旨在帮助开发者熟悉理解AI技术概念,AI发展趋势,AI实用化前景,了解熟悉未来主要技术栈,当前发展瓶颈等行业化知识。帮助开发者在AI领域快速构建知识体系,构建职业竞争力。
去报名 -
华为云软件开发生产线(CodeArts)10月新特性解读
2024/11/19 周二 19:00-20:00
苏柏亚培 华为云高级产品经理
不知道产品的最新特性?没法和产品团队建立直接的沟通?本期直播产品经理将为您解读华为云软件开发生产线10月发布的新特性,并在直播过程中为您答疑解惑。
去报名
热门标签