在CentOS6.5安装CDH5.8

安装前准备

1 网络配置【所有节点】

更改ip

vi /etc/sysconfig/network-scripts/ifcfg-eth0 引用:
DEVICE=eth0                  #设备名称,不要修改
BOOTPROTO=static       #不要修改
BROADCAST=10.10.22.255 #广播地址,一般为本网段的最后一个IP
IPADDR=10.10.22.145         #ip地址
GATEWAY=10.10.22.1        #网关
NETMASK=255.255.255.0  #子网掩码
NETWORK=10.10.22.0       #网段地址
ONBOOT=yes                     #不要修改
TYPE=Ethernet                   #不要修改
DNS1=202.96.128.166       #主DNS1地址
DNS2=202.96.134.133       #备用DNS2地址

service network restart重启网卡

临时修改 hostname,执行hostname <主机名>

永久修改 hostname,修改/etc/sysconfig/network 文件

vi /etc/sysconfig/network

添加如下内容

NETWORKING=yes

HOSTNAME= #每个节点改成相应主机名

NETWORKING_IPV6=no

PEERNTP=no

重启机器

配置 hosts(不要用浮动 ip,用内网 ip,可用 ifconfig 查看 ip),执行

vim /etc/hosts   添加

10.138.1.10 cdh-1

10.138.1.11 cdh-2

10.138.1.12 cdh-3

保存退出

2.设置 ssh 免密登陆【所有节点】

生成无密码的密钥对

ssh-keygen -t rsa

一路回车 将生成的公钥添加到本地认证文件中

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

设置 authorized_keys 的访问权限

chmod 600 /root/.ssh/authorized_keys

**以上步骤先在每个节点上先执行一遍,然后执行下面操作

将每个节点上生成的 id_rsa.pub 复制到其他所有节点并添加到它们的认证文件中

比如:cdh-1 上生成的 id_rsa.pub,复制到 cdh-2 和 cdh-3 上

#cdh-1 上执行 scp /root/.ssh/id_rsa.pub cdh-2:/root/

#cdh-2 上执行 cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

#cdh-1 上执行 scp /root/.ssh/id_rsa.pub cdh-3:/root/

#cdh-3 上执行 cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

其余节点类似操作 验证是否配置免密登录成功 比如执行ssh root@cdh-2

看是否需要输入密码

3.安装 Oracle 的 JDK【所有节点】

CDH5 需要使用 Oracle 的 JDK,需要 Java 7 的支持。 卸载自带的 OpenJDK

查询 java 相关的包

rpm -qa | grep -i jdk

卸载之

rpm -qa | grep openjdk | xargs rpm -e –nodeps

安装 Oracle jdk 7 采用 tar.gz 包方式安装,解压压缩包 jdk1.7.0_67.tar.gz,并且将解压的到的文件夹 jdk1.7.0_67 复制到/usr/java/jdk1.7(该目录是 Cloudera Manager 查找 JAVA_HOME 的一 个路径)

tar zxvf jdk1.7.0_67.tar.gz

mkdir -p /usr/java/jdk1.7

mv jdk1.7.0_67/* /usr/java/jdk1.7

rmdir jdk1.7.0_67

配置环境变量 vi /etc/profile

将以下内容添加到 profile

export JAVA_HOME=/usr/java/jdk1.7

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后刷新

source /etc/profile

4.安装配置 MySQL5.7【主节点】

安装 perl 和 numactl

虚拟机系统为 centos6.5-leo,没有 perl 和 numactl 为了 yum 顺利进行,配置/etc/resolv.conf,删除原来的 nameserver,添加

nameserver 192.168.1.1

nameserver 114.114.114.114

安装 perl 和 numactl

yum install -y perl

yum install -y numactl

卸载已有的 mysql 相关包

rpm -qa | grep mysql

rpm -e --nodeps 【包名】

rpm 安装 mysql

rpm -ivh mysql-community-common-5.7.15-1.el6.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.15-1.el6.x86_64.rpm

rpm -ivh mysql-community-client-5.7.15-1.el6.x86_64.rpm

rpm -ivh mysql-community-server-5.7.15-1.el6.x86_64.rpm

设置开机启动

chkconfig mysqld on

启动 mysql 服务

service mysqld start

关闭密码校验

echo "validate_password=off" >> /etc/my.cnf

重启 mysql 服务

service mysqld restart

查看 root 的初始密码

cat /var/log/mysqld.log | more | grep password

修改 mysql root 密码

mysql -uroot -p[查看得到的密码]

[root@localhost ~]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.12

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set password=’123qwe’;

Query OK, 0 rows affected (0.00 sec)

mysql> exit

Bye

mysql 创建数据库 amon,且给 root@[主节点] 赋权限

create database amon DEFAULT CHARSET utf8 COLLATE

utf8_general_ci;

grant all privileges on *.* to 'root'@'cdh-1' identified by '123qwe';

flush privileges;

创建数据库用做测试

#10.21.1.10 换成主节点 hostname

create database hive;

grant all privileges on hive.* to hive@'localhost' identified by 'hive';

grant all privileges on hive.* to hive@'cdh-1' identified by 'hive';

create database hue;

grant all privileges on hue.* to hue@'localhost' identified by 'hue';

grant all privileges on hue.* to hue@'cdh-1' identified by 'hue';

create database monitor;

grant all privileges on monitor.* to monitor@'localhost' identified by 'monitor';

grant all privileges on monitor.* to monitor@'cdh-1' identified by 'monitor';

create database reports;

grant all privileges on reports.* to reports@'localhost' identified by 'reports';

grant all privileges on reports.* to reports@'cdh-1' identified by 'reports';

create database oozie;

grant all privileges on oozie.* to oozie@'localhost' identified by 'oozie';

grant all privileges on oozie.* to oozie@'cdh-1' identified by 'oozie';

flush privileges;

create database navigatoraudit;

grant all privileges on navigatoraudit.* to navigatoraudit @'localhost' identified by 'navigatoraudit';

grant all privileges on navigatoraudit.* to navigatoraudit @'cdh-1' identified by 'navigatoraudit';

create database navigatormetadata;

grant all privileges on navigatormetadata.* to navigatormetadata @'localhost' identified by 'navigatormetadata';

grant all privileges on navigatormetadata.* to navigatormetadata @'cdh-1' identified by 'navigatormetadata';

flush privileges;

5 关闭防火墙和 SELinux 【所有节点】

注意: 需要在所有的节点上执行,因为涉及到的端口太多了,临时关闭防火墙是为了安装 起来更方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。

关闭防火墙

service iptables stop

或永久关闭

chkconfig iptables off

关闭 SELinux 临时关闭

setenforce 0

永久关闭,编辑/etc/selinux/config

vi /etc/selinux/config

改为

SELINUX=disabled

重启后生效

6 配置 NTP(Network Time Protocol)服务【所有节点】

集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。

具体思路如下: master 节点作为 ntp 服务器与外界对时中心同步时间,随后对所有 slave 节点提供时间同 步服务。

所有 slave 节点以 master 节点为基础同步时间。

所有节点安装相关组件,如果已经有 ntp 服务则无需安装

yum install -y ntp

开机启动

chkconfig ntpd on

检查是否设置成功

chkconfig --list ntpd

其中 2-5 为 on 状态就代表成功。

 主节点 ntpserver 配置

ntp 服务只有一个配置文件/etc/ntp.conf

vi /etc/ntp.conf

driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

启动服务

service ntpd start

命令查看同步状态

ntpstat

出现以下状态代表启动成功,一般等待 5-10 分钟才能同步

synchronised to NTP server (202.112.10.36) at stratum 5

time correct to within 122 ms

polling server every 512 s

 slave 节点 ntp 客户端配置

编辑配置文件/etc/ntp.conf

vi /etc/ntp.conf

drtrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server yeexun-19 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

请求服务器前,请先使用 ntpdate 手动同步一下时间

ntpdate -u cdh-1 #主节点 ntp 服务器

这里可能出现同步失败的情况,请不要着急,一般是本地的 ntp 服务器还没有正常启动,一 般需要等待 5-10 分钟才可以正常同步。 启动服务

service ntpd start

7 安装 perl【所有节点】

由于虚拟机系统为 centos6.5-leo,无 perl,需要先安装

为了 yum 顺利进行,配置/etc/resolv.conf,删除原来的 nameserver,添加

nameserver 192.168.1.1

nameserver 114.114.114.114

安装 perl 和 numactl

yum install -y perl

yum install -y numactl

安装 Cloudera Manager

解压 cloudera manager

tar zxvf cloudera-manager-el6-cm5.8.1_x86_64.tar.gz

cloudera manager 的目录默认位置在/opt 下,将解压后的 cm-5.8.1 和 cloudera 目录放到 /opt 目录下

cp -r cm-5.8.1 /opt

cp -r cloudera /opt

为 Cloudera Manager 5 建立数据库

添加 mysql-connector 到/opt/cm-5.8.1/share/cmf/lib 目录下

cp mysql-connector-java-5.1.26-bin.jar /opt/cm-5.8.1/share/cmf/lib/

在 mysql 中创建 CDH MANAGER 对应的 database 和 user 及 password

CREATE USER 'cm'@'localhost' IDENTIFIED BY '123qwe';

GRANT ALL PRIVILEGES ON *.* TO 'cm'@'localhost' ;

CREATE USER cm IDENTIFIED BY '123qwe';

GRANT ALL PRIVILEGES ON *.* TO cm ; flush privileges;

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

/opt/cm-5.8.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123qwe --scm-host localhost scm scm scm

Agent 配置

修改/opt/cm-5.8.1/etc/cloudera-scm-agent/config.ini 中的 server_host 为主节点的主 机名【cdh-1】同步 Agent 到其他节点

scp -r /opt/cm-* root@cdh-2:/opt

scp -r /opt/cm-* root@cdh-3:/opt

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

useradd --system --home=/opt/cm-5.8.1/run/cloudera-scm-server/ - -no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

准备 Parcels,用以安装 CDH5

将 CDH5 相关的 Parcel 包放到主节点的/opt/cloudera/parcel-repo/目录中(如果没有该 目录,则手动创建)

相关的文件如下:

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha

manifest.json

启动脚本 启动服务端

/opt/cm-5.8.1/etc/init.d/cloudera-scm-server start

启动 Agent 服务【所有节点(包括 master)】 创建目录否则会启动失败

mkdir /opt/cm-5.8.1/run/cloudera-scm-agent

/opt/cm-5.8.1/etc/init.d/cloudera-scm-agent start

我们启动的其实是个 service 脚本,需要停止服务将以上的 start 参数改为 stop就可以了, 重启是 restart,查看状态是 status。 出现问题时,需要查看日志来排查问题 agent 和 server 的日志目录分别如下

#agent 端 agent 的日志目录

/opt/cm-5.8.1/log/cloudera-scm-agent/cloudera-scm-agent.log

#server 的日志目录

/opt/cm-5.8.1/log/cloudera-scm-server/cloudera-scm-server.log

出现问题根据里面的日志来排查问题

用 Cloudera Manager 配置集群

     Cloudera Manager Server 和 Agent 都启动以后,就可以进行 CDH5 的安装配置了。 这时可以通过浏览器访问主节点的 7180 端口测试:http://主节点:7180 一下了(由于 CM Server 的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为 admin。

登录后出现用户许可条款和条件页面

点击继续,选择版本,继续

继续

为 CDH 群集安装指定主机,如果 agent 启动正确,则会自动出现配置的机器

各个 Agent 节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的 节点,点继续。 接下来,出现以下包名 CDH-5.8.0-1.cdh5.8.0.p0.42,说明本地 Parcel 包配置无误,直接点继续就可以了。

点击,继续,如果配置本地 Parcel 包无误,那么下图中的已下载,应该是瞬间就完成了, 然后就是耐心等待分配过程就行了。

验证主机正确性,可根据提示做出相应修改,比如: 配置 swap 及切片,编辑文件/etc/sysctl.conf

vi /etc/sysctl.conf

添加    vm.swappiness=0

关闭大的切片

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

选择需要安装的 CDH5 服务(选择所有服务)

群集设置-角色分配,保持默认即可

群集设置-测试数据库连接 由于前面卸载了 mysql-libs,影响到 hue 的测试,重新安装 mysql-libs

rpm -ivh compat-mysql51-5.1.73-1.el6.remi.x86_64 yum install libxslt -y

输入前期创建的 hive、hue、reportsmanager 和 oozieserver 的数据库,用户名和密码

 群集设置-审核更改,保持默认

终于到安装各个服务的地方了,注意,这里安装 Hive 的时候可能会报错,因为我们使 用了 MySql 作为 hive 的元数据存储,hive 默认没有带 mysql 的驱动,通过以下命令拷贝一 个就行了:

cp mysql-connector-java-5.1.26-bin.jar /opt/cloudera/parcels/CDH-5.8.0-1.cdh5.8.0.p0.42/lib/hive/lib/

oozie 安装可能出现缺 mysql jdbc 包

cp mysql-connector-java-5.1.26-bin.jar /var/lib/oozie

接下静静地等待即可

安装完成后,就可以进入集群界面看一下集群的当前状况了

用 Cloudera Manager 安装服务

1.安装 HDFS

选择添加服务,选择要安装的 NameNode 主机 以及 DataNode 主机。选择好要安装的 主机后点击继续

等待 CM 自动安装,没有错误点击继续即可

2.向集群中添加 YARN

选择添加的服务 YARN

选择要添加的 YARN

配置 YARN 的 Resourcemanager 和 NodeManager 这里选择 yeexun-1 做为 Resourcemanager,(主节点),选择后点击继续

审核 选择 NodeManager 的本地目录,完成后点击继续

等待 CM 自动安装 YARN,完成没有错误后点击继续

YARN 安装成功

3.安装 zookeeper

选择添加服务,选择要安装的 Zookeeper

为添加的 Zookeeper 选择 Server,点击继续

添加 Zookeeper 的数据目录(默认)即可,点击继续

等待 CM 自动安装 Zookeeepr

4 安装 Hbase

选择添加服务

选择安装的 Master,RegionServer。选择完成后点击继续。

使用默认的路径,点击继续。

等待 CM 自动安装好 Hbase。

5 安装 Hive

选择添加服务,添加 Hive

为 Hive 选择一组依赖,点击继续

配置Hive主机

选择 Hive 要连接的数据库,在 MySQL 中创建 Hive 数据库,创建用户 hive,给 hive 设置 权限。

创建 Hive 的数据仓库目录

等待 CM 自动添加。(在自动创建时可能会出现报错,因为 MySql 作为的元数据存储,hive 默认没有带 mysql 驱动,通过以下设置:

cp mysql-connector-java-5.1.26-bin.jar /opt/cloudera/parcels/CDH-5.8.0- cdh5.8.0.p0.42/lib/hive/lib/

cp mysql-connector-java-5.1.26-bin.jar /var/lib/hive/)

等待安装完成,点击继续

6 安装 OOzie

添加服务,创建 OOZie

为 Oozie 选择一组依赖关系

选择配置 Oozie Server 的主机

选择 Oozie 的数据库。在 Mysql 中创建 Oozie 数据库,创建 Oozie 用户,设置权限。 测试数据库连接是否成功。

等待 CM 自动安装,安装过程中可能会报错,找不到 mysql 驱动包 解决:cp mysql-connector-java-5.1.26-bin.jar /var/lib/oozie 完成后点击继续

7 安装 Sqoop

选择要安装的 Sqoop 服务,设置 Sqoop 的主机。

设置目录(默认)

等待 CM 自动安装

8 安装 Hue

添加服务,安装 Hue,为 Hue 设置安装的主机。

在 MySQL 里创建 hue 数据库,并且给用户设置权限。在这里可能会报错,因为千米那卸 载了 mysql-libs ,影响到 hue 的测试,要重新安装 mysql-libs rpm -ivh compat-mysql51-5.1.73-1.el6.remi.x86_64 yum install libxslt -y 然后测试数据库连接就可以了

.等待 CM 自动安装,完成后点击继续。

安装完成

9 安装 Flume

添加 Flume 服务,CM 会自动安装(过程较快)

10 安装 KafKa

添加安装 Kafka 服务。设置安装 Kafka 服务的主机。

在安装之前由于缺少 Kafka 包所以点击继续会报错,在这里我们先把包导入 cp /root/cdh5/packages/cdh5/KAFKA* /opt/cloudera/parcel-repo/ 然后对包进行分发

在点击继续之前我们要对 Java Heap Size of Broker 进行设置,在 kafka 的配置里面。设置为 1 G 防止内存溢出

然后点击继续,就可以等待 CM 自动安装 kafka 了。

11 安装 Spark

添加安装 Spark 服务。选择安装 Spark 的主机,点击继续。

等待 CM 自动安装 Spark 服务。完成后点击继续。

猜你喜欢

转载自blog.csdn.net/someInNeed/article/details/84655759