Hadoop集群的安装(CDH的方式)

因为资源有限,这里准备了三台机器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> 

猜你喜欢

转载自blog.csdn.net/weixin_43823423/article/details/85319225