CentOS7安装CDH5

一、准备环境

1.     安装环境

系统配置:
系统:centos 7 最小安装版 64
内存:20G 20G 20G

三台机器组成小集群(物理机)
DEV1 DEV2 DEV3

 

2.      需要下载的安装包

o    cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz

o    CDH相关

·        CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel

·        CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1

·        manifest.json

o    jdk-8u161-linux-x64.tar.gz

o    mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar

o    mysql-connector-java-5.1.46.tar.gz

 

二、环境配置

1.      基本配置(所有节点)

配置好网络环境。

 

修改 /etc/hostname
DEV1

修改 /etc/hosts

此处一定要注意,不要按照网上有的说明,将127.0.0.1那一行里的localhost.localdomain改成主机名称,在安装Cloudera Agent的时候会识别不出名称和IP

192.168.56.105 DEV1

192.168.56.106 DEV2

192.168.56.107 DEV3


修改 /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=DEV1

 

2.     Java环境(所有节点)

下载jdk-8u161-linux-x64.tar.gz

解压到/usr/java(可根据个人习惯创建目录)
tar xzvf jdk-8u161-linux-x64.tar.gz

配置环境变量
[root@DEV1 .ssh]# vim /etc/profile #在文件末尾添加下面三行

export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

[root@DEV1 .ssh]# source /etc/profile #
使生效

 

3.      SSH无密码登录(集群内节点能够互相无密码访问)

思路:第一台机器配置authorized_keysscp到第二台机器,将第二台机器的公钥添加到authorized_keys,然后将其scp到第三台,以此类推,直到配置到最后一台机器,将最后一台机器的authorized_keys scp到所有节点,如下

 

1)在主节点(DEV1)执行
[root@DEV1 .ssh]# ssh-keygen -t rsa
[root@DEV1 .ssh]# cat id_rsa.pub >> authorized_keys
[root@DEV1 .ssh]# chmod 600 authorized_keys
[root@DEV1 .ssh]# scp authorized_keys root@DEV2:~/.ssh

2)在DEV2执行
[root@DEV2 .ssh]# ssh-keygen -t rsa
[root@DEV2 .ssh]# cat id_rsa.pub >> authorized_keys
[root@DEV2 .ssh]# chmod 600 authorized_keys
[root@DEV2 .ssh]# scp authorized_keys root@DEV3:~/.ssh

3)在DEV3执行
[root@DEV3 .ssh]# ssh-keygen -t rsa
[root@DEV3 .ssh]# cat id_rsa.pub >> authorized_keys
[root@DEV3 .ssh]# chmod 600 authorized_keys
[root@DEV3 .ssh]# scp authorized_keys root@DEV1:~/.ssh
[root@DEV3 .ssh]# scp authorized_keys root@DEV2:~/.ssh

 

4.      关闭防火墙(所有节点)

centos 7 默认使用的是firewall,不是iptables
systemctl stop firewalld.service
systemctl mask firewalld.service

5.      关闭SELinux(所有节点)

[root@DEV1 .ssh]# vim/etc/selinux/config

设置SELINUX=disabled

6.      配置NTP服务(所有节点)

安装
[root@DEV1 .ssh]# yum install ntp
设置开机启动
[root@DEV1 .ssh]# chkconfig ntpd on
服务启动
[root@DEV1 .ssh]# service ntpd start

 

7.      所有节点上创建用户(所有节点)

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

 

8.      安装MySQL(主节点安装即可)

1)卸载mariadb

此处需要注意的是centos 7 默认安装的是mariadb,如果不卸载直接安装的话会报错,报错信息mariadb-libs is obsoleted by mysql-community-libs-5.7.21-1.el7.x86_64

rpm -qa | grep mariadb #查看安装信息
rpm -e mariadb-libs* --nodeps #
根据查找到的软件包信息卸载

2)安装MySQL(必须按以下顺序安装)

解压 tar -xf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar

rpm -ivhmysql-community-common-5.7.21-1.el7.x86_64.rpm

rpm -ivhmysql-community-libs-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm

rpm -ivhmysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm

(compat解决hue数据库连接不上)

3)基本设置

service mysqld start #启动服务
cat /var/log/mysqld.log |grep password  #
查看初始密码
mysql -uroot -p   #
登录

set password = password('1234');#设置密码

报错:

ERROR 1819 (HY000): Yourpassword does not satisfy the current policy requirements

首先,修改validate_password_policy参数的值

mysql> setglobal validate_password_policy=0;

这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

validate_password_length参数默认为8,可以设置为其它值,最小4

mysql> setglobal validate_password_length=1;

mysql> setpassword = password('1234');

Query OK, 0 rows affected,1 warning (0.00 sec)

#授权用户root使用密码passwd从任意主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'
主机名' IDENTIFIED BY 'mysql密码' WITH GRANT OPTION;
flush privileges;

4)建数据库(用于后边组件安装)

create database hiveDEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

 

三、安装

1.     安装Cloudera Manager Server Agent

1)解压

将下载好的cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz解压到主节点的/opt/,解压出来的文件夹为clouderacm-4.13.0

 

2)为Cloudera Manager建立数据库

将前边下载好的mysql-connector-java-5.1.46.tar.gz解压,找到文件夹中的

mysql-connector-java-5.1.45-bin.jar

cpmysql-connector-java-5.1.45-bin.jar /opt/cm-5.14.0/share/cmf/lib/
cp mysql-connector-java-5.1.45-bin.jar /usr/java/

/opt/cm-5.14.0/share/cmf/schema/scm_prepare_database.shmysql -uroot -p scm scm

3)配置Agent

vim /opt/cm-5.14.0/etc/cloudera-scm-agent/config.ini
server_host=DEV1

#拷贝到其他节点
[root@DEV1]# scp -r /opt/cm-5.14.0/ root@DEV2:/opt/
[root@DEV1]# scp -r /opt/cm-5.14.0/ root@DEV3:/opt/

4)准备parcels

CDH相关文件拷贝到主节点/opt/cloudera/parcel-repo/

#相关文件

CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel
CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1
manifest.json

需要将CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1改成CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha,否则安装时会重新下载,很重要!!

[root@DEV1]# mv CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha

 

5)启动

#主节点
/opt/cm-5.14.0/etc/init.d/cloudera-scm-server start

#主节点及其他节点
/opt/cm-5.14.0/etc/init.d/cloudera-scm-agent start

启动需要点时间,可以查看数据库scm中的HOSTS表,如果里面出现节点信息表示server启动完成

 

2.     安装hadoop集群:

1.登录主界面

登录主节点IP的7180端口,默认登录用户名和密码都是admin

 

2.选择安装版本

 

3.CDH群集安装指定主机

 

4.集群安装


5.主机检查

第一个警告直接在所有节点上执行echo 10 > /proc/sys/vm/swappiness

第二个警告按照上面的说明,在所有节点上执行这两条命令

echo never >/sys/kernel/mm/transparent_hugepage/defrag >> /etc/rc.local

echo never > /sys/kernel/mm/transparent_hugepage/enabled>> /etc/rc.local

 

6.集群设置

服务配置,保持默认就可以(Cloudera Manager会根据机器的配置自动进行配置)

数据库设置

审查更改(默认即可)

开始安装

此处hive ,oozie会安装失败,失败信息如下。因为我们使用了MySQL作为hive元数据存储,需要将mysql驱动拷贝到hive和oozie目录下。(所有节点)

cp /opt/cm-5.14.0/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar/opt/cloudera/parcels/CDH-5.14.0-1.cdh5.14.0.p0.24/lib/hive/lib/

cp /opt/cm-5.14.0/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar/var/lib/oozie/

安装完成


错误解决:

1pstree: command not found

#/opt/cm-5.7.0/etc/init.d/cloudera-scm-server start
/opt/cm-5.7.0/etc/init.d/cloudera-scm-server: line 109:pstree: command not found
Starting cloudera-scm-server:                              [FAILED]
# /opt/cm-5.7.0/etc/init.d/cloudera-scm-agent start
/opt/cm-5.7.0/etc/init.d/cloudera-scm-agent: line 108:pstree: command not found
Starting cloudera-scm-agent:
                              [FAILED]

因为系统是最小化安装,默认没有安装

解决方法

# yum-y install psmisc

 

2.中途安装失败,重新安装

关闭所有服务

#主节点
[root@DEV1 opt]# /opt/cm-5.14.0/etc/init.d/cloudera-scm-server stop
#
主节点及其他节点
[root@DEV1 opt]# /opt/cm-5.14.0/etc/init.d/cloudera-scm-agent stop

删除agent uuid

rm -rf /opt/cm-5.14.0/lib/cloudera-scm-agent/*

删除数据库scm

重新配置数据库

/opt/cm-5.14.0/share/cmf/schema/scm_prepare_database.shmysql -hlocalhost -uroot -p scm scm

启动Cloudera serveragent,按照之前步骤安装即可

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值