Hortworks Hadoop 2.4.2安装、配置

Hortonworks Hadoop 2.4.2安装、配置

 

1简介

此手册应用于Hortonworks Hadoop(HDP2.4.2)的安装、使用。

1.1  参考资料

http://docs.hortonworks.com/HDPDocuments/Ambari-2.2.2.0/bk_Installing_HDP_AMB/bk_Installing_HDP_AMB-20160509.pdf

http://docs.hortonworks.com/HDPDocuments/Ambari-2.2.2.0/bk_ambari_reference_guide/bk_ambari_reference_guide-20160509.pdf

1.2  环境说明

操作系统 64位redhat6.5,JDK 1.7.67,mysql 5.6.14

2  常规hortonworks官方文档安装步骤

2.1  Ambari、HDP兼容关系表

2.2    基本配置要求

操作系统:

• Red Hat Enterprise Linux (RHEL) v7.x

• Red Hat Enterprise Linux (RHEL) v6.x

• CentOS v7.x

• CentOS v6.x

• Debian v7.x

• Oracle Linux v7.x

• Oracle Linux v6.x

• SUSE Linux Enterprise Server (SLES) v11 SP4 (HDP 2.2 and later)

• SUSE Linux Enterprise Server (SLES) v11 SP3

• SUSE Linux Enterprise Server (SLES) v11 SP1 (HDP 2.2)

• Ubuntu Precise v12.04

• Ubuntu Trusty v14.04

浏览器:

Windows (7, 8)

• Internet Explorer 10

• Firefox 18

• Google Chrome 26

• Mac OS X (10.6 or later)

• Firefox 18

• Safari 5

• Google Chrome 26

• Linux (CentOS, Debian, Oracle Linux, RHEL, SLES, Ubuntu)

• Firefox 18

• Google Chrome 26

软件:

yum and rpm (RHEL/CentOS/Oracle Linux)

• zypper and php_curl (SLES)

• apt (Debian/Ubuntu)

• scp, curl, unzip, tar, and wget

• OpenSSL (v1.01, build 16 or later)

• Python

For CentOS 6: Python 2.6.*

For SLES 11: Python 2.6.8 or later

For CentOS 7, Ubuntu 12,Ubuntu 14, and Debian 7: Python 2.7.*

JDK:

• Oracle JDK 1.8 64-bit (minimum JDK 1.8_60) (default)

• Oracle JDK 1.7 64-bit (minimum JDK 1.7_67)

• OpenJDK 8 64-bit (not supported on SLES)

• OpenJDK 7 64-bit (not supported on SLES)

元数据存储:(Postgres 8.x, 9.3+、MySQL 5.6、Oracle 11g r2、SQL Server 2008 R2+)

• PostgreSQL 8

• PostgreSQL 9.1.13+, 9.3

• MySQL 5.6

• Oracle 11gr2, 12c

注:这里推荐以mysql作为元数据数据库

内存要求:

Ambari所在机器至少有1 GB RAM,其中有500M空闲.

2.3  安装规划

• 每台节点里配置主机全域名,The fully qualifieddomain name (FQDN)

• 每个主机里要安装组件规划

• 要存储数据的主目录

• NameNode数据目录

• DataNodes数据目录

• Secondary NameNode数据目录

• Oozie数据目录

• YARN数据目录

• ZooKeeper数据目录

• 各种日志、pid、数据库文件目录

2.4  准备环境

:以下以Redhat 6.5为例.

2.4.1   配置SSH免密码登录

#主节点里执行如下步骤

ssh-keygen

cd ~/.ssh/

cat id_rsa.pub >>authorized_keys

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

#分别拷贝节点内的id_rsa.pub到一台主节点内,并追加到主节点的authorized_keys

#分发主节点里配置好的authorized_keys到各从节点

2.4.2   开启NTP服务

yum install ntpd

chkconfig ntpd  开启

注: 默认ntpd服务已经安装,如果没安装,执行yum install ntpd(配置本地源的的方式或则连外网源)

2.4.3   检查DNS和NSCD

以ambari在安装时需要配置全域名,所以需要检查DNS。为了减轻DNS的负担, 建议在节点里用 Name Service Caching Daemon (NSCD)。

vi /etc/hosts

192.168.56.21name.hadoop

192.168.56.22datanode1.hadoop

192.168.56.23datanode2.hadoop

#每台节点里配置FQDN,如下以主节点为例.

vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=name.hadoop

2.4.4   关闭防火墙

chkconfig iptables off

/etc/init.d/iptables stop

#service iptables stop

2.4.5   关闭SELinux

1)查看SELinux状态:

1、/usr/sbin/sestatus -v

##如果SELinux status参数为enabled即为开启状态

SELinux status:   enabled

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

2)关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0  ##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

vi /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled

3)重启机器即可

2.4.6   创建系统用户和系统组

添加ambari安装、运行用户到组.

useradd -G amabri amabri

2.4.7  配置操作系统本地源

1) 虚拟机里加载操作系统iso镜像.

#选中一虚拟机点击设置→点击存储→点击没有盘片→选择ISO所在路径。

2) 创建目录以挂载操作系统镜像

mkdir /mnt/cdrom   

3) 再挂载镜像到新建目录下

mount -t iso9660 /dev/`lsblk |grep rom | awk '{print $1}'` /mnt/cdrom

4) 配置本地系统源

cd /etc/yum.repos.d

cp rhel-source.repo rhel.repo

mv rhel-source.repo source.repo_bak

vi rhel.repo

[rhel-source]

name=RedHat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///mnt/cdrom/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

yum clean all

yum list update

yum makecache

2.4.8  安装JDK

#安装前,需要卸载系统内置的JDK

rpm -qa | grep jdk | xargs rpm -e--nodeps

#安装解压版jdk

cd /mnt/sf/public

tar –zxvf jdk-7u67-linux-x64.tar.gz

vi /etc/profile

exportJAVA_HOME=/mnt/sf/public/jdk1.7.0_67

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

2.4.9  安装http服务器

yum install httpd

service httpd start

#修改网站默认的跟目录

vi /etc/httpd/conf/httpd.conf

#

# DocumentRoot: Thedirectory out of which you will serve your

# documents. Bydefault, all requests are taken from this directory, but

# symbolic links andaliases may be used to point to other locations.

#

DocumentRoot"/mnt/sf/html"

#

# This should bechanged to whatever you set DocumentRoot to.

#

<Directory"/mnt/sf/html">

2.4.10 安装mysql

rpm –ivh MySQL-server-5.6.14-1.el6.x86_64.rpm

rpm –ivh MySQL-client-5.6.14-1.el6.x86_64.rpm

service mysql start

cat /root/.mysql_secret

#The random password set for the root user at Fri May 20 17:54:33 2016 (localtime): aX71HiTT

mysql –uroot -p aX71HiTT

set password=password(‘root’)

#创建用户并分配权限

CREATE USER 'ambari'@'%'IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';

GRANT ALL PRIVILEGES ON *.* TO root@'%';

FLUSH PRIVILEGES;

2.4.11 配置安装源

注:鉴于多数集群生产环境不能上网,所以安装时采用本地源的方式.具体为先下载附录中的ambari、HDP、HDP-UTILS的tar包然后再配置到本地源中。

#ambari和HDP(含HDP-UTILS)源

a)Ambari2.2.2源

操作系统

格式

URL地址

RedHat 6

CentOS 6

Oracle Linux 6

Base URL

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0

Repo File

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo

Tarball md5 | asc

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/

ambari-2.2.2.0-centos6.tar.gz

b)HDP 2.4源

操作系统

版本号

源名称

格式

URL地址

RedHat 6

CentOS 6

Oracle Linux 6

HDP-2.4.2.0

HDP

Base URL

http://public-repo-1.hortonworks.com/HDP/centos6/2.x/

updates/2.4.2.0

Repo File

http://public-repo-1.hortonworks.com/HDP/centos6/2.x/

updates/2.4.2.0/hdp.repo

Tarball md5 | asc

http://public-repo-1.hortonworks.com/HDP/centos6/2.x/

updates/2.4.2.0/HDP-2.4.2.0-centos6-rpm.tar.gz

HDP-UTILS

Base URL

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/

repos/centos6

Repo File

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/

repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz

1)  下载如下组件并拷贝到主节点的 httpd网站根目录,即/mnt/sf/html内后解压

Ambari 2.2.2:

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari-2.2.2.0-centos6.tar.gz

HDP 2.4.2:

http://s3.amazonaws.com/public-repo-1.hortonworks.com/HDP/centos6/2.x/2.4-latest/HDP-2.4-latest-centos6-rpm.tar.gz

HDP-UTILS-1.1.0.20:

http://s3.amazonaws.com/public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz

2)  配置ambari、HDP、HDP-UTILS的源

:事实证明HDP、HDP-UTILS源不需要配置,ambari安装时可以指定本地源,并在各个节点里创建repo文件.ambari的源需要配置,因为安装采用yum install ambari方式.

vi ambari.repo

#VERSION_NUMBER=2.2.2.0-460

[Updates-ambari-2.2.2.0]

name=ambari-2.2.2.0 -Updates

baseurl=http://192.168.56.21/AMBARI-2.2.2.0/centos6/2.2.2.0-460/

gpgcheck=1

gpgkey=http://192.168.56.21/AMBARI-2.2.2.0/centos6/2.2.2.0-460/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

vi hdp.repo

#VERSION_NUMBER=2.4.2.0-258

[HDP-2.4.2.0]

name=HDP Version -HDP-2.4.2.0

baseurl=http://192.168.56.21/HDP/centos6/2.x/updates/2.4.2.0

gpgcheck=1

gpgkey=http://192.168.56.21/HDP/centos6/2.x/updates/2.4.2.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

 

[HDP-UTILS-1.1.0.20]

name=HDP Utils Version- HDP-UTILS-1.1.0.20

baseurl=http://192.168.56.21/HDP-UTILS-1.1.0.20/repos/centos6

gpgcheck=1

gpgkey=http://192.168.56.21/HDP/centos6/2.x/updates/2.4.2.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

yum clean all

yum list update

yum makecache

yum repolist

2.5  执行安装

Yum方式安装ambari。

2.5.1  安装ambari2.2.2

1)安装ambari

yum install ambari-server

2)配置amabri

ambari-server setup
Customize user account for ambari-server daemon [y/n] (n)?
输入:y
Enter user account for ambari-server daemon (root):

:这里亦可选择用户amabri,届时会让提供该用户的密码等信息.
输入:root

检查防火墙是否关闭
Adjusting ambari-server permissions and ownership...
Checking firewall...
WARNING: iptables is running. Confirm the necessary Ambari ports areaccessible. Refer to the Ambari documentation for more details on ports.

OK to continue [y/n] (y)?
输入:y

检查JDK
Checking JDK...

[1] - Oracle JDK 1.7 + Java Cryptography Extension (JCE)Policy Files 7
[2] - Oracle JDK 1.6 + Java Cryptography Extension (JCE) Policy Files 6
[3] - Custom JDK
==============================================================================
Enter choice (1):
输入:3
输入:/mnt/sf/public/jdk1.7.0_67

Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
==============================================================================
Enter choice (1):
输入:3

Hostname (localhost):
Port (3306):
Database Name (ambari):
Username (ambari):
输入:(什么也不输入,直接“回车”)

Enter Database Password (cluster):
Re-enter password:
输入:ambari

WARNING: Before starting Ambari Server, youmust run the following DDL against the database to create the schema:/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
注:这里需要以mysql的amabri用户在ambari数据库里source上面的sql文件,作用时初始化ambari数据库。

Proceed with configuring remote database connectionproperties [y/n] (y)?
输入:y

2) 启动ambari服务

ambari-server start

Using python  /usr/bin/python2.6

Starting ambari-server

Ambari Server running with 'root' privileges.

Organizing resource files at/var/lib/ambari-server/resources...

Server PID at: /var/run/ambari-server/ambari-server.pid

Server out at: /var/log/ambari-server/ambari-server.out

Server log at: /var/log/ambari-server/ambari-server.log

Waiting for server start....................

Ambari Server 'start' completed successfully.

注:启动ambari访问前,请确保mysql驱动已经放置在/usr/share/java内且名字是mysql-connector-java.jar不然ambari server启动时会报错mysql驱动找不到的错误.具体报错见:

21 May 2016 20:48:28,985 ERROR [main]DBAccessorImpl:106 - Error while creating database accessor

java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

atjava.net.URLClassLoader$1.run(URLClassLoader.java:366)

atjava.net.URLClassLoader$1.run(URLClassLoader.java:355)

atjava.security.AccessController.doPrivileged(Native Method)

atjava.net.URLClassLoader.findClass(URLClassLoader.java:354)

atjava.lang.ClassLoader.loadClass(ClassLoader.java:425)

atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

atjava.lang.ClassLoader.loadClass(ClassLoader.java:358)

atjava.lang.Class.forName0(Native Method)

atjava.lang.Class.forName(Class.java:190)

2.5.2  安装HDP2.4.2

登录ambari服务器以8080端口访问.如下是ambari界面化安装时的部分截图:

#集群初始化

 

 

:主机确认有个openssl的bug导致主机注册始终不通过。具体报错见:

Failed to connect to https://name.hadoop:8440/cert/cadue to [Errno 1] _ssl.c:492: error:100AE081:elliptic curveroutines:EC_GROUP_new_by_curve_name:unknown group

解决办法是升级openssl-1.0.1e-15.el6.x86_64到更高版本,具体做法是配置163操作系统源.

http://mirrors.163.com/.help/centos.html里点击下载centos6的源

拷贝该repo文件到/etc/ yum.repos.d

#编辑该源文件并修改内容成如下:

vi CentOS6-Base-163.repo

[base]

name=CentOS-$releasever - Base - 163.com

baseurl=http://mirrors.163.com/centos/6/os/x86_64/

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

gpgcheck=0

#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

yum clean all

yum list update

yum makecache

yum upgrade openssl

#分发到其它节点做同样的事情

scp CentOS6-Base-163.reporoot@192.168.56.22:/etc/yum.repos.d/

主机检查时出现TransparentHuge Pages Issues (1)

解决方法:执行下面的命令可临时解决这个警告:

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

永久解决:

vi  /etc/rc.local

在文件的最后添加下面的行,保存即可。

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

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

前期配置顺利,直接按照界面化安装出错信息,排错。很容易到最终的安装.

3  问题

已分散到各章节内。

4总结

具体问题具体分析,以log为准。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShenLiang2025

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值