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. 1.    

  2. 2.    

  3. 2.1.    下载安装包

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

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

  1. 3.    

  2. 3.1.    下载CDH版本

下载CDH版本到本地http://archive-primary.cloudera.com/cdh6/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,所以找到如下位置:
                            CDH5离线安装手册

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

CDH5离线安装手册

 

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

CDH5离线安装手册

此时安装目录下有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.cdh6.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.ytso.com/193359.html

(0)
上一篇 2021年11月15日
下一篇 2021年11月15日

相关推荐

发表回复

登录后才能评论