栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

CDH和CM部署环境准备

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CDH和CM部署环境准备

文章目录
  • 01、服务器环境
  • 02、集群规划
  • 03、hostname
  • 04、hosts
  • 05、WIN10网络映射配置
  • 06、关闭防火墙
  • 07、集群之间SSH免密登录
  • 08、Python版本确认
  • 09、集群分发脚本
  • 10、禁用SELinux模式
  • 11、禁用透明大页配置
  • 12、集群操作脚本(可选)
  • 13、集群时间同步
  • 14、CDH平台权限与命令概览

01、服务器环境

云主机,CentOS版本版本3.10.0-1160.31.1.el7.x86_64

02、集群规划
集群规划hadoop102hadoop103hadoop104
内(私)网IP
外(公)网IP
03、hostname
hostnamectl --static set-hostname hadoop102
hostnamectl --static set-hostname hadoop103
hostnamectl --static set-hostname hadoop104
04、hosts
vim /etc/hosts

添加内网IP映射

内网IP hadoop102 hadoop102
内网IP hadoop103 hadoop103
内网IP hadoop104 hadoop104
05、WIN10网络映射配置

去到C:WindowsSystem32driversetc以管理员身份编辑hosts文件,添加外网IP映射

外网IP hadoop102
外网IP hadoop103
外网IP hadoop104
06、关闭防火墙

保存当前防火墙规则

iptables-save > ~/firewall.rules

禁用防火墙

systemctl disable firewalld

停止防火墙

systemctl stop firewalld

查看防火墙状态

systemctl status firewalld
07、集群之间SSH免密登录

每台机执行:生成公钥和密钥

ssh-keygen

每台机执行:把自己的公钥发到所有节点,填yes和密码

ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop102
ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop103
ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop104
08、Python版本确认

Hue需要用到Python2.7;CentOS7默认装好了Python2.7,用下面命令确认一下

python --version
09、集群分发脚本
mkdir ~/bin
touch ~/bin/rsync.py
chmod 777 ~/bin/rsync.py
vim ~/bin/rsync.py
#!/usr/bin/python2
# coding:utf-8
import os, re, socket

# 获取第一个参数
a = os.sys.argv
if len(a) != 2:
    print a
    exit('使用方法:rsync.py $HADOOP_HOME')
a = a[1]

# 补全路径
if not a.startswith('/'):
    a = os.path.join(os.getcwd(), a)
if os.path.isdir(a) and not a.endswith('/'):
    a += '/'
if not os.path.exists(a):
    print a
    exit('路径不存在')

# 文件分发
hostname = socket.gethostname()
with open('/etc/hosts') as f:
    for i in set(re.findall('hadoop[0-9]+', f.read())):
        if i == hostname:
            continue
        aa = 'rsync -a %s %s:%s' % (a, i, a)
        print aa
        os.system(aa)

分发

rsync.py ~/bin
10、禁用SELinux模式

注:安全增强的Linux(SELinux)允许通过策略设置访问控制。如果在部署CDH时遇到困难,请在将CDH部署到集群之前,在每个主机上将SELinux设置为permissive模式。

检查当前SELinux mode状态

getenforce

如果输出为Disabled或Permissive ,进入下一步

如果输出结果为enforcing,则需要额外4步:
1、vim /etc/selinux/config
2、将SELINUX=enforcing改为SELINUX=permissive
3、保存并关闭文件
4、重新启动系统或运行setenforce 0命令来立即禁用SELinux

11、禁用透明大页配置

Cloudera公司建议关闭透明大页;如果未关闭,就会在后面的环境检测中报错

每台机执行

# 前两行代码:暂时生效,当重启后配置会消失
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
# 后两行代码:把信息加到启动项中,使其永久生效
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
12、集群操作脚本(可选)
touch ~/bin/cluster.py
chmod 777 ~/bin/cluster.py
vim ~/bin/cluster.py
#!/usr/bin/python2
import os, re

# command
a = os.sys.argv
if len(a) < 2:
    print a
    exit('Usage: cluster.py python --version')
cmd = ' '.join(a[1:])

# cluster operation
with open('/etc/hosts') as f:
    for h in sorted(set(re.findall('hadoop[0-9]+', f.read()))):
        c = "ssh %s '%s'" % (h, cmd)
        print '33[033m{}33[0m'.format(c)
        os.system(c)

另外,还有在每台机执行:将/etc/profile文件内容追加到~/.bashrc,只执行一次

cat /etc/profile >> ~/.bashrc
cat ~/.bashrc

.bashrc是针对特定用户的环境变量配置

13、集群时间同步

云服务本身已经提供时间服务,我们可用下面命令检查集群时间是否一致

cluster.py date
14、CDH平台权限与命令概览
任务需要的权限
安装Cloudera Manager Server安装CM Server的主机需要有root或sudo权限
使用service或systemctl工具启动、停止或重新启动Cloudera Manager服务器Cloudera Manager Server 的主机需要有root或sudo权限;默认情况下服务运行在cloudera-scm用户下
使用CM安装CDH组件在Cloudera Manager初始安装时配置的如下之一:
有密码或者ssh秘钥的方式访问root用户的权限
为特定用户提供无密码的sudo访问
对于此任务,不支持使用另一个提供root或sudo访问的系统(例如PowerBroker)
使用CM安装CM Agent在Cloudera Manager初始安装时配置的如下之一:
有密码或者ssh秘钥的方式访问root用户的权限
为特定用户提供无密码的sudo访问
对于此任务,不支持使用另一个提供root或sudo访问的系统(例如PowerBroker)
自动启动CM Agent进程在运行时访问root帐户,通过以下场景之一:
在Cloudera Manager和CDH安装期间,如果安装成功,代理将自动启动。然后使用以下其中一种启动它,这与Cloudera Manager初始安装期间的配置相同:
有密码或者ssh秘钥的方式访问root用户的权限
为特定用户提供无密码的sudo访问.
对于此任务,不支持使用另一个提供root或sudo访问的系统(例如PowerBroker)。
在系统启动过程中使用init自动启动
手动启动、停止或重新启动Cloudera Manager Agent进程root或sudo 权限。
该权限要求确保Cloudera Manager代理管理的服务可以作为适当的用户运行(例如hdfs服务的hdfs用户)。在CDH服务的Cloudera Manager中运行命令不需要root或sudo访问,因为操作是由Cloudera Manager Agent处理的,它已经作为root在运行了
如果您想为Cloudera Manager用户配置特定的sudo访问(默认情况下是Cloudera -scm),您可以使用以下列表来完成(CM运行的sudo命令有下面这些):
yum (RHEL/CentOS/Oracle)
sed
service
/sbin/chkconfig (RHEL/CentOS/Oracle)
id
rm
mv
chown
install
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871479.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号