欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

CDH5离线安装手册

发布时间:2025/7/14 编程问答 63 豆豆
生活随笔 收集整理的这篇文章主要介绍了 CDH5离线安装手册 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Cloudera manage(离线)安装手册

(按步骤操作)

1.       准备工作

1.1.    系统环境

硬件设备:vm虚拟机

网络组成:

                   192.168.210.131master

                   192.168.210.132slave1

                   192.168.210.134slave2

                   192.168.210.133slave3

操作系统:Linux version 2.6.32-220.el6.x86_64

1.2.    安装JDK

从官方网站上下载rpm包,本次使用版本1.7.0_79CDH5可能支持1.7之前的版本,具体情况未经测试),执行命令:

rpm -ivh jdk-7u79-linux-x64.rpm

由于是rpm包并不需要我们来配置环境变量,我们只需要配置一个全局的JAVA_HOME变量即可,执行命令:

echo"JAVA_HOME=/usr/java/latest/" >> /etc/profile.d/java.sh

执行命令,查看Jdk是否安装正确

java -version

javac -version

1.3.    修改主机名

修改/etc/sysconfig/network文件:

NETWORKING=yes

HOSTNAME=master

NETWORKING_IPV6=no

其中HOSTNAME与主机名一致。

主机名如果跟系统安装时不一致请执行hostname命令让其立即生效,否则会影响各节点互相访问,命令如下:

hostnamemaster

 

修改/etc/hosts文件,添加:

192.168.1.101master

192.168.1.102slave1

192.168.1.103slave2

192.168.1.104slave3

 

重新启动网络服务,执行命令:

servicenetwork restart

1.4.    关闭防火墙

防火墙会引起hadoop相关组件通讯的各种异常。防火墙:

serviceiptables stop (临时关闭)

chkconfigiptables off (重启后生效)

设置SELINUX

setenforce0 (临时生效)

修改/etc/selinux/config 下的 SELINUX=disabled (重启后生效)

查看防火墙状态:service iptables status

1.5.    修改wap交换空间

临时生效:

sudo sysctl vm.swappiness=0

修改配置文件/etc/sysctl.conf重启后仍然生效:

echo"vm.swappiness=0">>/etc/sysctl.conf

1.6.    SSH无密钥验证

所有节点均执行如下命令,遇到提示一路回车即可:

ssh-keygen-t rsa

cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys_$hostname

scp各数据节点文件authorized_keys到主节点:

scp ~/.ssh/authorized_keyshadoop@master:~/.ssh/

合并各节点文件authorized_keys_$hostname到文件authorized_keys

cat~/.ssh/authorized_keys_$hostname >>authorized_keys

master主机分发合并后的authorized_keys所有节点主机:

scp ~/.ssh/authorized_keyshadoop@slave1:~/.ssh/

然后输入密码即可,以后再到其他机器就不需要密码额。

 

如果ssh登陆时,等待输入密码时间较长,可以通过修改以下配置文件:

修改 /etc/ssh/sshd_config配置项UseDNS,设置为no,重启sshd服务:servicesshd restart

修改 /etc/ssh/ssh_conf配置项GSSAPIAuthentication ,设置为no

 

在多台主机做ssh互信时,可以使用sshpass工具提高效率,具体操作如下:

1、  安装sshpass工具

2、  在所有主机执行命令:sshpass-p 123456 ssh root@bigdata-2 "ssh-keygen -t rsa"

3、  合并所有主机的公钥:

sshpass -p 123456 ssh root@bigdata-2 "cat/root/.ssh/id_rsa.pub"

>>/root/.ssh/authorized_keys

4、分发公钥文件至各个主机;

1.7.    检查时区

查看当前时区:date -R

修改时区为上海:ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime

1.8.    关闭大页面配置项:

执行命令:echo never > /sys/kernel/mm/transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始脚本中,以便在系统重启时予以设置,

vi /etc/rc.local 增加配置

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

1.9.    修改允许打开文件数

修改文件:/etc/rc.local ,新增如下配置内容:

ulimit -SHn 65535

1.10.       安装NTP服务

客户端修改ntp配置文件:/etc/ntp.conf,新增ntp服务器配置:

server 192.168.10.188

启动本机ntp服务:service ntpd start

手工同步ntpntpdate -u 192.168.10.188

查看ntp同步状态:watch ntpq -p

1.11.       安装Mysql数据库

检查安装环境

查找以前是否装有mysql,命令:

rpm -qa|grep -i mysql

可以看到mysql的两个包:

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

删除mysql

删除命令:rpm -e --nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )

删除老版本mysql的开发头文件和库

rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

rm -f /etc/my.cnf

rm -fr /var/lib/mysql

 

安装server

下载mysql安装包,并执行安装命令:

rpm-ivh MySQL-server-5.6.24-1.el6.x86_64.rpm(安装包名称)

 

root用户初始密码存储位置为:

ARANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !

Youwill find that password in '/root/.mysql_secret'.

可以使用以上密码登陆,然后修改为所需要的密码。

安装客户端

下载mysql客户端,执行命令安装:

rpm-ivh  MySQL-client-5.6.24-1.el6.x86_64.rpm

1.12.       配置mysql数据库

启动mysql数据库

servicemysql start

修改初始密码:

修改MySQL数据库root用户的初始密码,先查下初始密码

cat/root/.mysql_secret

使用初始密码登陆mysql数据库,登陆命令为:

mysql -uroot –p

执行如下命令修改数据库root用户密码:

setpassword=password('123456');

刷新权限表:

flushprivileges;

 

测试使用新密码进行登陆。。。。。。。。。。。。。

2.       安装CM

  • 1.    

  • 2.    

  • 2.1.    下载安装包

  • 下载地址http://archive-primary.cloudera.com/cm5/cm/5/,根据自己的系统选择相应的版本,本次安装选用的是cloudera-manager-el6-cm5.7.1_x86_64.tar.gz。下载完成后只上传到master节点即可。然后解压到/opt目录下,不能解压到其他地方,因为cdh5的源会默认在/opt/cloudera/parcel-repo寻找,怎么制作cdh5的本地源文件会在之后介绍。

    2.2.    安装CM

    给所有节点添加cloudera-scm用户:

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

    修改/opt/cm-5.7.1/etc/cloudera-scm-agent/config.ini下面的server_host

    #Hostname of the CM server.

    server_host=master

     

    上传mysql驱动包mysql-connector-java-5.1.26-bin.jar/opt/cm-5.7.1/share/cmf/lib/目录:

    cp/root/data/mysql-connector-java-5.1.26-bin.jar /opt/cm-5.7.1/share/cmf/lib/

    为Cloudera Manager 5建立数据库:

    /opt/cm-5.7.1/share/cmf/schema/scm_prepare_database.shmysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm

     

    格式是:scm_prepare_database.sh数据库类型  数据库服务器用户名密码 –scm-host  Cloudera_Manager_Server所在的机器,后面那三个不知道代表什么,直接照抄官网的了。

     

    开启ClouderaManager 5 Server端:

    /opt/cm-5.7.1/etc/init.d/cloudera-scm-serverrestart

    注意server首次启动不要立即关闭或重启,因为首次启动会自动创建相关表以及数据,如果因为特殊原因中途退出,请先删除所有表以及数据之后再次启动,否则将会出现启动不成功的情况。 

     

    开启ClouderaManager 5 Agents端:

    scp/opt/cm-5.7.1到所有datanode节点上,然后在每台机器上开启Agents端:

    scp-r  /opt/cm-5.7.1 root@slave1:/opt/cm-5.7.1

    等待拷贝成功,在所有datanode节点上启动:(注意必须以管理员权限启动)

    /opt/cm-5.7.1/etc/init.d/cloudera-scm-agentrestart

    浏览器启动ClouderaManager 5 控制台(默认端口号是7180),启动成功就会看到登陆页面。

    2.3.    添加Service Monitor服务

    直接在cm管理页面添加service组件即可;

     

    3.       安装CDH

  • 3.    

  • 3.1.    下载CDH版本

  • 下载CDH版本到本地http://archive-primary.cloudera.com/cdh5/parcels/5.0.0/,需要下载两样东西:

    1、与操作系统版本相对应的parcel

    2、  manifest.json文件。

    3.2.    安装CDH

    本地源制作

    下载完成后将这两个文件放到master节点的/opt/cloudera/parcel-repo下(目录在安装Cloudera Manager 5时已经生成);打开manifest.json文件,里面是json格式的配置,找到与我们系统版本相对应的hash码,因为我们用的是redhat6.4,所以找到如下位置:
                               

    在这个大括号的最下面找到“hash”所对应的值。

     

    “hash”的值复制下来,然后创建一个文件,文件名与你的parel包名一致,并加上.sha后缀:

    此时安装目录下有3个文件,将“hash”的值复制到新建的sha文件中,并保存,然后重启cm server

    CDH安装

    打开http://192.168.1.101:7180,登陆控制台,默认账户和密码都是admin,安装时选择免费版,之后由于cm5对中文的支持很强大,按照提示安装即可,如果系统配置有什么问题在安装过程中会有提示,根据提示给系统安装组件就可以了。

    如果在安装时选择了安装Hive,可能会遇到安装失败的问题,查看一下日志发现时安装Hive时需要安装JDBC驱动,所以同样我们将Mysql的驱动包拷贝到/opt/cloudera/parcels/CDH-5.7.1-1.cdh5.7.1.p0.6/lib/hive/lib目录下,之后再继续安装就不会遇到问题了。

    3.3.    配置HA

    配置HDFSYARN 高可用

    分别进入HDFSYARN服务管理页面,选择ACTION(操作),点击启用HA,按照步骤操作即可;

    4.       常见问题处理

    1、  安装hiveImpala等组件时,需要mysql源数据支持,需要新建数据库并进行赋权操作,详细操作如下:

    --创建数据库

    createdatabase cm DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

     

    createdatabase hive   DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    createdatabase amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;    

    createdatabase smon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;   

    createdatabase hmon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    createdatabase hiverep DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    --数据库授权

    grantall on *.* to root@"%" Identified by "123456";

     

    2、  Hive或者impala表注释中文乱码解决方法:

    alter table COLUMNS_V2 modify column COMMENT varchar(256) characterset utf8; 

    alter table TABLE_PARAMSmodify column PARAM_VALUE varchar(4000) character set utf8;

    5.       CDH服务端口列表

    组件

    端口号

    端口用途

    是否会被外部访问

    CM

    7180

    CM管理端口

    Cloudera Management Service

    8087

    Activity Monitor Web UI 端口

    9999

    Activity Monitor 侦听端口

    9998

    Activity Monitor 喷嘴端口

    10101

    警报:侦听端口

    7184

    事件发布端口

    7185

    事件查询端口

    8084

    Event Server Web UI 端口

    8091

    Host Monitor Web UI 端口

    9995

    Host Monitor 侦听端口

    9994

    Host Monitor 喷嘴端口

    7186

    Navigator 审核服务器端口

    8089

    Navigator Audit Server Web UI

    7187

    Navigator Metadata Server 端口

    5678

    Reports Manager 服务器端口

    8083

    Reports Manager Web UI 端口

    8086

    Service Monitor Web UI 端口

    9997

    Service Monitor 侦听端口

    9996

    Service Monitor 喷嘴端口

    zookeeper

    2181

    客户端端口

    3181

    仲裁端口

    4181

    选举端口

    9010

    JMX 远程端口

    yarn

    10020

    MapReduce JobHistory Server 端口

    19888

    MapReduce JobHistory Web 应用程序 HTTP 端口

    19890

    MapReduce JobHistory Web 应用程序 HTTPS 端口 (TLS/SSL)

    10033

    MapReduce JobHistory Server 管理接口端口

    8042

    NodeManager Web 应用程序 HTTP 端口

    8044

    NodeManager Web 应用程序 HTTPS 端口 (TLS/SSL)

    8041

    NodeManager IPC 地址

    8040

    Localizer 端口

    8032

    ResourceManager 地址

    8030

    调度程序地址

    8031

    资源追踪器地址

    8033

    管理地址

    8088

    ResourceManager Web 应用程序 HTTP 端口

    8090

    ResourceManager Web 应用程序 HTTPS 端口 (TLS/SSL)

    Kafka

    9092

    TCP Port

    9393

    JMX Port

    9394

    9093

    TLS/SSL Port

    24042

    HTTP Metric Report Port

    Hive

    9083

    Hive Metastore 服务器端口

    10000

    HiveServer2 端口

    10002

    HiveServer2 WebUI Port

    50111

    WebHCat Server 端口

    HDFS

    50020

    DataNode 协议端口

    50010

    DataNode 收发器端口

    50075

    DataNode HTTP Web UI 端口

    50475

    安全 DataNode Web UI 端口 (TLS/SSL)

    14000

    REST 端口

    14001

    管理端口

    8485

    JournalNode RPC 端口

    8480

    JournalNode HTTP 端口

    8481

    安全 JournalNode Web UI 端口 (TLS/SSL)

    2049

    NFS Gateway 服务器端口

    4242

    NFS Gateway MountD 端口

    111

    端口映射(或 Rpcbind)端口

    8020

    NameNode 端口

    8022

    NameNode 服务 RPC 端口

    50070

    NameNode Web UI 端口

    50470

    安全 NameNode Web UI 端口 (TLS/SSL)

    50090

    SecondaryNameNode Web UI 端口

    50495

    安全 SecondaryNameNode  Web UI 端口 (TLS/SSL)

    Hbase

    20550

    HBase REST 服务器端口

    8085

    HBase REST Server Web UI 端口

    9090

    HBase Thrift 服务器端口

    9095

    HBase Thrift 服务器 Web UI 端口

    60000

    HBase Master 端口

    60010

    HBase Master Web UI 端口

    60020

    HBase Region Server 端口

    60030

    HBase Region Server Web UI 端口

    spark

    7337

    Spark Shuffle Service Port

    18088

    History Server WebUI Port

    oozie

    11000

    Oozie HTTP 端口

    11001

    Oozie 管理端口

    25

    Oozie 电子邮件操作 SMTP 端口

    Solr

    8983

    Solr HTTP 端口

    8984

    Solr 管理端口

    6.       CDH开启防火墙配置

    整体方案:

    集群内部安全采用白名单方式,集群内机器可以自由访问彼此;针对接入外网的机器,使用端口过滤,主机默认拒绝所有外面的访问,针对特点端口进行开放。具体操作如下:

    修改防火墙配置文件:/etc/sysconfig/iptables

    添加防火墙策略如下:

    # Firewall configuration written by  system-config-firewall

    # Manual customization of this file is  not recommended.

    *filter

    :INPUT DROP [0:0]

    :FORWARD ACCEPT [0:0]

    :OUTPUT ACCEPT [0:0]

     

    #白名单配置

    -N whitelist

    -A whitelist -s 172.16.0.250 -j ACCEPT

    -A whitelist -s 172.16.0.78  -j ACCEPT

    -A whitelist -s 172.16.0.5   -j ACCEPT

    -A whitelist -s 172.16.0.168 -j ACCEPT

    -A whitelist -s 172.16.0.113 -j ACCEPT

    -A whitelist -s 172.16.0.133 -j ACCEPT

     

    -A INPUT -m state --state  ESTABLISHED,RELATED -j ACCEPT

    -A INPUT -p icmp -j ACCEPT

    -A INPUT -i lo -j ACCEPT

     

    #开放ssh端口

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 22 -j ACCEPT

     

    #开放应用服务端口

    #cm

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 7180 -j ACCEPT

     

    #zookeeper

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 2181 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 9010 -j ACCEPT

     

    #yarn

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 19888 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 8088 -j ACCEPT

     

    #Kafka

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 9092 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 9393 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 9394 -j ACCEPT

     

    #hive

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 10002 -j ACCEPT

     

    #hdfs

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 50075 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 8481 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 50070 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 50470 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 50090 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 50495 -j ACCEPT

     

    #hbase

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 60010 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 60020 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 60030 -j ACCEPT

     

    #spark

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 18088 -j ACCEPT

     

    #oozie

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 11001 -j ACCEPT

     

    #Solr

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 8983 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p  tcp --dport 8984 -j ACCEPT

     

    -A INPUT -m state --state NEW -m tcp -p  tcp -j whitelist

    -A INPUT -j REJECT --reject-with  icmp-host-prohibited

    -A FORWARD -j REJECT --reject-with  icmp-host-prohibited

    COMMIT

     


    转载于:https://blog.51cto.com/13225878/1957248

    总结

    以上是生活随笔为你收集整理的CDH5离线安装手册的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。