CDH5.8.3集群部署

操作环境:


jdk下载:

          http://download.oracle.com/otn/java/jdk/8u45-b14/jdk-8u45-linux-x64.rpm    可能需要登录oracle

下载mysql和mysql驱动:

  

mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar

下载链接:https://dev.mysql.com/downloads/file/?id=471503

mysql-connector-java-5.1.42.tar.gz

下载链接:https://dev.mysql.com/downloads/file/?id=470332


hostname修改

修改hostname必须在所有节点的root权限下。如果要永久修改hostname的名称,则可以使用hostnamectl相关命令就行hostname修改。

永久修改hostname的命令:hostnamectl set-hostname zysdmaster000

                          hostnamectl  set-hostname *slave001

                          hostnamectl  set-hostname *slave002

 

可以使用hostnamectl或者hostnamectl  status命令查看hostname的修改情况,使用hostnamectl命令不用重启服务器。

hostnameip对应

使hostnameip对应是为了以后的使用方便,如以后的SSH的无密码登录、CDH的配置和scp命令的使用等。

root权限下操作:

vi /etc/hosts

在所有节点中把/etc/hosts中的自带的内容删除掉后添加ip和hostname的映射

关闭selinux和防火墙

root权限下执行命令:vi /etc/sysconfig/selinux


防火墙

systemctl stop firewalld

systemctl disable firewalld

使用以下命令查看防火墙状态:systemctl status firewalld


ssh无密码登录

本集群完全是在root权限下,因此使用root用户配置ssh无密码登录

在所有节点上执行命令:ssh-keygen -t rsa

几次enter后在/root/.ssh/目录下有id_rsaid_rsa.pubknown_hosts三个文件。

zysdslave001执行:

cp /root/.ssh/id_rsa.pub id_rsa.pub001

scp -r /root/.ssh/id_rsa.pub001 *slavemaster000:/root/.ssh/

在此执行scp命令会用到root的密码

zysdslave002中执行:

cp /root/.ssh/id_rsa.pub id_rsa.pub002

scp -r /root/.ssh/id_rsa.pub002 *slavemaster000:/root/.ssh/

在此执行scp命令会用到root的密码

以上两个执行是为了对id_rsa.pub备份,防止id_rsa.pub破坏

zysdmaster000中的/root/.ssh/路径中有id_rsa.pubid_rsa.pub001id_rsa.pub002三个要使用的文件,

执行命令:cat id_rsa.pub >> authorized_keys

          cat id_rsa.pub001 >> authorized_keys

          cat id_rsa.pub002 >> authorized_keys

执行命令:scp -r /root/.ssh/authorized_keys *slave001:/root/.ssh/

在需要scp目的的机器上执行:scp root@zysdslave001:/root/.ssh/authorized_keys  另一台机器的目的路径

          scp -r /root/.ssh/authorized_keys *slave002:/root/.ssh/

此处使用scp命令还是要使用密码的。

chmod 700 /root/.ssh/

chmod 600 authorized_keys

至此ssh无密码登录完成。


jdk安装

在此使用的jdk版本为:jdk-8u45-linux-x64.rpm

使用的jdk我安装在root权限下,执行命令:

rpm -ivh jdk-8u45-linux-x64.rpm

完成,jdk默认安装在/usr/java/jdk1.8.0_45目录下

配置环境变量:vi /etc/profile



使环境变量生效,命令:

source /etc/profile

每个slave都要安装jdk,两个命令可以一起执行,两个命令之间使用&&连接,如下:

mkdir softwares && scp root@ip:/root/softwares/jdk-8u45-linux-x64.rpm ./


第三方依赖包安装

yum install chkconfig python bind-utils psmisc libxslt zlib sqlite fuse fuse-libs RedHat-lsb cyrus-sasl-plain cyrus-sasl-gssapi

CDH需要使用mysql数据库,我的数据库配置在*master000服务器上,mysql的配置不再阐述。

所有节点中都要把mysql驱动jar包放入/usr/share/java/

mysql的驱动放在/usr/share/java/路径下,如果没有/usr/share/java路径则手动建,使用cp顺便把mysql驱动名称修改为:mysql-connector-java.jar执行命令:

cp mysql-connector-java-5.1.42-bin.jar  /usr/share/java/mysql-connector-java.jar


安装Cloudera-Manager

在所有节点root目录下执行。

mkdir /opt/cloudera-manager


解压cloudera-manager,在所有节点的root权限下执行:

tar -zxvf cloudera-manager-centos7-cm5.8.3_x86_64.tar.gz  -C /opt/cloudera-manager

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

useradd -r -d /opt/cloudera-manager/cm-5.8.3/run/cloudera-scm-server -M -c "Cloudera SCM User" cloudera-scm

*slave001*slave002的节点(从节点)上配置agent,把server_host修改成masterhostnameip亦可),其中master节点是否修改均可。

命令:

vim /opt/cloudera-manager/cm-5.8.3/etc/cloudera-scm-agent/config.ini




在(master)主节点中创建parcel-repo仓库

mkdir -p /opt/cloudera/parcel-repo

chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

mv CDH-5.8.3-1.cdh5.8.3.p0.2-el7.parcel.sha1  CDH-5.8.3-1.cdh5.8.3.p0.2-el7.parcel.sha

CDH-5.8.3-1.cdh5.8.3.p0.2-el7.parcel.sha1中的1符号去掉。

parcelparcel.shamanifest.json 放到/opt/cloudera/parcel-repo

cp CDH-5.8.3-1.cdh5.8.3.p0.2-el7.parcel CDH-5.8.3-1.cdh5.8.3.p0.2-el7.parcel.sha manifest.json /opt/cloudera/parcel-repo

Clouder-Manager将CDHs从主节点的/opt/cloudera/parcel-repo目录中抽取出来,分发解压激活到各个节点的/opt/cloudera/parcels目录中

CDH-5.8.3对应的是hadoop-2.6.0版本(从manifest.json查看)

1、连接在另外一台机器上的mysql

因为我的mysql创建在master ip服务器中,因此在主节点(master初始脚本配置数据库scm_prepare_database.sh

/opt/cloudera-manager/cm-5.8.3/share/cmf/schema/scm_prepare_database.sh mysql -h59.110.60.203 -uroot -p*admin123 --scm-host ip scmdbn scmdbu scmdbp

如果mysqlcloudera-manager安装在同一台服务器上,以mysqlcloudera-manager都放在zysdmaster000服务器上,则:

/opt/cloudera-manager/cm-5.8.3/share/cmf/schema/scm_prepare_database.sh mysql -h*master000 -uroot -p*admin123 --scm-host *master000 scmdbn scmdbu scmdbp

其中:mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。

-hhadoop1:数据库建立在hadoop1主机上面。也就是主节点上面。

-uroot:root身份运行mysql。-pzysdadmin123mysql的root密码。

--scm-host *master000:CMS的主机,一般是和mysql安装的主机是在同一个主机上。

最后三个参数是:数据库名,数据库用户名,数据库密码。

2、连接本机上的mysql

如果是在集群中某个机器上安装mysql专门用户管理CM,则要保证mysql能进行远程连接,还要对其进行远程连接权限设置,使用以下命令可以对其进行修改权限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'*bj000' IDENTIFIED BY 'hb2*admin123' WITH GRANT OPTION;

解释:

*bj000:为CM进行连接mysql的用户,*bj000设定连接msyql权限,也是机器的主机名

b2*admin123:用户*bj000连接mysql的密码

在主节点(master初始脚本配置数据库scm_prepare_database.sh

/opt/cloudera-manager/cm-5.8.3/share/cmf/schema/scm_prepare_database.sh mysql -h*bj000 -uroot -p*min123 --scm-host *bj000 scmdbn scmdbu scmdbp

总结:两种连接msyql方案使用一种即可

在各个节点启动agent服务

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


在主节点(master)中启动server

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



等待几分钟后在任一浏览器上查看

http://master_ip:7180/cmf/login







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值