CDH5.12.0+spark2.2.0

640?wx_fmt=png

  Spark推荐系统,干货,心得 

  点击上方蓝字关注~

 


在公司用CDH集群还是挺多的,之前有在公司部署一套CDH+SPARK2大数据开发集群,但CDH默认只支持spark1,安装spark2需要自己进行升级,现将部署过程进行整理,欢迎各位大佬指教~



CDH环境如下

Hadoop 2.6.0-cdh5.12.0 spark2-2.2.0

rehel 6.5x64

cdhmaster   192.168.114.210   部署CMserver    3G内存

cdhslave1  192.168.114.211  部署hadoop、spark主从节点  3G内存

cdhslave2   192.168.114.212  部署hadoop、spark从节点    2G内存


工具包准备 如下(自行下载)

640?wx_fmt=png

mysql安装包

640?wx_fmt=png

安装依赖包每个节点操作,非centos系统或不能上网需配置yum源

yum install chkconfig python2.6 bind-utils  psmisc libxslt zlibsqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb -y

 

基础环境搭建(每台都需要进行操作)

关闭iptables和selinux

[root@localhost ~]# /etc/init.d/iptables stop	
[root@localhost ~]# chkconfig iptables off	
[root@localhost ~]# setenforce 0	
[root@localhost ~]# getenforce 	
[root@localhost ~]# sed -i's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

时间同步

[root@localhost ~]# yum install ntp -y	
[root@localhost ~]# ntpdate ntp1.aliyun.com	
[root@localhost src]# yum install lrzsz dos2unix wget tre lsof-y

最好能够加到cron定时任务中;

免密码登陆

[root@localhost ~]# ssh-keygen -t rsa	
[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pubroot@192.168.114.211	
[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.114.212	
[root@localhost ~]# vi /etc/ssh/sshd_config	
UseDNS no	
GSSAPIAuthentication no	
[root@localhost ~]# /etc/init.d/sshd restart

hosts文件

[root@cdhmaster parcel-repo]# cat /etc/hosts	
127.0.0.1   localhostlocalhost.localdomain localhost4 localhost4.localdomain4	
::1         localhostlocalhost.localdomain localhost6 localhost6.localdomain6	
192.168.114.210 cdhmaster	
192.168.114.211 cdhslave1	
192.168.114.212 cdhslave2

jdk安装,环境变量等自行配置(具体过程省略)

[root@localhost src]# java -version	
java version "1.8.0_101"	
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)	
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

mysql安装---server端安装mysql

脚本一键安装了,或者参考文档:

http://www.ywlinux.com/archives/303


以下正式开始部署CDH

解压二进制包---所有节点操作

[root@localhost ~]# mkdir /opt/cloudera-manager	
[root@localhost ~]# cd /usr/local/src	
[root@localhost src]# tar xf cloudera-manager-el6-cm5.4.3_x86_64.tar.gz-C /opt/cloudera-manager/	
 	
tar xfcloudera-manager-centos7-cm5.12.0_x86_64.tar.gz   -C   /opt/cloudera-manager/	
 	
tarxvzf cloudera-manager-el6-cm5.12.0_x86_64.tar.gz  -C /opt/cloudera-manager/

创建用户---所有节点操作

useradd--system --home=/opt/cloudera-manager/cm-5.12/run/cloudera-scm-server/--no-create-home --shell=/bin/false --comment "clouder SCM user"cloudera-scm	
 	
useradd--system --home=/opt/cloudera-manager/cm-5.12.0/run/cloudera-scm-server/--no-create-home --shell=/bin/false --comment "clouder SCM user"cloudera-scm

修改CM agent---所有节点操作

vim/opt/cloudera-manager/cm-5.12.0/etc/cloudera-scm-agent/config.ini 

调整成对应CMserver的host

640?wx_fmt=png

配置CM数据库--在server端操作即可

[root@localhost src]# mv mysql-connector-java-5.1.26-bin.jar /usr/share/java/mysql-connector-java.jar这一步必须做,而且必须改名字为mysql-connector-java.jar,没有 /usr/share/java/目录自行创建	
创建一个mysql的用户temp	
mysql -uroot -p'mysql_123' -e "grant all on *.* to'temp'@'192.168.114.%' identified by 'temp' with grant option;"	
 	
cd /opt/cloudera-manager/cm-5.12.0/share/cmf/schema/	
 	
./scm_prepare_database.sh mysql -h 192.168.114.210 -utemp-p'temp' --scm-host 192.168.114.210 scm scm scm	
 	
./scm_prepare_database.shmysql -h 172.16.13.219 -P3307  -utemp-p'temp' --scm-host 172.16.13.219  scmscm scm

出现All done, your SCM database is configured correctly! 表示成功。

640?wx_fmt=png

 

创建parcel目录---server端操作

[root@cdh-1 schema]# mkdir -p /opt/cloudera/parcel-repo	
[root@cdh-1 schema]# id cloudera-scm	
uid=498(cloudera-scm) gid=498(cloudera-scm) groups=498(cloudera-scm)	
[root@cdh-1 schema]# chown -R cloudera-scm.cloudera-scm/opt/cloudera/parcel-repo


server拷贝自制的源

[root@cdh-1 schema]# cp /usr/local/src/CDH-*/opt/cloudera/parcel-repo/	
[root@cdh-1 ~]# cp /usr/local/src/manifest.json/opt/cloudera/parcel-repo/	
CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel	
CDH-5.12.0-1.cdh5.12.0.p0.29-el6.parcel.sha	
manifest.json

创建parcel目录---agent端操作

[root@cdh-2 src]# mkdir -p /opt/cloudera/parcels	
[root@cdh-2 src]# chown -R cloudera-scm.cloudera-scm/opt/cloudera/parcels

启动server(此步骤需要等待时间较长,可以通过日志进行观察)

[root@cdh-1 ~]#/opt/cloudera-manager/cm-5.12.0/etc/init.d/cloudera-scm-server start

启动较慢的时候观察日志tail  -f/opt/cloudera-manager/cm-5.12.0/log/cloudera-scm-server/cloudera-scm-server.log

把所有的agent启动

[root@cdh-2 ~]# /opt/cloudera-manager/cm-5.12.0/etc/init.d/cloudera-scm-agent  start

然后访问网页:初始用户名密码admin/admin

http://192.168.114.210:7180

640?wx_fmt=png

 

选择cloudera express ,在5.4以前的版本,节点是有50个的限制,现在都是无限制了

640?wx_fmt=png

会有些warning,尽量按照提示来修改。

[root@cdh-1 ~]# echo "0" > /proc/sys/vm/swappiness	
[root@cdh-1 ~]# echo 'vm.swappiness = 0' >>/etc/sysctl.conf 	
[root@cdh-1 ~]# sysctl -p

640?wx_fmt=png

 

自定义安装服务

我们先安装HDFS/yarn,其他的以后再安装

640?wx_fmt=png

 

spark2整合CDH

cdh默认支持spark1

创建csd目录---server

mkdir /opt/cloudera/csd

并将SPARK2_ON_YARN-2.2.0.cloudera1.jar传到该目录下

chgrp cloudera-scm SPARK2_ON_YARN-2.2.0.cloudera1.jar	
chown cloudera-scm SPARK2_ON_YARN-2.2.0.cloudera1.jar

上传parcel包到机器的/opt/cloudera/parcel-repo目录下

如果有其他的安装包,不用删除,但是如果本目录下有其他的重名文件比如manifest.json文件,把它重命名备份掉。然后把那3个parcel包的文件放在这里


640?wx_fmt=png

重启集群

把所有的agent重启--agent端操作

[root@cdh-2 ~]#/opt/cloudera-manager/cm-5.12.0/etc/init.d/cloudera-scm-agent  restart

重启server---server端操作(此步骤需要等待时间较长,可以通过日志进行观察)

[root@cdh-1 ~]#/opt/cloudera-manager/cm-5.12.0/etc/init.d/cloudera-scm-server restart

 

到管理界面操作看是否多了个spark2的选项。如下图,你这里此时应该是分配按钮,点击,等待操作完成后,点击激活按钮


640?wx_fmt=png

640?wx_fmt=png


激活后,点击你的群集-》添加服务,添加spark2服务。注意,如果你这里看不到spark2服务,就请检查你的CSD包和parcel包是否对应,上面的步骤是否有漏掉。正常情况下,应该是能用了


640?wx_fmt=png

640?wx_fmt=png

 

注意:安装spark2自己也会把spark进行安装

安装完进行如下调整,否则spark on yarn模式不能启动

vi/opt/cloudera-manager/cm-5.12.0/lib64/cmf/service/client/deploy-cc.sh 	
exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib	
exportPATH=$PATH:$JAVA_HOME/bin	
 	
vi/opt/cloudera/parcels/CDH-5.12.0-1.cdh5.12.0.p0.29/etc/spark/conf.dist/spark-env.sh	
exportSPARK_DIST_CLASSPATH=$(hadoop classpath)

配置gateway,在管理界面进行配置


640?wx_fmt=png

640?wx_fmt=png

测试spark2-shell是否可用

供参考:

640?wx_fmt=png

 

推荐阅读:

hive初学

spark-streaming 连接kafka

Docker上搭建Spark集群

idea本地调试spark,hive,kafka

640?wx_fmt=jpeg

长按识别二维码关注我们

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值