温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CDH5离线安装(最新版5.3.3内置hadoop2.5.0)

发布时间:2020-06-25 02:58:29 来源:网络 阅读:1859 作者:jethai 栏目:大数据

    首先给出官方的离线安装http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/installation_installation.html#../topics/cm_ig_install_path_c.html

    由于是最新版网上上资料比较少,很多问题只能×××去找答案。大家只要严格按照我的步骤一步一步来就一定能安装成功,所有步骤都在公司集群上亲自实验过,其中也参考了大量网上资料,在此对那些无私奉献者表示感谢!

    在线安装的两种方式就不介绍了,大家可以自己去官网看文档,不推荐大家在线安装,要是安装过程碰到问题会很麻烦。


下面直接进入正题,下载所需离线安装包


Cloudrea Manager5.3.3下载地址

http://archive.cloudera.com/cm5/

下载cloudera-manager-el6-cm5.3.3_x86_64.tar.gz文件


CDH5.3.3下载地址

http://archive.cloudera.com/cdh6/

下载CDH-5.3.3-1.cdh6.3.3.p0.5-el6.parcel,CDH-5.3.3-1.cdh6.3.3.p0.5-el6.parcel.sha1,manifest.json

这三个文件,其中CDH-5.3.3-1.cdh6.3.3.p0.5-el6.parcel.sha1的文件名需要修改为

CDH-5.3.3-1.cdh6.3.3.p0.5-el6.parcel.sha


CDH5.3.3每个组件tar包及源码的单独下载地址

http://archive.cloudera.com/cdh6/cdh/5/

 

环境准备

      1.CentOS release 6.5 (Final)-----cat  /etc/issue

      2.3台主机:cdh2.hadoop.com

                       cdh3.hadoop.com

                       cdh4.hadoop.com

      3.每台机器内存16G (建议32G),硬盘1T

      4.每台机器确保能连外网

 

所有节点关闭防火墙

在防火墙开启的情况下,执行如下两条命令:

临时关闭:  service iptables stop

永久关闭防火墙:chkconfig iptables off

两个命令同时运行,运行完成后查看防火墙关闭状态:

service iptables status

 

所有节点关闭SELINUX

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

setenforce 0  临时生效

查看SELinux状态:

1、/usr/sbin/sestatus -v  ##如果SELinux status参数为enabled即为开启状态

SELinux status: enabled

2、getenforce   ##也可以用这个命令检查


配置主机名和IP地址

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

192.168.1.105  cdh2.hadoop.com

192.168.1.106  cdh3.hadoop.com

192.168.1.107  cdh4.hadoop.com


修改主机名

修改/etc/sysconfig/network文件:

HOSTNAME=cdh2.hadoop.com

执行hostname cdh2.hadoop.com命令让主机名立即生效

执行命令:servicenetwork restart


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

(1)所有节点(cdh2.hadoop.com、cdh3.hadoop.com、cdh4.hadoop.com):

生成无密码的密钥对:ssh-keygen -t rsa一路回车,生成无密码的密钥对。

(2)主节点(cdh2.hadoop.com):将公钥添加到认证文件中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3scp文件到datenode节点(cdh3.hadoop.com):

    scp ~/.ssh/authorized_keys root@cdh3.hadoop.com:~/.ssh/

4)将cdh3.hadoop.com公钥添加到认证文件中:

    cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

5)复制cdh3.hadoop.com的认证文件到cdh4.hadoop.com

       scp ~/.ssh/authorized_keys root@cdh4.hadoop.com:~/.ssh/

6)将cdh4.hadoop.com公钥添加到认证文件中:

    cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

(7)设置authorized_keys的访问权限:

chmod 600 ~/.ssh/authorized_keys

       8)将最终生成的认证文件复制到所有节点:

              scp ~/.ssh/authorized_keys root@cdh2.hadoop.com:~/.ssh/

              scp~/.ssh/authorized_keys root@cdh3.hadoop.com:~/.ssh/

       9)测试(不需要密码能够直接登陆):

              sshcdh2.hadoop.com

              sshcdh3.hadoop.com

              sshcdh4.hadoop.com


安装NTP服务,同步时间

所有节点安装相关组件:yum installntp

完成后,配置开机启动: chkconfig ntpd on ,

检查是否设置成功:chkconfig--list ntpd其中2-5on状态就代表成功。

 

主节点配置(cdh2.hadoop.com)

    在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用202.120.2.101(上海交通大学网络中心NTP服务器地址)作为对时中心,输入命令:

ntpdate -u 202.120.2.101


修改配置文件 /etc/ntp.conf,没用的注释掉:

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

restrict default nomodify notrap

server 202.120.2.101 prefer  #远程服务器地址

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

配置文件修改后,执行如下命令:

1 service ntpd start 

2 chkconfig ntpd on (设置开机启动)

ntpstat命令查看同步状态

 

配置ntp客户端(cdh3.hadoop.com,cdh4.hadoop.com)

修改配置文件 /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict127.0.0.1

restrict -6 ::1

restrict default kod nomodify notrap nopeernoquery

restrict -6 default kod nomodify notrapnopeer noquery

server cdh2.hadoop.com #这里是主节点的主机名或者ip

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

手动同步时间ntpdate -u cdh2.hadoop.com

启动服务service ntpdstart

设置开机启动chkconfig ntpd on

 

安装OracleJava(所有节点)

CDH5.3.3需要Java7的支持,使用 rpm -qa | grep java 查询java相关的包,个人根据系统不同可能有所不同,下面是我机器上需要卸载的openJDk

rpm -e --nodeps  java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64

rpm -e --nodeps  java-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodeps  java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodeps  java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

rpm -e --nodeps  java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64

 

Oracle的官网下载jdkrpm安装包,并使用 rpm -ivh包名安装

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

修改文件/etc/profile改变环境变量

export JAVA_HOME=/usr/java/jdk1.7.0_79

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$PATH

为使生效:source /etc/profile

安装配置Mysql(主节点)

执行命令:yum installmysql-server

设置开机启动:chkconfig mysqld on

启动mysqlservice mysqld start

设置root的初始密码:mysqladmin -u root password 'root'

mysql -uroot -proot 进入mysql命令行,创建以下数据库(根据安装的服务有所区别,我装的是核心组件):

#hive

create database hive DEFAULT CHARSET utf8 COLLATE  utf8_general_ci;

#activity monitor

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#hue

create database hue DEFAULT CHARSET utf8 COLLATE  utf8_general_ci;

 

#授权root用户在主节点拥有所有数据库的访问权限

grant all privileges on *.* to 'root'@'cdh2.hadoop.com'identified by 'root' with grant option;

flush privileges;

安装ClouderaManager Server Agent

主节点(cdh2.hadoop.com)解压安装包

ClouderaManager的压缩包cloudera-manager-el6-cm5.3.3_x86_64.tar.gz复制到/opt目录下,并解压:

sudo tar -zxvf  cloudera-manager*.tar.gz

然后复制mysqljarmysqldemysql-connector-java-5.1.33-bin.jar

/opt/cm-5.3.3/share/cmf/lib/目录下。

主节点初始化Cloudera Manager5的数据库,执行以下命令:

/opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm-h localhost -uroot -proot --scm-host localhost scm scm scm

 

Agent配置文件修改

修改/opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini

server_host=cdh2.hadoop.com

 

复制文件到Agent节点

scp -r /opt/cm-5.3.3 root@cdh3.hadoop.com:/opt/

scp -r /opt/cm-5.3.3 root@cdh4.hadoop.com:/opt/

 

在所有节点(包括服务器)创建cloudera-scm用户

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

 

安装CDH5.3.3

将前面下载CHD5.3.3 三个安装文件复制到到主节点的/opt/cloudera/parcel-repo/目录下


执行下面的命令,修改parcel-repo文件夹权限,给用户cloudera-scm权限:

sudo chown  -R  cloudera-scm:cloudera-scm /opt/cloudera-manager/cloudera/parcel-repo

创建parcels文件夹并修改权限:
sudo mkdir -p   /opt/cloudera-manager/cloudera/parcels

sudo chown  -R  cloudera-scm:cloudera-scm /opt/cloudera-manager/cloudera/parcels


启动Server和Agent

主节点   /opt/cm-5.3.3/etc/init.d/cloudera-scm-server start     启动服务端。

所有节点 /opt/cm-5.3.3/etc/init.d/cloudera-scm-agentstart       启动Agent服务。

启动后可通过浏览器访问 http://cdh2;hadoop.com:7180,用户名和密码默认为均为admin

 

CDH5.3.3的安装过程的问题

 

1.yarn报错:nodemanager无法启动,Error found before invokingsupervisord: dictionary update sequence element #78 has length2; 2

这个错误是CM的一个bug,解决方法为修改

/opt/cm-5.3.3/lib64/cmf/agent/src/cmf/util.py文件。将其中的代码:

pipe= subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env" % (path,command)],stdout=subprocess.PIPE, env=caller_env)

修改为:

pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env |grep -v { | grep -v }" % (path, command)],stdout=subprocess.PIPE,env=caller_env)


2.hive报错:unable to load driver

所有节点复制mysqljar包复制到

/opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/lib/hive/lib目录下

 

3.sqoop2报错:大概意思是无法创建数据库,原因是自带derby驱动好像不行,到官网下载最新derby.jar,这儿我下载的是db-derby-10.11.1.1-lib.tar.gz,解压包里面包含了derby.jar,按以下步骤即可解决:


(1)删除 /opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/lib/sqoop2/webapps/sqoop/WEB-INF/lib/derby-{version}.jar 软连接

(2)复制 derby.jar /opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/jars目录

(3)新建连接ln  -s  /opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/jars/derby.jar/opt/cloudera/parcels/CDH-5.3.3-1.cdh6.3.3.p0.5/lib/sqoop2/webapps/sqoop/WEB-INF/lib/derby.jar

 

4.修改swappiness

etc/sysctl.conf最后加上这样一行:vm.swappiness=0

echo 0 > /proc/sys/vm/swappiness临时修改

 

5.Oozie 第二次启动失败:DB scheme exist

rm -rf /var/lib/oozie/*


6. HDFS无法重新格式化

删除所有节点上的/dfs 文件夹即可。rm -rf /dfs


 

 

CDH5.3.3的基本使用

  1. 启动

    安装完成后,所有服务是已启动的。这里,主要考虑到,平时使用虚拟环境,开机后:

    服务节点(CDH1):

    /opt/cm-5.3.0/etc/init.d/cloudera-scm-server start

    Agent节点(CDH2CDH3):

    /opt/cm-5.3.0/etc/init.d/cloudera-scm-agent start

    在系统上启动服务后,在页面启动Custer1所有服务,再启动Cloudera Management Service服务。

  2. 关闭

    和启动顺序相反。

     

     

     


     

     


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI