thrift怎么记忆
thrift谐音“三个斧头”,thri与three读音相同,ft谐音斧头。thrift的音标为[θr?ft],作名词时意为节约,节俭;海石竹;<美>储蓄机构

海石竹
网络上常表示节俭;节约;勤俭节约,专业方面表示节俭 [法学];节约 [土木建筑工程]。勤俭节约是中华民族的传统美德,从古至今我们一直传承着这一习俗,?一粥一饭当思来之不易,半丝半缕恒念物力维艰。当前,生活越幸福、人民越富裕,广大基层干部越要带头勤俭节约,自觉树立崇俭抑奢的好榜样,让勤俭节约在全社会蔚然成风。俭则约,约则百善俱兴;侈则肆,肆则百恶俱纵。
如何查看linux 是否安装thrift服务
可以使用chkconfig的方式查看服务chkconfig --list|grep thrift
或者通过进程查看
ps -ef|grep thrift
下面分享相关内容的知识扩展:
sparkThriftserver 长时间运行HDFS_DELEGATION_TOKEN失效问题
sparkThriftserver 运行一天后,有人反馈查询报错,我自己测试了下,确实如此
这里学了下HDFS_DELEGATION_TOKEN 相关的知识,然后做出解答
在上述 https://github.com/apache/spark/pull/9168 中,我将问题原因简单解释下。
在hadoop HA模式下,有三种tokens
1、ha token
2、namenode1 token
3、namenode2 token
Spark通过调用UserGroupInformation.getCurrentUser.addCredentials(tempCreds)来更新ha令牌,HAUtil.cloneDelegationTokenForLogicalUri会将ha令牌复制到namenode令牌。
spark 为了解决DT失效问题,加了两个参数”–keytab”和”–principal”,分别指定用于kerberos登录的keytab文件和principal。
--keytab参数指定一个keytab文件,Spark会根据--keytab指定的Kerberos认证文件生成 HDFS Token,然后再将生成的Token信息放到HDFS的某一个目录中供Executor和Driver使用。
Spark ApplicationMaster在Delegation Token将要失效的时候(75% of the renewal interval) 会通过Keytab文件重新认证并获取一个新的Delegation Token,然后将新的Delegation Token写入到指定的HDFS文件中;
Spark Executor在Delegation Token将要失效的时候(80% of the validity)读取HDFS上的最新的Delegation Token文件,然后更新自己的Delegation Token;
理论上这样就能解决掉Token过期的问题,然而在配置了HA的Hadoop集群上2.9.0之前的版本依然存在问题,问题在于配置了HA的Hadoop集群中,Executor读取新的Token信息之后只更新的HDFS的逻辑地址,而未同步更新真正的HDFS Namenode URI对应的Token,从而导致Namenode URI下面的Token会慢慢过期失效。
1、Spark AM将获得HDFS Delegation Token(称为hatoken)并将其添加到当前用户的凭证中。
"ha-hdfs:hadoop-namenode" -> "Kind: HDFS_DELEGATION_TOKEN, Service: ha-hdfs:hadoop-namenode, Ident: (HDFS_DELEGATION_TOKEN token 328709 for test)".
2、DFSClient将为每个NameNode生成另外2个令牌(namenode Token)。
" ha-hdfs://xxx.xxx.xxx.xxx:8020 " -> "Kind: HDFS_DELEGATION_TOKEN, Service: xxx.xxx.xxx.xxx:8020 , Ident: (HDFS_DELEGATION_TOKEN token 328709 for test)"
" ha-hdfs://yyy:yyy:yyy:yyy:8020 " -> "Kind: HDFS_DELEGATION_TOKEN, Service: yyy:yyy:yyy:yyy:8020, Ident: (HDFS_DELEGATION_TOKEN token 328709 for test)"
3、当Spark更新ha token时,DFSClient不会自动生成namenode token。
DFSClient将仅使用namenode token和2个Namenode通信。
4 FileSystem具有缓存,调用FileSystem.get将获得一个缓存的DFSClient,该缓存具有旧的namenode token。
Spark仅更新ha令牌,但DFSClient将使用namenode token。
所以造成了失效的情况
通过spark.hadoop.fs.hdfs.impl.disable.cache=true 配置来禁用缓存,拿到最新DFSClient来更新namenode token。这样就不会有这个问题了。
相关
thrift server 运行2天后,内存暴增,请问可能原因
三台服务器,每个regionserver的请求都有上千?将thrift的最大线程数再调大,thrift的内存调大看看,ulimit参数调大hbase-env.shexportHBASE_THRIFT_OPTS="-Xmx1g-Xms1g-Xmn512m"这里设的是1g,可以根据情况调大节俭悖论(Paradox of thrift)
【答案】:传统的观点认为勤俭节约是一种美德,但是凯恩斯却提出了与之相矛盾的观点。根据凯恩斯的国民收入决定理论,国民产出由包含消费支出的总需求决定,也就是说,消费支出的增加会引起国民产出的增加,消费支出的减少会引起国民产出的减少,即消费变动与国民产出变动呈正向变动关系。同时由凯恩斯的消费理论可知消费与储蓄具有互补关系,因而可得储蓄变动与国民产出变动呈反向变动关系。也就是说,增加储蓄会减少国民产出,使国家经济衰退,对于社会来讲是恶的;而减少储蓄会增加国民产出,使经济繁荣,对于社会来讲是好的。这种矛盾被称为“节俭悖论”。