CDH集群搭建详细步骤

CDH集群搭建笔记

企业:
	第一个方面:
		数据分析
	第二个方面:
		数据检索

基本组件:
	* Zookeeper
		分布式协作框架
			节点数目
				测试集群:3 个
				生产集群:
					>> 小型集群, 3 个或者 5个
					>> 中型机群,5 个 或者 7个
					>> 大型机群, 奇数个
	* HDFS
		存储海量数据
	* YARN
		集群资源管理
		资源调度
	* MapReduce
		并行计算框架
		思想:
			分而治之
			分:map 
			合:reduce

集群大小:
>>> 测试集群
		机器数量:
				5 台   -  10 台
		机器配置:
				>> 内存:24 G /   32 以上
				>> 硬盘:4 TB  以上
				>> CPU 核:6 核CPU 以上
				>> 网卡:万兆
				

>>> 生产集群
	>> 小型集群
		机器数量:
				20 台以下
	>> 中型机群
				50 台以下
	>> 大型机群
				50 台以上


============================Hadoop 发行版本================================
>> Apache

>> CDH
	Cloudera公司
		只支持64位操作系统
安装
	>> tar 包
		http://archive.cloudera.com/cdh5/cdh/5/
	>> rpm 包
		http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/
	>> parcels 包
		cdh 4.1.2 以后才有的
		官方推荐的安装方式
		Cloudera Manager进行安装

>> HDP
	Hortonworks


公司版本:
	apache   ->   cdh    |   hdp 
面试题:
	apache与cdh的比较??为什么选择了cdh???


>>>>>>>>>>>>>>>>>>>>集群环境准备>>>>>>>>>>>>>>>>>>>>
>> 机器
	>> 磁盘阵列
			RAID 0   RAID1  JBOD
			RAID 1 
					两块磁盘映射为一块磁盘使用。
					CentOS 6.4版本,其中一块磁盘损坏,不会影响系统
			JBOD 
				DataNode存储数据推荐的方式
				/dfs/data01
				/dfs/data02
				/dfs/data03
				/dfs/data04

	>> 操作系统
		redhat 6.x /CentOS 6.x
		6.4						6.4
	
>> 系统
	>> IP 地址
		尽可能在同一网段,
		交换机\ 机架Rack
	>> 主机名
		Master  //一般可以写成 name.company.com形式
		slaves1
		
		cmd:
			# hostname 
			# vi /etc/sysconfig/network    //使hostname永久生效
	>> Ip 与 主机名 映射
		# vi /etc/hosts  //查看hostname
		注意:
			如果是客户端的机器,也需要添加映射
		>>>禁用IPv6
		# echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
		# echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf	
		
	>> 普通用户
			用于安装软件
			# adduser beifeng
			# passwd beifeng
	>> 配置普通用户的sudo权限
		/etc/sudoers
		>>> 写权限
		# chmod u+w /etc/sudoers 
		>>> 添加
		# vi /etc/sudoers 
			内容:
				beifeng ALL=(root)NOPASSWD:ALL
		>>> 收回权限
		# chmod u-w /etc/sudoers 
	>> 防火墙
		关闭
		$ sudo service iptables stop 关闭防火墙
		$ sudo chkconfig iptables off 永久关闭防火墙
sudo service iptables status 查看防火墙状态
sudo chkconfig --list|grep iptables 查看linux各级别防火墙
	>> Selinux
		禁用
		$ sudo vi /etc/sysconfig/selinux
			内容:
				SELINUX=disabled
	>> 卸载JDK
		$ sudo rpm -qa|grep java 查看什么版本的java
		$ sudo rpm -e --nodeps xxx yyy zzz 用空格隔开需要卸载的java各个版本

	>> 设置文件打开数量和用户最大进程数
		>> 文件打开数量
		$ ulimit -a 
		>> 用户最大进程数
		$ ulimit -u
		>> 设置
		$ sudo vi /etc/security/limits.conf 
			内容:追加
				* soft nofile 65535
				* hard nofile 65535
				* soft nproc 32000
				* hard nproc 32000 
		
>> 软件
	>> 集群时间同步
		·找一台机器作为【时间服务器】	
			Master
sudo rpm -qa|grep ntp 查看是否装ntp(没有安装的话需要安装)
sudo vim /etc/ntp.conf
1.把 #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 的注释去掉
2.Ifconfig
3.把IP变成当前IP的网段,如192.168.11.0
4.把server 0.centos.pool.ntp.org的几个内容加上注释,因为是内网
5.把server 127.127.1.0 #local clock
和  fudge 127.127.1.0 stratum 10 两行注释去掉
这样时间服务器就配好了
sudo vi /etc/sysconfig/ntpd
第二行加上 SYNC_HWCLOCK=yes
sudo service ntpd status 查看ntp是否启动
sudo service ntpd start 启动
sudo chkconfig ntpd on 设置永久性启动
sudo chkconfig --list|grep ntpd
查看是否同步 正常显示 2,3,4,5 为on的状态
时间服务器单独配置即可,客户端按照下面的方式进行配置
		·客户端同步( 只需要在客户端配置同步)
			定任务
			Linux Crontab
Root用户操作 crontab -l 查看有无定时任务
crontab -e
0-59/10 * * * * /usr/sbin/ntpdate master  每10分钟同步一次和时间服务器
Date查看几台机器是否时间一致
sudo usr/sbin/ntpdate master 手动同步下时间

然后重启服务器,使某些配置生效,如Ipfconfig 


>>>>>>>>>>>>>>>>>>>>搭建本地yum安装CDH5 Hadoop集群>>>>>>>>>>>>>>>>>>>>
>>> 安装CM 5.3.x
	断网 + rpm 安装 + yum本地源
	>> 软件下载
		>> 网站:
			
		>> cm-5.3.6 bin文件
			http://archive.cloudera.com/cm5/installer/5.3.6/ 
			http://archive.cloudera.com/cm5/installer/5.3.6/cloudera-manager-installer.bin 
		>> cm-5.3.6 依赖rpm包
			http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.6/ 
			http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.6/RPMS/x86_64/
第二个所有都下载下来
		>> 依赖其他包
			postgresq-libs  
			repo-libs
	
>>>>>>>>>>>>>>>>>>>>>>>>>>>>yum本地源>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
cd /etc/yum.repos.d/ 本地源
sudo rpm -qa|grep http 查看有无安装APACHE服务器
sudo service httpd status 查看状态
sudo service httpd start
sudo chkconfig httpd on

1) Apache 服务器
[beifeng@bigdata-cdh01 ~]$ sudo service httpd status
httpd is stopped
[beifeng@bigdata-cdh01 ~]$ sudo service httpd start
Starting httpd:                                            [  OK  ]
[beifeng@bigdata-cdh01 ~]$ sudo chkconfig httpd on
	
2)搭建本地源
建立云的目录结构
 cd cdhsoftware/
 cd /var/www/html
$ pwd
/var/www/html
$ sudo mkdir -p cm5/redhat/6/x86_64/cm/5.3.6/RPMS/x86_64/
$ pwd
/var/www/html/cm5/redhat/6/x86_64/cm/5.3.6/RPMS/x86_64
将软件移动到目录下
$ sudo mv /opt/softwares/cm-5.3.6/* .

建立文件,配置云地址
//cd /etc/yum.repos.d/
//sudo touch cloudera-manager.repo
//sudo vi cloudera-manager.repo
把 http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/cloudera-manager.repo
文件拷贝到 上面目录
vi cloudera-manager.repo 内容复制过来
在
http://master/cm5/redhat/6/x86_64/cm/5.3.6/RPMS/x86_64/cm-5.3.6/repodata/
创建 repodata/ 文件夹
把 http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5/repodata/
文件下的所有内容拷贝到上面的文件夹 (此步骤的错误,应该用命令生成该文件)

>>>
	$ sudo service cloudera-scm-server status
			
	
>>> 安装CDH 5.3.x
	......
cd /opt/cdhsoftware/postgresq-libs  数据库依赖包 重要
sudo rpm -ivh *.rpm     提示包冲突 --force解决
提示JDK错误
经过检查是repodata的问题,总是寻找最新版本,所以应该使用repo-libs进行安装
cd repo-libs目录
sudo rpm -ivh --force ./*.rpm 提示包冲突force解决 建立repodata里面的7条数据 重要
cd /var/www/html/cm5/redhat/6/x86_64/cm/5
命令sudo createrepo .  建立repodata里面的7个文件

删除cloudera-manager.repo里面的 内容为
[cloudera-manager]
name=Cloudera Manager
baseurl=http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5/
enabled=1
gpgcheck = 0

sudo ./cloudera-manager-installer.bin  开始安装cm 安装成功
然后开始安装CDH
CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.parcel
CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1
sudo mv ./* /opt/cloudera/parcel-repo/ 把上面两个文件移到该目录下
sudo mv CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1 CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha


sudo service cloudera-scm-server status 查看运行状态
sudo service cloudera-scm-server restart

cloudera-manager.repo文件留一个内容改成
[cloudera-manager]
name=Cloudera Manager
baseurl=http://master/cm5/redhat/6/x86_64/cm/5/
enabled=1
gpgcheck = 0

SLAVES机器 在cd /etc/yum.repos.d/ 目录下创建cloudera-manager.repo
内容按上面配置

sudo netstat -tnlp


问题 1:

	Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响: 
bigdata-cdh[01-03].ibeifeng.com


$ sudo sysctl -w vm.swappiness=0

# echo "vm.swappiness=0"  >> /etc/sysctl.conf

问题 2:
	已启用“透明大页面”,它可能会导致重大的性能问题。
	版本为“CentOS release 6.4 (Final)”且发行版为“2.6.32-358.el6.x86_64”的 Kernel 
	已将 enabled 设置为“[always] never”,
	并将 defrag 设置为“[always] never”。
	请运行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”以
	禁用此设置,
	然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,
	这样当系统重启时就会予以设置。或者,升级到 RHEL 6.5 或更新版本,它们不存在此错误。将会影响到以下主机: 
bigdata-cdh[01-03].ibeifeng.com





=================CDH Hive=========================
<property>
  <name>hive.cli.print.header</name>
  <value>true</value>
</property>

<property>
  <name>hive.cli.print.current.db</name>
  <value>true</value>
</property>



===================CDH HBase=======================

作业:
	CDH 安装的HBase,如何配置压缩SNAPPY

create 't11', {NAME => 'cf1', COMPRESSION => 'SNAPPY'}



安装过程没有配置JAVA环境变量,因为之前已经配置过JDK1.8
ps -ef|grep java 查看用的是哪个版本的JAVA
vi /etc/profile 修改JAVA_HOME
source /etc/profile使其生效

hadoop checknative 检查压缩属性
插入数据测试压缩是直接可用的
create 't11',{NAME=>'cf1',COMPRESSION=>'SNAPPY'}
put 't11','1001','cf1:name','zhangsan'
put 't11','1001','cf1:age','18'
put 't11','1002','cf1:name','lisi'
flush 't11'
scan 't11'

猜你喜欢

转载自blog.csdn.net/wanghenghengheng/article/details/89207739