CDH6安装文档

集群信息

集群信息

IP

hostname

节点类型

192.168.159.9

lbmaster

管理节点

192.168.160.221

lbnode1

数据节点

192.168.160.222

lbnode2

数据节点

192.168.160.198

lbnode3

数据节点

基础环境配置(所有主机都需要配置)

配置hosts文件

配置hosts文件,实现主机名与ip的映射

1、vi /etc/hosts

2、数据ip与主机的映射关系,如下图

1、因为所有主机的hosts文件都一致,为了减少重复工作使用scp命令拷贝到所有主机,

scp /etc/hosts root@192.168.160.221:/etc/

scp /etc/hosts root@192.168.160.222:/etc/

scp /etc/hosts root@192.168.160.198:/etc/

设置hostname

1、分别进入集群中的每个主机,设置hostname,需要注意的是hostname最好不好设置为大写,因为后续如果要开启kerberos的时候会报错。

2、在lbmaster主机上输入:hostnamectl set-hostname lbmaster

3、在lbnode1主机上输入:hostnamectl set-hostname lbnode1

4、在lbnode2主机上输入:hostnamectl set-hostname lbnode2

5、在lbnode3主机上输入:hostnamectl set-hostname lbnode3

6、验证 在每台主机上输入 hostname 看输出的结果是否与主机相对应

关闭防火墙与selinux文件

1、每台主机都需要关闭防火墙,并且selinux也需要置为disabled

2、在所有主机分别执行以下三条命令

systemctl stop firewalld

systemctl disable firewalld.service

iptables -F

3、关闭selinux 输入vi /etc/selinux/config,将SELINUX=disabled

4、其他主机一样,为了减少重复工作 使用scp拷贝到其他主机

scp /etc/selinux/config root@192.168.160.221:/etc/selinux

scp /etc/selinux/config root@192.168.160.222:/etc/selinux

scp /etc/selinux/config root@192.168.160.198:/etc/selinux

配置管理节点到数据节点的SSH免密

1、在管理节点(lbmaster) 节点下 ~/.ssh文件夹下执行ssh-keygen -t rsa (如果没有.ssh文件夹,就先ssh连接下别的机器),执行过程中按三次回车即可

2、执行完成后会生成以下文件

3、将公钥发送给其他节点,有提示输入的yes的就输入yes,输入密码就输入主机密码即可

ssh-copy-id lbmaster

ssh-copy-id lbnode1

ssh-copy-id lbnode2

ssh-copy-id lbnode3

4、测试,ssh到任意一台主机不用输入密码即可进入,这样就算是配置成功

配置NTP服务实现时钟同步

1、所有节点都需要安装ntp,如果没有ntp先安装ntp,一般集群无法连接外网,可以先完成配置本地源的操作

yum install -y ntp

2、在lbmaster修改ntp.conf 输入vi /etc/ntp.conf ,注释其他时间服务器,添加为本机

server 127.127.1.0

fudge 127.127.1.0 stratum8

2、在其他节点(lbnode1\lbnode2\lbnode3)修改ntp.conf文件 输入vi /etc/ntp.conf 在26行添加server lbmaster iburst,注释其他时间服务器

3、在所有节点启动ntp服务

systemctl start ntpd

systemctl enable ntpd

4. 验证是否成功设置开机自启动

systemctl list-unit-files |grep enabled | grep ntpd

安装JDK

JDK最好安装1.8的,因为CDH6.0以后JDK版本最低为1.8

1、所有主机卸载系统自带的openjdk(如果没有就可跳过)

2、使用 rpm -qa | grep jdk 检查系统是否有openjdk

3、卸载自带openjdk 在每个主机输入 rpm -qa|grep openjdk |xargs -I {} rpm -e --nodeps {}

4、将准备好的jdk上传到各个主机中

5、在所有主机中输入 rpm -ivh jdk-8u111-linux-x64.rpm 进行安装

6、验证是否安装成功 输入 rpm -qa | grep jdk

CDH平台性能优化

Cloudera官网提供了一些性能优化的建议,尽可能的提高平台的效率,详情见https://docs.cloudera.com/documentation/enterprise/latest/topics/cdh_admin_performance.html#cdh_performance__section_hw3_sdf_jq

删除虚拟网卡

1、所有主机需要安装所需的依赖

yum install -y qumu-kvm* libvirt* virt-install* bridge-utils

2、所有主机运行 virsh net-destroy default

3、所有主机运行 virsh net-undefine default

静止透明大页

大页面(Huge Page)是内存分页管理的一种实现方式。计算机内存是通过表映射(页表)的方式进行内存寻址,目前系统内存以4KB为一个页,作为内存寻址的最小单元。随着内存不断增大,页表的大小将会不断增大。一台256G内存的机器,如果使用4KB小页,仅页表大小就要4G左右。页表是必须装在内存的,而且是在CPU内存,太大就会发生大量miss,内存寻址性能就会下降。

Huge Page就是为了解决这个问题,它使用2MB的大页代替传统小页来管理内存,这样页表大小就可以控制的很小,进而全部装在CPU内存,防止出现miss。它有两种实现方式,一是静态大页面(Static Huge Pages,SHP),二是透明大页面(Transparent Huge Pages,THP)。从它们的名字就可以看出,SHP是静态的,而THP是动态的。由于THP是在运行期做分配和管理,因此会有一定程度的延迟,对于内存密集型的应用十分不利,必须关闭它。

1、所有主机输入以下命令

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

2、所有主机的/etc/rc.local中也需要加入这两条命令

减少集群使用交换内存

swappiness设置值的区间在0~100之间,swap即交换空间,作用类似于Windows中的虚拟内存,也就是当物理内存不足时,将硬盘上的swap分区当做内存来使用。但是,由于磁盘的读写速率与内存相比差太多,一旦发生大量交换,系统延迟就会增加,甚至会造成服务长期不可用,这对于大数据集群而言是致命的。
vm.swappiness参数用于控制内核对交换空间的使用积极性,默认是60。值越高,就代表内核越多地使用交换空间。
对于内存较大的CDH集群,我们一般将这个值设为0或1。0表示只有当可用物理内存小于最小阈值vm.min_free_kbytes时才使用交换空间,1则表示最低限度地使用交换空间。

所有主机运行以下三条命令

sysctl -w vm.swappiness=0

echo 'vm.swappiness=0' >> /etc/sysctl.conf

sysctl -p

配置本地源安装HTTP与REPO

配置Yum源用于安装HTTP等软件,最终将本地源配置为网络源,让其他主机也可以使用该源下载软件,还有一个作用就是安装agent的时候需要下载一些依赖包。

安装HTTP服务与REPO

1、安装repo

yum install -y createrepo

2、安装httpd服务

yum install -y httpd

3、开启httpd服务并设为开机自启动

systemctl start httpd

systemctl enable httpd

准备系统镜像

1、创建文件夹用于存放系统镜像

mkdir -p /var/www/html/yum

2、上传镜像到/var/www/html/yum这个目录下面

挂载镜像

1、将/etc/yum.repos.d文件夹下用不到的配置文件全部进行重命名备份

2、新建redhat.repo文件

3、修改文件内容如下

4、停用redhat订阅插件(非必须)

yum.repos.d]# vim /etc/yum/pluginconf.d/subscription-manager.conf

5、挂载镜像

mount /var/www/html/yum/rhel-server-7.7-x86_64-dvd.iso /var/www/html/yum

6、验证是否挂在成功,执行yum list 如果出现大量的软件列表即挂载成功

将本地Yum源配置为网络Yum源

1、编辑 vi /etc/yum.repos.d/ redhat.repo 内容如下

2、验证 在浏览器中输入 http://192.168.159.9/yum/ 如果出现如下即为成功

3、将该yum源文件scp到其他主机

scp /etc/yum.repos.d/redhat.repo root@192.168.160.221:/etc/yum.repos.d/

scp /etc/yum.repos.d/redhat.repo root@192.168.160.222:/etc/yum.repos.d/

scp /etc/yum.repos.d/redhat.repo root@192.168.160.198:/etc/yum.repos.d/

外部数据库安装(在管理节点安装)

安装数据库主要存储元数据信息,比如CM监控,hive元数据等

准备Mysql rpm包

1、将Mysql所需的rpm包上传到lbmaster节点上

卸载系统自带的数据库

1、卸载系统自带的mariadb数据库 输入rpm -qa|grep mariadb | xargs -I {} rpm -e --nodeps  {}

安装Mysql数据库

1、按照以下步骤安装mysql数据库

rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm

2、开启数据库服务

systemctl start mysqld

systemctl enable mysqld

3、获取mysql初始化密码

grep 'temporary password' /var/log/mysqld.log

4、修改Mysql密码

mysql -uroot -p 输入上面获取到的密码

alter user root@localhost identified by '2wsx#EDC';

flush privileges;

创建所需的数据库并授权

1、输入以下命令 创建集群所需的数据库(一起复制)

mysql -uroot -p2wsx#EDC -e 'create database metastore default character set utf8;'

mysql -u root --password='2wsx#EDC' -e "create user 'hive'@'%' identified by '2wsx#EDC'";

mysql -u root --password='2wsx#EDC' -e 'create database hive default character set utf8';

mysql -u root --password='2wsx#EDC' -e "grant all privileges on hive.* to 'hive'@'%'";

mysql -u root --password='2wsx#EDC' -e "grant all privileges on metastore.* to 'hive'@'%'";

mysql -u root --password='2wsx#EDC' -e "create user 'amon'@'%' identified by '2wsx#EDC'";

mysql -u root --password='2wsx#EDC' -e 'create database amon default character set utf8';

mysql -u root --password='2wsx#EDC' -e "grant all privileges on amon.* to 'amon'@'%'";

mysql -u root --password='2wsx#EDC' -e "create user 'rman'@'%' identified by '2wsx#EDC'";

mysql -u root --password='2wsx#EDC' -e 'create database rman default character set utf8';

mysql -u root --password='2wsx#EDC' -e "grant all privileges on rman.* to 'rman'@'%'";

mysql -u root --password='2wsx#EDC' -e "create user 'sentry'@'%' identified by '2wsx#EDC'";

mysql -u root --password='2wsx#EDC' -e 'create database sentry default character set utf8';

mysql -u root --password='2wsx#EDC' -e "grant all privileges on sentry.* to 'sentry'@'%'";

mysql -u root --password='2wsx#EDC' -e "create user 'nav'@'%' identified by '2wsx#EDC'";

mysql -u root --password='2wsx#EDC' -e 'create database nav default character set utf8';

mysql -u root --password='2wsx#EDC' -e "grant all privileges on nav.* to 'nav'@'%'";

mysql -u root --password='2wsx#EDC' -e "create user 'navms'@'%' identified by '2wsx#EDC'";

mysql -u root --password='2wsx#EDC' -e 'create database navms default character set utf8';

mysql -u root --password='2wsx#EDC' -e "grant all privileges on navms.* to 'navms'@'%'";

mysql -u root --password='2wsx#EDC' -e "create user 'cm'@'%' identified by '2wsx#EDC'";

mysql -u root --password='2wsx#EDC' -e 'create database cm default character set utf8';

mysql -u root --password='2wsx#EDC' -e "grant all privileges on cm.* to 'cm'@'%'";

mysql -u root --password='2wsx#EDC' -e "create user 'oos'@'%' identified by '2wsx#EDC'";

mysql -u root --password='2wsx#EDC' -e 'create database oos default character set utf8';

mysql -u root --password='2wsx#EDC' -e "grant all privileges on oos.* to 'oos'@'%'";

mysql -u root --password='2wsx#EDC' -e "create user 'hue'@'%' identified by '2wsx#EDC'";

mysql -u root --password='2wsx#EDC' -e 'create database hue default character set utf8';

mysql -u root --password='2wsx#EDC' -e "grant all privileges on hue.* to 'hue'@'%'";

验证

1、进入数据库验证是否创建成功

CDH软件下载及配置

下载地址

公众号【五分钟学大数据】,回复关键字:cdh 即可获得百度云下载地址

所需文件

1、CM需要下载以下文件

2、CDH需要以下文件

上传文件

1、创建文件夹

mkdir /var/www/html/cdh6/

mkdir /var/www/html/cm6/

2、将CM文件和CDH文件上传到各自文件夹中

配置CM本地Yum源

1、进入 /var/www/html/cm6/ 文件夹

2、运行以下命令,用于执行本地yum操作

createrepo .

      

3、新建cm repo源并修改为以下内容(下图中的cm5.14有问题,应该是cm6,名称和上面文件夹名称一样)

touch /etc/yum.repos.d/cm.repo

      

4、将该cm源scp到其他节点

scp cm.repo root@lbnode1:/etc/yum.repos.d/

scp cm.repo root@lbnode2:/etc/yum.repos.d/

scp cm.repo root@lbnode3:/etc/yum.repos.d/

安装Cloudera Manager

1、在管理节点上安装Cloudera Manager

yum install cloudera-manager-daemons cloudera-manager-server

2、复制mysql-connect到/usr/share/java/,如果没有该文件夹可以自行创建

cp /opt/software/mysql/mysql-connector-java.jar /usr/share/java/

3、初始化数据库

CDH6: /opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm cm 2wsx#EDC

CDH5: /usr/share/cmf/schema/scm_prepare_database.sh mysql cm cm 2wsx#EDC

Mysql不在本机:

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm -h192.168.159.9 cm 2wsx#EDC

4、启动CM

systemctl start cloudera-scm-server.service

1、进入CM管理界面

http://192.168.159.9:7180/cmf/login

2、输入账号密码 默认 admin/admin

3、选择继续即可

4、同意协议,继续

5、选择企业版试用60天,继续

6、继续

7、继续

8、输入192.168.159.9~12,点击搜索

9、成功搜索后会出现可安装的主机 点击继续

10、配置CM库,输入http://192.168.159.9/cm6/

11、配置parcel自定义库,点击更多配置,在第一行输入http://192.168.159.9/cdh6/

12、已经安装过JDK所以取消,点击下一步

13、输入root密码,点击继续

14、等待安装

15、agent安装完成

16、开始安装大数据组件

17、安装成功 点继续

18、检查主机正确性 点继续

19、选择要添加的服务

20、角色分配,管理节点安装NameNode等管理角色,数据节点安装DataNode等角色,按照下图分配,然后点继续

21、设置各组件的数据库,点击测试

22、审核 默认即可

23、集群启动成功

24、至此集群安装完成

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值