(离线安装)CDH5.15-mariab10.1安装

本文详细介绍CDH集群的搭建步骤,包括环境准备、网络配置、软件安装、服务配置及常见问题解决,涵盖Hadoop、Hive、YARN等组件的调优策略。

文章目录

环境

centos7.5
cdh5.15.1
mariadb10.1

下载CDH和CM

CDH选择
下载地址:http://archive.cloudera.com/cdh5/parcels/5.15.1/

看好对应版本

CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel	2018-08-17 10:15	2.0 GB
CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1	2018-08-17 10:15	41.0 B
manifest.json	2018-08-23 10:12	72.0 KB

CM的选择
下载地址:http://archive.cloudera.com/cm5/cm/5/

cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz

基础准备

网络名称修改

# hostnamectl set-hostname node101.yyd.cn

vi /etc/hostname 
node101.yyd.cn


vi /etc/hosts
192.168.26.151  node101.yyd.cn  cdh101
192.168.26.150  node102.yyd.cn  cdh102
192.168.26.149  node103.yyd.cn  cdh103


vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node101.yyd.cn

[root@localhost ~]# service network restart

查看当前操作系统环境以及主机映射关系

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# uname -r
3.10.0-862.el7.x86_64
[root@localhost ~]# 
[root@localhost ~]# uname -m
x86_64
[root@localhost ~]# 
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:         128659        1825      124924          18        1909      126155
Swap:          7991           0        7991
[root@localhost ~]# 

[root@localhost ~]# hostname -i
172.30.1.71
[root@node101 ~]# 
[root@node101 ~]# cat /etc/hosts | grep gla
192.168.26.151  node101.yyd.cn  cdh101
192.168.26.150  node102.yyd.cn  cdh102
192.168.26.149  node103.yyd.cn  cdh103
[root@node101 ~]# 
[root@node101 ~]#

打通SSH,设置ssh无密码登陆(所有节点)

#在主节点上执行
[root@cdh101 ~]$ ll -a   #查看.ssh目录
[root@cdh101 ~]$cd .ssh
# 每个服务器都要生成这个
[root@cdh101 ~]$ssh-keygen -t rsa    #遇到提示一直按回车就行
[root@cdh101 ~]$ll    #此时ll查看会发现里面多了俩个文件
id_rsa       --> 私密钥匙
id_rsa.pub     --> 公用钥匙

#接着将公用钥匙写入到authorized_keys文件中,并修改这个文件的权限(重要,请不要忽略)
[root@cdh101 ~]$cat id_rsa.pub >> authorized_keys
[root@cdh101 ~]$chmod 600 authorized_keys #设置authorized_keys的访问权限
[root@cdh101 ~]$ssh localhost  #不再提示输入密码,那么现在启动集群就不会再一直输入密码了
#每个服务器都操作,假如有三台,authorized_keys里面就有三个地址
[root@cdh101 ~]$scp ~/.ssh/authorized_keys hadoop@cdh-1:~/.ssh/ #scp文件到所有datenode节点

禁用防火墙(所有节点)

systemctl stop firewalld
systemctl disable firewalld

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

关闭 SELinux mode(所有节点)

vi  /etc/sysconfig/selinux
SELINUX=permissive 或者 SELINUX=disabled

python2.7

centos 7.4 默认2.7 无需改变

禁用swappiness

没有swap,内存大,就直接关闭吧

vi /etc/sysctl.conf  
新增
vm.swappiness = 0

修改最大文件数

临时修改

ulimit -n 10240

永久修改

vi /etc/security/limits.conf

* soft nofile 10240
* hard nofile 10240

禁用 Transparent Huge pages (THP)

大页面传输压缩,HADOOP MONGDB 等 推荐关闭

    vi /etc/default/grub

    #在下面行尾双引号前加入 [空格+transparent_hugepage=never]
    GRUB_CMDLINE_LINUX="crashkernel=auto  net.ifnames=0 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never"

    #重新生成grup配置文件
    grub2-mkconfig -o /etc/grub2.cfg
    reboot

编写集群管理脚本

批量执行服务的命令的脚本

shell命令xcall该脚本用于在所有主机上同时执行相同的命令

[root@node1 ~]# vi /usr/bin/xcall.sh
[root@node1 ~]# 
[root@node1 ~]# more `which xcall.sh`                                 #查看脚本内容
#!/bin/bash
#@author :yyd

#判断用户是否传参
if [ $# -lt 1 ];then
        echo "请输入参数"
        exit
fi

#获取用户输入的命令
cmd=$@

for (( i=101;i<=104;i++ ))
do
        #使终端变绿色
        tput setaf 2
        echo ============= cdh${i}.gla.net.cn : $cmd ============
        #使终端变回原来的颜色,即白灰色
        tput setaf 7
        #远程执行命令
        ssh cdh${i}.gla.net.cn  $cmd
        #判断命令是否执行成功
        if [ $? == 0 ];then
                echo "命令执行成功"
        fi
done

[root@node1 ~]# chmod +x /usr/bin/xcall.sh                 #千万别忘记添加执行权限哟
[root@node1 ~]# 
[root@node1 ~]# xcall.sh ls -d /home/                                    #我们这里测试使用一下我们的脚本
============= node101.yyd.cn : ls -d /home/ ============
/home/
命令执行成功
============= node102.yyd.cn : ls -d /home/ ============
/home/
命令执行成功
============= node103.yyd.cn : ls -d /home/ ============
/home/
命令执行成功
[root@node1 ~]# 

批量执行服务的命令的脚本([root@node101 ~]# more `which xcall.sh` )

使用我们上面自定义脚本批量安装rsync服务

[root@node1 ~]# xcall.sh "yum -y install rsync"                            #我的集群已经安装好了rsync服务,这里已经配置好了。
============= node101.yyd.cn : yum -y install rsync ============
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.cn99.com
Package rsync-3.1.2-4.el7.x86_64 already installed and latest version
Nothing to do
命令执行成功
============= node102.yyd.cn : yum -y install rsync ============
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.163.com
Package rsync-3.1.2-4.el7.x86_64 already installed and latest version
Nothing to do
命令执行成功
============= node103.yyd.cn : yum -y install rsync ============
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.aliyun.com
Package rsync-3.1.2-4.el7.x86_64 already installed and latest version
Nothing to do
命令执行成功
[root@node1 ~]# 

使用我们上面自定义脚本批量安装rsync服务([root@node101 ~]# xcall.sh "yum -y install rsync" )

批量同步文件的脚本

rsync是linux系统下的数据镜像备份工具

[root@node1 ~]# vi /usr/bin/xrsync.sh
[root@node1 ~]# 
[root@node1 ~]# chmod +x /usr/bin/xrsync.sh 
[root@node1 ~]# 
[root@node1 ~]# more `which xrsync.sh`
#!/bin/bash
#@author :yyd


#判断用户是否传参
if [ $# -lt 1 ];then
    echo "请输入参数";
    exit
fi


#获取文件路径
file=$@

#获取子路径
filename=`basename $file`

#获取父路径
dirpath=`dirname $file`

#获取完整路径
cd $dirpath
fullpath=`pwd -P`

#同步文件到DataNode
for (( i=102;i<=104;i++ ))
do
    #使终端变绿色
    tput setaf 2
    echo =========== cdh${i}.gla.net.cn : $file ===========
    #使终端变回原来的颜色,即白灰色
    tput setaf 7
    #远程执行命令
    rsync -lr $filename `whoami`@cdh${i}.gla.net.cn:$fullpath
    #判断命令是否执行成功
    if [ $? == 0 ];then
        echo "命令执行成功"
    fi
done

[root@node1 ~]# 

批量同步文件的脚本([root@node1~]# vi /usr/bin/xrsync.sh)

测试使用xrsync.sh同步数据

[root@cdh101 .ssh]## xcall.sh cat /etc/hosts | grep gla                #同步数据之前的数据
============= node101.yyd.cn : cat /etc/hosts ============
192.168.26.151  node101.yyd.cn  cdh101
192.168.26.150  node102.yyd.cn  cdh102
192.168.26.149  node103.yyd.cn  cdh103
192.168.26.148  cdh104.gla.net.cn  cdh104
============= node102.yyd.cn : cat /etc/hosts ============
192.168.26.151  node101.yyd.cn  cdh101
192.168.26.150  node102.yyd.cn  cdh102
192.168.26.149  node103.yyd.cn  cdh103
192.168.26.148  cdh104.gla.net.cn  cdh104
============= node103.yyd.cn : cat /etc/hosts ============
192.168.26.151  node101.yyd.cn  cdh101
192.168.26.150  node102.yyd.cn  cdh102
192.168.26.149  node103.yyd.cn  cdh103
192.168.26.148  cdh104.gla.net.cn  cdh104
============= cdh104.gla.net.cn : cat /etc/hosts ============
192.168.26.151  node101.yyd.cn  cdh101
192.168.26.150  node102.yyd.cn  cdh102
192.168.26.149  node103.yyd.cn  cdh103
192.168.26.148  cdh104.gla.net.cn  cdh104
[root@cdh101 .ssh]#


使用xrsync.sh同步数据([root@node101 ~]# xrsync.sh /etc/hosts)

下载第三方依赖包(注意,依赖包所有机器都得安装)

[root@cdh101 ~]# xcall.sh "yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb"

[root@cdh101 ~]# 

Hue错误: Load Balancer 该角色的进程启动失败

需要提前安装环境 httpd, mod_ssl

yum install httpd

yum install mod_ssl

WebUi hue数据库连接不上

登录安装Hue的节点执行以下操作,等待安装完成后再回到界面点击测试连接即可成功连接

yum install python-psycopg2
yum install libxml2-python
yum install mysql*

CDH中安装Hue连接不上数据库 Unexpected error. Unable to verify database connection 完美解决方案

使用我们上面自定义脚本批量安装wget,vim服务

[root@node1 ~]# xcall.sh "yum -y install wget vim lrzsz "

安装jdk(所有节点)

下载页面

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值