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'
CDH集群搭建详细步骤
猜你喜欢
转载自blog.csdn.net/wanghenghengheng/article/details/89207739
今日推荐
周排行