CenterOS7 搭建CDH5.14.1

2 篇文章 0 订阅
1 篇文章 0 订阅

简介
    以前安装过CentOS5.11,是通过VNC桌面的方式安装,并且第一次安装过程失败过,感觉通过桌面方式安装不怎么好,步骤也感觉比较混乱。最近有空重新安装了一次,都是在命令行中进行,没有使用桌面,并且一次成功,现在恢复安装前的快照,重新来一次,并做记录。

 

环境及软件说明
    环境说明
    本人PC虚拟机VM12,里面安装了3台CentOS7.集群环境规划如下:

    

CPU

IP

主机名

角色

内存

1核心2线程

192.168.9.14

cdh1

CM server,agent

8G

1核心2线程

192.168.9.15

cdh2

agent

1.5G

1核心2线程

192.168.9.16

cdh3

agent

1.5G

    我的笔记本电脑16G内存,只能上面这样规划了,最后CDH是能安装成功的,只不过没法用,资源太少了。-_-!

 

    所需软件及说明
        1.JDK1.8    下载地址:

        链接:https://pan.baidu.com/s/1wiM5de1B8Tk67y1TyPQQUg 密码:skoe

        说明:

        去Oracle官网下,现在点击下载会让你登陆,这时可以右键迅雷下载,可以不用登陆;这里提供一个我的网盘下载链接,另外别用1.7

 

        2.Cloudera Manager    下载地址:

        https://archive.cloudera.com/cm5/cm/5/

        说明:CM的各个平台,版本的包都在这里了,各取所需。根据我的环境,下载的是 cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz

    

        3.CDH    下载地址:

        http://archive.cloudera.com/cdh5/parcels/5.14/

        说明:和上面CM一样,各取所需。需要下载3个文件,我下载的是 CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel.sha1 (这个文件下载下来后,一定要把后缀 .sha1 改为 .sha), CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel, manifest.json

        这里要注意CM和CDH,大版本应该要一致,比如CM为5.14,CDH也是5.14,至于如果不一致是否会出问题,比如CM为5.13,CDH为5.14,我没有试过,不知是否有同学当过小白鼠...

 

        4.Mysql

        如果你的机器能连接外网,那么这里可以暂时不用准备,下面联网安装。

        如果不能连接外网,那么这里就可以先安装好MySQL(为了方便,安装在server上)。

 

        5.数据库驱动    下载地址:

        链接:https://pan.baidu.com/s/1yAS_LG88-uOInu5Ee4vzzQ 密码:1bf6

        说明:注意默认的数据驱动是有版本号的,比如mysql-connector-java-xxx.jar,这里要把版本号去掉。这里提供一个我用的驱动

 

        6.mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm    下载地址:

        链接:https://pan.baidu.com/s/1PqHf3XCoAsDeEqwiDMH_5Q 密码:qgcq

        说明:这是MySQL的一个组件的安装包,不是核心组件,不安装也不影响MySQL使用。但是如果缺少这个包,后面hue安装的时候很可能报错,所以先下载下来备用。

                  如果想找不同的版本,可以去MySQL官网找。

 

安装前的主机准备
         一.安装JDK。(每台主机都要做)
            过程:略

            说明:可以不用卸载自带的openjdk,配好环境变量即可。

        

        二.配置主机名和hosts(每台主机都要做,并且根据各个主机情况做相应的修改)
                1.执行下面命令,配置静态IP等

 

 vim /etc/sysconfig/network-scripts/ifcfg-ens33
                这是我的一个网卡信息,仅供参考,根据实际机器配置。主要关注BOOTPROTO,IPADDR,NETMASK,PREFIX等信息。

TYPE=Ethernet
 
PROXY_METHOD=none
 
BROWSER_ONLY=no
 
BOOTPROTO=static
 
DEFROUTE=yes
 
IPV4_FAILURE_FATAL=no
 
IPV6INIT=yes
 
IPV6_AUTOCONF=yes
 
IPV6_DEFROUTE=yes
 
IPV6_FAILURE_FATAL=no
 
IPV6_ADDR_GEN_MODE=stable-privacy
 
NAME=ens33
 
UUID=cea3a5fa-ada9-4506-905f-66e93d7ed601
 
DEVICE=ens33
 
ONBOOT=yes
 
IPADDR=192.168.9.14
 
NETMASK=255.255.255.0
 
PREFIX=24
 
DNS1=8.8.8.8
 
GATEWAY=192.168.9.2
                2.执行命令,配置主机名,根据实际情况输入主机名

vim /etc/hostname
                下面是我的一个主机的hostname文件内容:

cdh1
                3.执行命令,根据实际情况修改主机名

hostname cdh1
                4.修改hosts文件,输入IP和主机名

vim /etc/hosts
                下面是我的hosts文件,仅供参考:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
 
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
 
192.168.9.14    cdh1
 
192.168.9.15    cdh2
 
192.168.9.16    cdh3
                5.关闭防火墙.

systemctl stop firewalld
 
systemctl disable firewalld
                6.重启机器。然后保证主机之间互ping 主机名,互ping ip能够ping通。

 

        

        三.禁止交换。(每台主机都要做)
            1.执行命令

vim /etc/sysctl.conf
            增加一行:

            vm.swappiness=0

 

            2.执行命令:

sudo sysctl vm.swappiness=0
        

        四。禁用大页面.(每台主机都要做)
            1.执行命令:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
 
echo never > /sys/kernel/mm/transparent_hugepage/enabled
            2.执行命令,修改配置:

vim /etc/rc.local
            增加两行:

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

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

 

            3.执行命令,赋予权限

chmod +x /etc/rc.d/rc.local
        

        五。配置免密码登陆(每台主机都要做)
            1.执行命令,生成秘钥:

ssh-keygen -t rsa
 
cd ~/.ssh
            2.拷贝到要免密码登陆的机器,要免密登陆那个机器,就写该机器的ip。这里我3台机器两两之间都做了免密登陆。

ssh-copy-id xxxx
          比如要免密码登录192.168.9.15,则执行: ssh-copy-id  192.168.9.15

        六。配置NTP服务。标准的做法是配置NTP服务器,但是这里为了方便就用简化的方式配置了。
            1.执行命令,修改配置。

vim /etc/ntp.conf
            我修改的配置如下,注意第一行配置根据自己centos的网关来配置。

restrict 192.168.9.0 mask 255.255.255.0 nomodify notrap 
 
# Use public servers from the pool.ntp.org project.
 
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
 
#server 0.centos.pool.ntp.org iburst
 
#server 1.centos.pool.ntp.org iburst
 
#server 2.centos.pool.ntp.org iburst
 
#server 3.centos.pool.ntp.org iburst
 
 
 
server 127.127.1.0
 
fudge 127.127.1.0 stratum 10
            

            2.执行命令

vim /etc/sysconfig/ntpd
            增加一行:

            SYNC_HWCLOCK=yes

 

            3.重启ntp服务

systemctl restart ntpd.service
 
systemctl status ntpd.service
 

        七。安装MySQL。并配置数据库。
这里采用yum的方式安装,所以要联网。也可自行安装。为了方便,把MySQL安装在主节点Server上,但是注意最好别用太高版本的MySQL。这里安装的是MySQL5.7

            1.检测是否有mariadb

    

rpm -qa | grep mariadb
             如果有,就卸载

rpm -e --nodeps  mariadb-libs-5.5.56-2.el7.x86_64
            2.开始安装,依次执行命令,根据提示信息操作

cd /usr/local/src
 
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
 
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
 
yum -y install mysql-server
            3.编辑配置。
 

vim /etc/my.cnf
             如下是我的配置,可参照修改。

# For advice on how to change settings please see
 
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
 
 
 
[client]
 
default-character-set=utf8
 
 
 
[mysqld]
 
character-set-server=utf8
 
collation-server=utf8_general_ci
 
#允许使用简单密码
 
validate_password=off
 
#
 
# Remove leading # and set to the amount of RAM for the most important data
 
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
 
# innodb_buffer_pool_size = 128M
 
#
 
# Remove leading # to turn on a very important data integrity option: logging
 
# changes to the binary log between backups.
 
# log_bin
 
#
 
# Remove leading # to set options mainly useful for reporting servers.
 
# The server defaults are faster for transactions and fast SELECTs.
 
# Adjust sizes as needed, experiment to find the optimal values.
 
# join_buffer_size = 128M
 
# sort_buffer_size = 2M
 
# read_rnd_buffer_size = 2M
 
datadir=/var/lib/mysql
 
socket=/var/lib/mysql/mysql.sock
 
server_id = 1
 
expire_logs_days = 3
 
 
 
# Disabling symbolic-links is recommended to prevent assorted security risks
 
symbolic-links=0
 
 
 
log-error=/var/log/mysqld.log
 
pid-file=/var/run/mysqld/mysqld.pid
                4.重启MySQL:

systemctl restart mysqld.service
                5.查看默认密码

grep "password" /var/log/mysqld.log  
                6.使用默认密码登陆:

mysql -u root -p
                7.进入命令行后

                首先修改密码

alter user 'root'@'localhost' identified by 'Root!!2018';     
                然后进行创建用户,授权等操作

grant all on *.* to 'root'@'%' identified by 'Root!!2018'  with grant option;  -- 授权
 
CREATE USER 'scm'@'%' IDENTIFIED BY 'scm';  --创建一个新用户,就使用这个用户名,和密码,后面cm的元数据库会用到
 
grant all on *.* to 'scm'@'%' identified by 'scm'  with grant option;  -- 授权
 
CREATE USER 'lpy'@'%' IDENTIFIED BY 'lpy';  --创建一个新用户,用户名和密码可以自定义,后面安装hive,oozie会用到
 
grant all on *.* to 'lpy'@'%' identified by 'lpy'  with grant option;   --授权
 
flush privileges;    -- 刷新权限
                8.用上面自定义的数据库用户lpy登陆,在MySQL中创建几个数据库备用,数据库名称可以自定义。

mysql -u lpy -p
 
create database hive;
 
create database hue;
 
create database ooz;
                9.使用scm用户登录MySQL,创建scm数据库备用。

mysql -u scm -p
 
create database scm;
开始安装CM和CDH
        1.在所有节点执行命令,创建目录:

sudo mkdir /opt/cloudera-manager
            2.在所有节点,将下载好的cloudera-manager-centos7-cm5.14.1_x86_64.tar.gz文件,上传到/opt目录下

            3.在所有节点,解压该文件到/opt/cloudera-manager目录。

tar -zxvf /opt/cloudera-manager-centos7-cm5.14.1_x86_64.tar.gz -C /opt/cloudera-manager
            4.在所有节点,创建用户,这是CM需要使用的用户

sudo useradd --system --home=/opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
            5.在server节点,创建CM服务本地数据存放目录,并赋予权限

sudo mkdir /var/lib/cloudera-scm-server
 
sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
            6.在所有的agent节点,执行命令:

vim /opt/cloudera-manager/cm-5.14.1/etc/cloudera-scm-agent/config.ini
修改server_host为server节点的主机名,我的就是server_host=cdh1

            7.在所有节点,将上面准备好的数据库驱动上传到/usr/share/java目录下

            8.在server节点上执行命令。初始化数据库scm。mysql scm scm scm分别代表:数据库类型  database名称   数据库用户名   数据库密码

/opt/cloudera-manager/cm-5.14.1/share/cmf/schema/scm_prepare_database.sh  mysql scm scm scm
            注意:这条命令要执行成功,需要server和MySQL在一个节点上。如果不在一个节点上,需要使用-hmysqlserver命令指定MySQL主机位置,比如如果MySQL安装机器IP为192.168.9.20,那么执行命令为   

/opt/cloudera-manager/cm-5.14.1/share/cmf/schema/scm_prepare_database.sh -h 192.168.9.20   mysql scm scm scm

如果出现如下提示,则证明CM元数据创建成功。

All done, your SCM database is configured correctly!

 

             9.在主节点执行,创建CDH文件存放目录。

       

mkdir /opt/cloudera/
 
cd /opt/cloudera
 
mkdir parcel-repo
            10.将上面准备好的CDH的3个文件,上传至/opt/cloudera/parcel-repo路径下。

        

 

            11.在server节点,启动CM server

/opt/cloudera-manager/cm-5.14.1/etc/init.d/cloudera-scm-server start
            12.在agent节点,启动CM agent

  

/opt/cloudera-manager/cm-5.14.1/etc/init.d/cloudera-scm-agent start
            13.稍等一会,访问地址:serverip:7180,出现界面如下,用户名密码都是admin。接下来就是一步一步的配置
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值