thrift的源码
① spark thrift server 与 网易 kyuubi thrift server
thrift server可以实现通过jdbc, beeline等工具,实现连接到spark集群,并提交sql查询的机制。
默认情况下,cdh安装的spark没有包含thrift server模块,因此我们需要重新编译spark。
另外,为了不影响cdh自带的spark,而且spark目前都是基于yarn运行的,本身也没有什么独立的服务部署(除了history sever)。
所以,在一个集群中,可以部署安装多个版本的spark。
我们使用源码编译的spark 2.4.0(其中hive的版本是1.2.1)
cdh集成的spark版本和Hive版本如下:
使用jdk1.8
修改spark提供的mvn,使用自行安装的maven 3.8.1
使用make-distribution.sh可以帮助与我们编译之后打包成tgz文件
修改pom.xml文件的配置如下。
最后,执行编译命令如下:
这样打出的包,就含有thrift server的jar包了。
最终打包文件,根目录下。
之后就是解压到其他目录下后即可。
将hive-site.xml的文件连接过来,这样spark就可以读取hive的表了。
为了确保spark提交到yarn上运行,需要配置
cp spark-defaults.conf.template spar-defaults.conf
另外,可以在spark-env.sh中设置环境变量。
HADOOP_CONF_DIR
环境变量,也可以在/etc/profile中设置
启动日志可以查看,注意下端口占用问题,如下。
启动时候,使用beeline工具连接上,主要这里不用使用cdh默认安装hive提供的beeline工具,应为版本太高。
使用编译后spark生成beeline工具
参考beeline使用教程。
https://github.com/apache/incubator-kyuubi
kyuubi是基于thrift sever二次开发,在系能和安全上优于thrift server。
鉴于目前hive的版本是2.1,而最新的kyuubi的hive是2.3,所以采用前天版本的kyuubi,采用0.7版本,保证hive的版本小于当前集群中的hive版本。
使用build目录下的dist脚本进行编译和打包。
编译成功后,会在更目录下出现tar.gz的压缩文件,如上图。
之后解压到目录下。
配置bin/kyuubi-env.sh脚本,设置spark路径
执行bin/start-kyuubi.sh命令即可。
访问的方式同样采用beelin,注意使用上面章节的beeline工具。
访问后,可以通过beeline访问到hive的表(在spark中已经配置了hive-site.xml)
!connect jdbc: hive2://xxxx:10009 即可。
② 关于php学习,哪个网站资料比较合适
做PHP相关工作已经有7年了,如果是初学者,推荐有两个PHP100、PHP CHINA.
PHP100
-------------
PHP100中文网是国内第一家以PHP资源分享为主的专业网站,也提供了PHP中文交流社区。面向PHP学习研究者提供:最新PHP资讯、原创内容、开源代码和PHP视频教程等相关内容。
PHP100中的100个视频,虽然看着有点多,但是如果想入门的话,10几个视频就可以了,这里面不仅有入门的教程,还有中阶、高阶的教程,完全可以把你从一个什么都不懂的PHP菜鸟,变成PHP的使用高手。
介绍php开发环境,让您快速搭建您的工作环境,测试环境,开始PHP的编程之旅;php开发工具
,工欲善其事必先利其器,IDE,数据库管理,版本控制等等,称心..,带你进行PHP语言开发,手把手在视频教程中教你如何开发一个留言板功能,学会这些,你就可以入门了。
当然如果遇到问题怎么办,PHP100还有一个技术论坛,分类也很全,不仅包含PHP技术相关的内容,还包含PHP相关的好多技术语言,例如linux、apache、mysql、javascript、ajax等等。
PHP CHINA
----------------
之所以推荐这个,是因为,N年前我自己就是在这里进行过培训的学员,也是深受益处,还有个很出名的开源论坛也是出自这里的,Discuz! ,这里不仅有学习相关的资料,也可以报名进行培训,还可以学习Discuz!相关的源码。
当然这里也有一个属于自己的论坛,里面有一部分人都是初学者,都是在这里做培训的学员,所以会看到很多初级的问题,也可以提一些基础问题,很多人会帮你解答。
当然别的地方也会有很多资料很全的网站,以上两个只是个人推荐,希望对你有帮助
③ 如何在windows下安装openstack的依赖包
本文主要讲述在windows系统中如何安装openstack源代码的依赖包,以便于在windows操作系统下进行源码阅读。为了可以在windows下阅读openstack源码,首先我们需要在windows系统下安装python2.7。安装好后将python目录配置到系统的环境变量中(我的电脑->属性->高级->环境变量)。可以在命令行输入echo %PATH%观察系统其值是否发生了变化。如果发生了变化可以继续安装pip。如果没有包括python的路径则需要注销电脑,重新登陆或者重启电脑。
为了完成pip的安装,首先需要安装setuptools,下载完成后解压,然后使用命令行进入到解压后的目录,输入pythonsetup.py install进行安装。安装完成后就可以下载pip进行安装了,其安装过程与setuptools一样。在pip安装完成后,需要修改Path环境变量,将python目录下的Scripts添加进环境变量。然后参考上一段的做法激活环境变量后就可以使用pip方面地安装扩展包了。
在完成上面的操作后就可以安装openstack源代码中所需要的扩展包的。其安装命令主要是pip installrequirements.txt 或者pip install-r tools/requirements。至于执行哪个命令要根据openstack组件的源代码结构而定。
下面主要说明安装过程可能出现的问题。
1)distutils.errors.DistutilsError: Setup script exited with error:Unable to find vcvarsall.bat
注意:系统可能需要安装vs2008,因为windows python以来vc++ 2008版本的。
2)UnicodeDecodeError:'ascii' codec can't decode byte 0xb2 in position 0: ordinal not in range
3)以下这些扩展包需要手动安装或者下载安装,不能使用pip安装
A.pyOpenSSL
B.lxml
C.cffi
D.pycparser
E.thrift
F.mysql-python