hortenworks hadoop 2.4 集群安装详细步骤
1. 准备工作(所有集群中的主机)
1.1兼容性
使用此表,以确定是否你的ambari和HDP的版本兼容。
ambari不安装hue或Solr。
如果你计划安装和管理HDP 2.3.4(或之后版本),你必须使用ambari2.2.0(或
之后版本)。不要使用ambari2.1x 带HDP 2.3.4(或之后版本)。
1.2操作系统检查
以下是64位操作系统支持列表:
? 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 and HDP 2.1)
? Ubuntu Precise v12.04
? Ubuntu Trusty v14.04
1.3浏览器支持
? 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
1.4需要的软件包
在每台机器上要有如下软件包:
? 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 v2.6
1.5数据库支持
1.6内存支持
在每台机器使用free –m命令检查,每台机器的剩余内存和硬盘应该满足如下要求:
1.7最大打开文件数检查
在每台机器上使用如下命令检查:
ulimit -Sn
ulimit -Hn
如果这两个命令都小于10000,则使用如下命令来设置:
ulimit -n 10000
1.8空间需求
安装HDP2.4的目录需要大小至少需要2.5G
操作系统(后续安装步骤以redhat6的版本进行)
支持以下操作系统:
64-bit CentOS 6 or 5 (Deprecated)
64-bit Red Hat Enterprise Linux (RHEL) 6 or 5 (Deprecated)
64-bit Oracle Linux 6 or 5 (Deprecated)
64-bit SUSE Linux Enterprise Server (SLES) 11, SP1 and SP3
64-bit Debian 6
64-bit Ambient Precise (12.04)
Windows Server 2008, 2012
Software Requirements
检查linux操作系统版本命令:cat /etc/issue
1.9JDK检查
JDK环境 :HDP支持以下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)
安装jdk:
jdk安装在目录/usr/local 下,在当前用户下配置.bash_profile文件,设置如下:
#ambari
export JAVA_HOME=/usr/local/jdk1.7.0_79
export JAVA_BIN=$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
说明:尽量不要去修改全局变量的配置文件/etc/profile 和 /etc/bashrc ,建议修改当前 用户下的.bash_profile ,这样只影响当前用户,不会影响到其它用户的环境变量配置
1.10修改 /etc/hosts 文件
将所有的节点都配置好,举例:
127.0.0.1 localhost dsj-kj5
::1 localhost dsj-kj5
10.13.39.32 dsj-kj1
10.13.39.33 dsj-kj2
10.13.39.34 dsj-kj3
10.13.39.35 dsj-kj4
10.13.39.36 dsj-kj5
1.11为每台主机关闭iptables、SELinux,启动ntpd服务
1. 关闭iptables,可以直接执行如下命令:
立即关闭,并非永久关闭
[root@rac1 ~]# /etc/init.d/iptables stop
永久关闭
iptables -F 关闭防火墙功能
[root@rac1 ~]# chkconfig iptables off
查看防火墙状态:
service iptables status
2. 禁用selinux,也就是修改/etc/selinux/config文件,修改后的内容为:
立即关闭selinux:
setenforce 0
永久关闭selinux:
SELINUX=disabled
SELINUXTYPE=targeted:
查看selinux的状态
/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
3.开启ntpd服务
chkconfig ntpd on
1.12配置各台机器的无密码登陆(SSH)
SSH无密登陆设置,只需设置管理节点(ambari安装节点)到其他节点即可
在每台机器上生成公钥和私钥
-------------
[root@master ~]$ mkdir ~/.ssh
[root@master ~]$ chmod 700 ~/.ssh
[root@master ~]$ ssh-keygen -t rsa
[root@master ~]$ ssh-keygen -t dsa
把每台机器上的公钥和私钥合并后的文件,再合并成一个authorized_keys文件
[root@master ~]$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[root@master ~]$cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[root@master ~]$chmod 600 ~/.ssh/authorized_keys
在第一台机器(master)把其它机器的authorized_keys文件内容追加到第一台机器上
[root@master ~]$ ssh slave1 cat ~/.ssh/authorized_keys >> ~/.ssh/authorized_keys
最重要的是,不要忘记将我们刚刚在master上生成的authorized_keys文件scp到其它机器
[root@master ~]$ scp ~/.ssh/authorized_keys slave1:~/.ssh/authorized_keys
测试连接成功的情况:
在每台机器上机器上
ssh master date
ssh slave1 date
ssh slave2 date
1.12.1出现问题:在建立的ambari用户下配置完后出现ssh不能访问,让输入密码
解决:是权限问题。
.ssh目录的权限和authorized_keys的权限都要看, 权限大了是不行的
.ssh的权限700, authorized_keys的权限600, 就够了, 属主要是登陆用户自己(root是不行的),组无所谓
不管是什么原因, 查/var/log/secure就明白了
获取安装包地址:
http://public-repo-1.hortonworks.com/ambari/centos6/ambari-1.7.0-centos6.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos6/HDP-2.2.0.0-centos6-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz
1.13在主节点上安装postgresql
1.Ambari资料库需要用到postgresql,所以要安装postgresql
在配置好系统光盘本地源后(参考2.4),执行如下命令安装:
2.安装新版本的Postgresql
yum install postgresql* -y
3.初始化数据库
/etc/init.d/postgresql initdb
4.启动数据库
/etc/init.d/postgresql start
注意:postgresql启动后就可以利用service postgresql start/restart/stop来控制它了。
虽然打完service后,按p不提示postgresql,但是可以用手输。
5.把postgresql加入自启动列表
cd /etc/init.d
chkconfig --add postgresql
6.查看一下自启动列表
chkconfig --list
chkconfig postgresql on 设置开机启动
在这里可以看到postgresql已经在其中了。
卸载步骤:
先删除安装包
yum –y remove postgresql* 注意这步会关联删除ambari-server
rm -rf /var/lib/pgsql
安装
yum –y install postgresql*
1.13.1初始化postgresql数据库的时候出现/var/lib/pgsql/data is missing. Use "service postgresql initdb" to initialize the cluster first
查看postgresql的日志文件/var/lib/pgsql/pgstartup.log,里机的内容:
initdb: 语言环境 zh_CN.GB18030要求使用不支持的编码GB18030
不允许将编码GB18030作为服务器端编码.
使用一个不同的语言环境重新运行initdb .
属于此数据库系统的文件宿主为用户 "postgres".
此用户也必须为服务器进程的宿主.
数据库簇将带有 locale zh_CN.GB18030 初始化.
原来是变量LANG设置成了zh_CN.GB18030
在/etc/profile中加上export LANG=C
再初始化和启动数据库没有问题
1.14安装mysql
1.14.1使用yum安装
如果安装过,首先卸载:
yum -y remove mysql*
以下为安装步骤:
1. 安装mysql 服务器端:
yum install mysql-server
yum install mysql-devel
2. 安装mysql客户端:
yum install mysql
3. 启动mysql服务:
service mysqld start或者/etc/init.d/mysqld start
停止:
service mysqld stop
重启:
service mysqld restart
4. 创建root管理员:
mysqladmin -u root password 123456
5.登陆
mysql -uroot -p123456
1.14.2使用软件包安装mysql
由于HIVE组件要用到mysql ,所以要安装mysql
1、下载 http://dev.mysql.com/downloads/mysql/
http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26-linux-glibc2.5-i686.tar.gz
迅雷下载后ftp传到Linux下面/usr/local/soft/
2、解压缩到/usr/local/下面,mysql的主目录命名为mysql
[root@localhost local]# cd /usr/local/soft/
[root@localhost soft]# tar zvxf mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz -C /usr/local
[root@localhost soft]# cd ..
[root@localhost local]# mv mysql-5.6.26-linux-glibc2.5-x86_64 mysql
3、在mysql下面创建data数据库文件目录
[root@localhost local]# mkdir mysql/data
4、创建mysql的用户组和用户,并对mysql目录设置用户组和用户
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd mysql -g mysql
[root@localhost local]# cd mysql
[root@localhost mysql]# pwd
/usr/local/mysql
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
5、初始化mysql并启动mysql服务
[root@localhost mysql]# cd /usr/local/mysql/scripts
[root@localhost scripts]# yum install libaio
设置安装进程
Loading mirror speeds from cached hostfile
* base: mirrors.opencas.cn
* extras: mirrors.btte.net
* updates: mirrors.btte.net
包 libaio-0.3.107-10.el6.i686 已安装并且是最新版本
无须任何处理
[root@localhost bin]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
2016-01-09 12:00:28 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-01-09 12:00:33 [WARNING] The bootstrap log isn't empty:
2016-01-09 12:00:33 [WARNING] 2016-01-09T04:00:29.262989Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2016-01-09T04:00:29.264643Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-01-09T04:00:29.264653Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
[root@localhost bin]# cd /usr/local/mysql/support-files
[root@localhost support-files]# ./mysql.server start
Starting MySQL. SUCCESS!
6、登录mysql,此版本最新版不许空密码登录,实际上有个初始化密码保存在/root/.mysql_secret这个文件里面,用这个密码第一次登录后,再修改密码。因此先cat查看下初始化密码(随机的,每次安装看到的密码都不一样):
[root@localhost ~]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2016-01-09 12:00:28
:5ul#H6dmcwX
利用初始化密码:5ul#H6dmcwX开始登录mysql:
[root@localhost ~]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysql -uroot -p:5ul#H6dmcwX
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.10
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
显示登录成功,可以执行mysql命令操作了!
设置自动启动mysql
4.配置文件
cd /usr/local/mysql/support-files
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql #若mysql的安装目录是/usr/local/mysql,则可省略此步
修改文件中的两个变更值
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
5.配置环境变量
vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
保存退出
. /etc/profile
6.添加自启动服务
chkconfig --add mysql
chkconfig mysql on
7.启动mysql
service mysql start
8.登录mysql及改密码与配置远程访问
mysqladmin -u root password 'your_password'
忘记root密码后,如何找回密码
cd /usr/local/mysql
./bin/mysqld_safe --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --skip-grant-tables &
mysql -u root mysql
UPDATE user SET password=PASSWORD("root") WHERE user='root';
FLUSH PRIVILEGES;
7、改mysql的root密码,新密码在此为'root'
mysql> set password=password('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)
8、设定远程登录mysql。在Linux下为了安全,默认是不允许mysql本机以外的机器访问mysql数据库服务,因此需要重新授权root。方便远程访问。
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select Host,User from user;
+-----------+-----------+
| Host | User |
+-----------+-----------+
| % | root |
| localhost | mysql.sys |
| localhost | root |
+-----------+-----------+
3 rows in set (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'leizm';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
授权语句最后的‘leizm’是mysql数据库root用户的新密码。
9、非必要的步骤,如果远程连不上,估计是防火墙的问题,关闭试试:
[root@localhost mysql]# service iptables stop
setenforce 0iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
[root@localhost mysql]# setenforce 0
setenforce: SELinux is disabled
用SQLyog远程登录访问测试下:
安装配置成功!
创建用户和数据库:
mysql -uroot -pxxxx 进入mysql命令行,创建以下用户和数据库:
#ambari for mysql 配置
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
CREATE USER 'ambari'@'a2master' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'a2master';
FLUSH PRIVILEGES;
说明:a2master Ambari Server 的机器名称
CREATE DATABASE ambari;
use ambari;
source /root/Ambari-DDL-MySQL-CREATE.sql;
FLUSH PRIVILEGES;
#hive for mysql 配置
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
CREATE USER 'hive'@'a2slave1'IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'a2slave1';
FLUSH PRIVILEGES;
CREATE DATABASE hive;
FLUSH PRIVILEGES;
说明:'a2slave1' 是Hive Metastore 安装的机器名称
#root设置
GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'root';
FLUSH PRIVILEGES;
遇到问题:
第一次登陆mysql的时候出现
[root@master bin]# mysql -uroot -ppiJq0-uBGR:q
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
使用网上介绍的方法修改root用户的密码:
# mysqladmin -uroot -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
现在终于被我找到了解决方法,如下(请先测试方法三,谢谢!):
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
1.14.2.1在启动mysql的时候出现错误Starting MySQL.The server quit without updating PID file (/[FAILED]
原来是在/etc/目录下有一个my.cnf文件,删除掉再启动问题解决
1.14.2.2在启动mysql的时候出现错误The server quit without updating PID file [FAILED]cal/mysql/data/gslave1.pid).
查看/usr/local/mysql/data目录下的gslave1.err文件中有如下内容:
2016-03-31T02:46:06.138942Z 0 [ERROR] SSL error: Unable to get certificate from 'server-cert.pem'
2016-03-31T02:46:06.138957Z 0 [Warning] Failed to set up SSL because of the following SSL library error: Unable to get certificate
2016-03-31T02:46:06.139056Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2016-03-31T02:46:06.139090Z 0 [Note] IPv6 is available.
2016-03-31T02:46:06.139095Z 0 [Note] - '::' resolves to '::';
2016-03-31T02:46:06.139098Z 0 [Note] Server socket created on IP: '::'.
2016-03-31T02:46:06.139119Z 0 [ERROR] Could not open unix socket lock file /tmp/mysql.sock.lock.
2016-03-31T02:46:06.139121Z 0 [ERROR] Unable to setup unix socket lock file.
2016-03-31T02:46:06.139123Z 0 [ERROR] Aborting
手工删除/tmp/mysql.sock.lock这个文件启动成功
rm -rf mysql.sock.lock
1.14.2.3在连接mysql的时候出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
自己分析了一下,提示说无法通过socket文件/var/lib/mysql/mysql.sock连接到mysql服务器,也就是说对于mysql程序来说,因为mysql默认会在创建在/tmp/mysql.sock,但是对于mysql还是会从默认的安装目录/var/lib/mysql/里找这个mysql.sock文件,找不着,就不知道从哪里启动了。
为了验证我的想法,我首先从转移后的路径做了个软连接指向到mysql的默认目录里,如果mysql程序能连上说明想法是正确的。
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
做完软连接,重启mysql服务,再次通过mysql程序连接,没有问题,可以连上了。
2.制作ambari和hadoop本地源
2.1创建本地源目录
选取一台服务器,安装http服务,安装完后会自动创建 /var/www/html 目录
启动httpd 命令: service httpd start
chkconfig httpd on
创建两个目录:
mkdir /var/www/html/ambari
mkdir /var/www/html/hdp
2.2ambari本地源创建
解压HDP-UTILS-1.1.0.20-centos6.tar.gz 到目录 /var/www/html/ambari
命令:tar zxvf HDP-UTILS-1.1.0.20-centos6.tar.tar -C /var/www/html/ambari
把Updates-ambari-2.2.1.0目录拷贝到目录 /var/www/html/ambary
进入/var/www/html/ambari 目录,执行命令:createrepo ./
ambari本地源制作完成
2.3hadoop本地源创建
把HDP-2.4.0目录拷贝到目录 /var/www/html/hdp
进入/var/www/html/hdp 目录,执行命令:createrepo ./
hadoop本地源制作完成
2.4系统光盘本地源创建
制作系统本地源(安装ambari和hadoop时,可能会依赖些系统包,这时需要有系统的本地源来安装)
2.4.1挂载ISO文件方式
我在本机测试的是虚拟机,所以可以通过虚拟机挂载ISO的方式实现
1.mount DVD光盘到/mnt
mount /dev/sr0 /mnt
2. 在/etc/yum.repos.d目录创建mnt.repo,并删除其它的repo文件,否则会互相影响
[root@localhost yum.repos.d]# cat mnt.repo
[MNT]
name=isofile
baseurl=file:///mnt
enabled=1
gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-redhat-release
使用yum clean all删除以前的缓存
使用yum list进行测试
2.4.2拷贝文件方式
1.在windows上解压好,直接拷贝所有文件到linux机器
如果是真实的生产环境机器,则要先把ISO文件在本机解压,然后把文件都拷贝到/mnt目录下(必须开启这台机器的httpd服务),然后在/etc/yum.repos.d目录下创建一个mnt.repo
[MNT]
name=isofile
baseurl=file:///mnt
enabled=1
gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-redhat-release
使用yum clean all删除以前的缓存
使用yum list进行测试
2.拷贝ISO文件到linux机器
也可以拷贝ISO文件到linux机器
先把文件拷贝到一个目录(非/mnt下),比如/usr/local
然后挂载到/mnt下
[root@ ~]# mount -o loop /usr/local/rhel-server-6.6-x86_64-dvd.iso /mnt
mount: warning: /mnt seems to be mounted read-only.
然后在/etc/yum.repos.d目录下创建一个mnt.repo
[MNT]
name=isofile
baseurl=file:///mnt
enabled=1
gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-redhat-release
使用yum clean all删除以前的缓存
使用yum list进行测试
3. 安装与配置ambari服务
vim /etc/yum.repos.d/ambari.repo 添加以下内容
[ambari-2.2.1.]
name=Ambari 2.2.1
baseurl=http://10.13.39.32/ambari/
gpgcheck=0
enabled=1
[HDP-UTILS-1.1.0.20]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.20
baseurl=http://10.13.39.32/ambari/
gpgcheck=0
enabled=1
baseurl 中的node3为安装ambari的节点, 根据自己安装的实际节点配置
执行安装ambari 命令:yum -y install ambari-server
开始配置ambari 服务:ambari-server setup
最好选择3,Jdk提前自己安装,只需要设置JAVA_HOME的路径即可,否则选择1、2的话,需要通过网络下载,速度很慢
启动ambari服务:ambari-server start
Using python /usr/bin/python2.6
Starting ambari-server
Ambari Server running with 'root' privileges.
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
Ambari Server 'start' completed successfully.
到此ambari安装好
重装可以用此命令删除本机的目录find . -name ambari* | grep -v www | xargs rm -rf
4. 本地安装hadoop,给ambari配置本地hadoo源地址
进入目录:vim /var/lib/ambari-server/resources/stacks/HDP/2.4/repos/repoinfo.xml
修改中间的OS部分为
<os family="redhat6">
<repo>
<baseurl>http://10.13.39.36/hdp</baseurl>
<repoid>HDP-2.4</repoid>
<reponame>HDP</reponame>
</repo>
<repo>
<baseurl>http://10.13.39.36/ambari</baseurl>
<repoid>HDP-UTILS-1.1.0.20</repoid>
<reponame>HDP-UTILS</reponame>
</repo>
</os>
修改redhat6中的配置,node3为ambari安装的节点,根据自己安装的实际节点配置
这样在ambari执行hadoop安装时,会将本地源地址配置到所有主机上,在为所有主机安装ambari-agent时,会将ambari节点下的/etc/yum.repo/ambari.repo文件复制到所有主机
5. 登入ambari管理页面,进行集群和组件的配置安装
http://ip:8080/ 账户:admin 密码:admin,ip为ambari节点的实际IP
设置集群的名称:
选择HDP版本
选择HDP和HDP-UTILS的本地源路径,我用的是linux redhat6 操作系统,HAZZ-ZHFX-HADOOP01是配置hadoop 本地源的主机
选择集群中的所有主机,一行一个主机,再填写ssh私钥(master机器的id_dsa),用你设置ssh免密码登陆时的用户,我用的是root用户(注意:hosts中配置的名称需要小写,大写ambari匹配不上)
确认并且选择主机,最好将下面的警告全都消除掉,可能会影响hadoop组件的安装
选择需要安装的组件
分配好组件安装的机器
选择需要装的组件
根据需要,具体配置组件各项参数
本次组件总体安装信息
开始安装,直到成功
集群总体安装部署情况
当显示如下页面时,则表示hadoop安装成功
注意事项:
1.如果不是用root用户来安装,只是用普通用户来安装的话,需要给这个用户加上sudo权限,具体配置只需要在 /etc/sudoers 文件中添加一行配置即可,
hadoop ALL=(ALL) NOPASSWD:ALL
2./var/run/ganglia 这个文件夹的权限需要是755,如果不是,修改成755
sudo chmod -R 755 /var/run/ganglia
3.如果在安装hdp组件时发现存在openssl依赖情况,如下:
Error: Package: nagios-plugins-1.4.9-1.x86_64 (HDP-UTILS-1.1.0.20)
Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: nagios-plugins-1.4.9-1.x86_64 (HDP-UTILS-1.1.0.20)
Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
此时需要升级openssl版本,即可解决这个问题,下面是测试可以正常使用的openssl版本
openssl-1.0.1e-30.el6.x86_64.rpm
openssl-devel-1.0.1e-30.el6.x86_64.rpm
openssl098e-0.9.8e-18.el6_5.2.x86_64.rpm
4.安装时需要依赖很多的系统工具包,yum源是肯定需要的,如果集群不能联网,可以在内网配置一台yum服务器供集群安装时使用
RANGER安装配置
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7490392/viewspace-2084844/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7490392/viewspace-2084844/