CDH搭建

CDH搭建

官网linux系统建议:
jdk1.7以上
内存最好8G以上(当然4G也可以,这里的案例是4G,3台机器 硬盘30G以上)
实验环境:
因为资源有限,这里准备了三台机器CentOS6.4-x64
192.168.43.121 cdh-bigdata-01(主节点cm-server 从节点cm-agent)
192.168.43.122 cdh-bigdata-02(从节点cm-agent)
192.168.43.123 cdh-bigdata-03(从节点cm-agent)
配置都是4G内存,网卡NAT模式

1、基本配置(所有机器都做)

主机名设置
	/etc/sysconfig/network
	/etc/hosts
	重启生效

2、关闭防火墙(所有机器都做)

	service iptables stop
	chkconfig iptables off

3、启动ntpd服务(所有机器都做)

	service ntpd start
	chkconfig ntpd on

4、关闭selinux服务–>disabled(/etc/selinux/config)(所有机器都做)

vim /etc/selinux/config
		#SELINUX=enforcing
		SELINUX=disabled

5、jdk(所有机器都做)

vim /etc/profile
	export JAVA_HOME=/opt/jdk	---->在下面执行的scm_prepare_database.sh脚本中要引用
	export PATH=$PATH:$JAVA_HOME/bin

6、安装msyql元数据库(其中一台服务器即可,这里在cdh-bigdata-01上)

-----在线安装
	yum -y install mysql-server
	service mysqld start
	chkconfig mysqld on
	mysql -uroot -proot
	mysql > grant all privileges on *.* to 'root'@'%' identified by 'root';
	mysql > flush privileges;
	------离线安装
	1)、卸载依赖
		[root@cdh-bigdata-01 opt]# rpm -qa | grep MySQL
		[root@cdh-bigdata-01 opt]# rpm -qa | grep mysql
			mysql-libs-5.1.71-1.el6.x86_64
		[root@cdh-bigdata-01 opt]# rpm -e --nodeps `rpm -qa | grep mysql`
	2)、安装服务端和客户端
		服务端
			[root@cdh-bigdata-01 opt]# rpm -ivh soft/MySQL-server-5.5.45-1.linux2.6.x86_64.rpm 
		客户端
			[root@cdh-bigdata-01 opt]# rpm -ivh soft/MySQL-client-5.5.45-1.linux2.6.x86_64.rpm 
	3)、启动MySQL服务,同时将其添加进开机启动项
		启动服务
			[root@cdh-bigdata-01 opt]# service mysql(离线安装的服务名称,在线安装的服务名称为mysqld) start
		添加进开机启动项
			[root@cdh-bigdata-01 opt]# chkconfig mysql on
	4)、设置root用户及其密码
		[root@cdh-bigdata-01 opt]# /usr/bin/mysql_secure_installation

7、设置/proc/sys/vm/swappiness为0。(所有机器都做)
因为CDH运行需要消耗大量的内存,默认值为60,也就是说当内存使用到100-60=40%的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整

	调整:
		vim /etc/sysctl.conf
		添加内容
			vm.swappiness=0
		重启可以生效,当然也可以激活:
			sysctl -p

8、关闭THP(所有机器都做)

透明大页的开启,同样会消耗掉大量的内容,(包括HDP和CDH)建议将其关闭,添加进/etc/rc.local
		echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
		echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
		echo never > /sys/kernel/mm/transparent_hugepage/enabled 
		echo never > /sys/kernel/mm/transparent_hugepage/defrag

9、设置SSH免密码登录(所有机器都做)

ssh-keygen -t rsa 一路回车
	ssh-copy-id -i root@host
	需要将预备的server的ssh-keygen拷贝到其它的agent机器上面(将cdh-bigdata-01的密钥拷贝到cdh-bigdata-02和cdh-bigdata-03)
	ssh-copy-id -i root@cdh-bigdata-01
	ssh-copy-id -i root@cdh-bigdata-02
	ssh-copy-id -i root@cdh-bigdata-03	

安装配置:
网络原因,需要下载的安装包非常多,造成安装过程非常缓慢,所以建议离线安装,
安装的CM版本为cloudera-manager-el6-cm5.6.0_x86_64.tar.gz,对应的CDH版本为CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel
下载地址
CM:http://archive.cloudera.com/cm5/cm/5/
cloudera-manager-el6-cm5.6.0_x86_64.tar.gz
CDH:http://archive.cloudera.com/cdh5/parcels/5.6.1/
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1(必须要下载)
manifest.json(必须要下载)
10、安装CM

约定:
		将下载好的cm和CDH上传到	root@cdh-bigdata-01:/opt/soft/
	解压:
		opt]# tar -zxvf soft/cloudera-manager-el6-cm5.6.0_x86_64.tar.gz
		
		在/opt目录下会出现两个子目录
		/opt/cm-5.6.0
		/opt/cloudera
		将mysql的驱动jar包拷贝到/opt/cm-5.6.0/share/cmf/lib/中做CM初始化元数据库使用
		opt]# cp soft/mysql-connector-java-5.1.39.jar /opt/cm-5.6.0/share/cmf/lib/

11、在主节点初始化CM5的数据库

/opt/cm-5.6.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hcdh-bigdata-01 -P3306 -uroot -proot --scm-host cdh-bigdata-01 scm scm scm
	or
	/opt/cm-5.6.0/share/cmf/schema/scm_prepare_database.sh mysql cm -uroot -proot --scm-host localhost scm scm scm
	
问题:MySQLSyntaxErrorException: Access denied for user 'root'@'%' to database 'cm'
	重新授权:
		grant all privileges on cm.* to 'root'@'%' identified by 'root' with grant option;
		drop database cm;

12、修改cm-agent

vim /opt/cm-5.6.0/etc/cloudera-scm-agent/config.ini
	修改
		server_host=cdh-bigdata-01
	同步到其它的机器
		scp -r /opt/cm-5.6.0 root@cdh-bigdata-02:/opt
		scp -r /opt/cm-5.6.0 root@cdh-bigdata-03:/opt

13、在所有节点创建cloudera-scm用户

useradd --system --home=/opt/cm-5.6.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 
准备Parcels,用以安装CDH5

14、将CDH5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo目录不存在的话需要手动创建)。

opt]# cp soft/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel /opt/cloudera/parcel-repo/
	opt]# cp soft/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
		注意,在/opt/cloudera/parcel-repo/目录下一定要.sha1后缀名改为.sha,不然系统不识别离线安装包,还会从网络中下载
	opt]# cp soft/manifest.json /opt/cloudera/parcel-repo/

15、启动相关服务端和客户端脚本

通过/opt/cm-5.6.0/etc/init.d/cloudera-scm-server start|stop|status|restart启动服务端。 
	通过/opt/cm-5.6.0/etc/init.d/cloudera-scm-agent start|stop|status|restart启动Agent服务。 (所有节点都要启动Agent服务,包括服务端)
基础配置完成,接下来就是在页面中进行配置了
	访问http://cdh-bigdata-01:7180
		用户名:admin,密码:admin
	按照提示一步一步完成安装配置

在安装过程中可能会遇到以下两个问题:
针对Hive、oozie、cms需要mysql驱动的问题

hive
		cp cm-5.6.0/share/cmf/lib/mysql-connector-java-5.1.39.jar /opt/cloudera/parcels/CDH-5.6.1-1.cdh5.6.1.p0.3/lib/hive/lib/
	oozie
		cp cm-5.6.0/share/cmf/lib/mysql-connector-java-5.1.39.jar /var/lib/oozie/
	Cloudera Management Service 	(只需要在配置了该服务的机器上配置即可)
		opt]# cp soft/mysql-connector-java-5.1.39.jar /usr/share/java/mysql-connector-java.jar

新增一个节点(jack-cdh-04)

	基本配置相同,同样要做jack-cdh-01到jack-cdh-04的ssh拷贝
	将cloudera-manager-el6-cm5.6.0_x86_64.tar.gz到新增的机器上
	tar zxvf cloudera-manager-el6-cm5.6.0_x86_64.tar.gz -C /opt/
	vim etc/cloudera-scm-agent/config.ini 设置server_host为scm机器--->jack-cdh-01
	useradd --system --home=/opt/cm-5.6.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 
	启动 etc/init.d/cloudera-scm-agent start
	在web页面添加完成配置

在cm所在的服务器上面启动
/opt/cm-5.6.0/etc/init.d/cloudera-scm-server start
如果服务端也部署的客户端,也要启动客户端
其他机器上面启动客户端
/opt/cm-5.6.0/etc/init.d/cloudera-scm-agent start
访问:http://<server.ip>:7180

需要注意:

向hdfs写数据的时候,权限报错,只需要修改/etc/hadoop/conf/hdfs-site.xml中的dfs.permissions选项
		<property>
			<name>dfs.permissions</name>
			<value>false</value>
		</property> 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值