热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AmbariHDP集群搭建文档

一、配置主机和节点机器之间SSH无密登录多台外网服务器配置时,需要在etchosts中把本机的IP地址设置为内网IP地址http:2d67df38.wiz02.com

一、配置主机和节点机器之间SSH无密登录

多台外网服务器配置时,需要在/etc/hosts中把本机的IP地址设置为内网IP地址
http://2d67df38.wiz02.com/share/s/0JpZYU2X7kl626aE730Q_Flq3daBjm08rAnl2oLpli2uMOfo
二、为每台主机关闭iptables,SELinux,启动ntpd服务
三、安装Mysql,JDK
查看linux发行版本
cat /etc/redhat-release
从网站 http://dev.mysql.com/downloads/repo/yum/ 下载对应版本yum资源
安装
yum -y install mysql57-community-release-el7-7.noarch.rpm
安装mysql数据库的服务器版本
yum -y install mysql-community-server
 
启动数据库
service   mysqld start
systemctl start  mysqld.service
 
获取初始密码
#######从mysql进程日志中获取root用户的初始密码:ra%yk7urCBIh
[root@typecodes ~]# grep "password" /var/log/mysqld.log
 修改root用户密码
mysql -u root -p
 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
 

这个其实与validate_password_policy的值有关。

validate_password_policy有以下取值:

Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
 
首先,修改validate_password_policy参数的值
set global validate_password_policy=0;
这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。
validate_password_length参数默认为8
set global validate_password_length=4;
 
安装JDK,配置环境变量

export JAVA_HOME=/usr/local/jdk1.8.0

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

 

export PATH=${JAVA_HOME}/bin:$PATH

使环境变量立即生效
source ~/.bash_profile
四、集群服务器间配置时间同步
http://2d67df38.fromwiz.com/share/s/0JpZYU2X7kl626aE730Q_Flq2OyZYU3BDQcP2rnK4F3zASlT
五、安装Ambari
wget -P /etc/yum.repos.d/ http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.0.1/ambari.repo
 
wget -P /etc/yum.repos.d/ http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo
 
yum clean all
 
yum list|grep ambari
yum安装ambari服务端 
yum install ambari-server
 
安装完后进行设置
ambari-server setup
 
 
 到这一步需要安装mysql jar包
yum install mysql-connector-java*
 启动服务
 报错:
 解决方法:
grant all privileges on *.* to ambari@'localhost' identified by 'bigdata';
flush privileges;
 
 重新启动,报错:
创建数据库
create database ambari character set utf8;
 重新启动,报错:
  如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本
用Ambari用户(上面设置的用户)登录mysql
mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
 启动成功
 日志无报错
 打开 http://localhost:8080
admin/admin
 登录系统操作后发现还是报错:
 21 Feb 2017 19:15:29,519  WARN [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0] StatementUtils:48 - Statement close FAILED.
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
原因:Ambari默认的 mysql jdbc 驱动不支持 5.6以上版本
解决方法:下载新的 mysql jdbc驱动
ln -s mysql-connector-java-5.1.40-bin.jar mysql-connector-java.jar
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
 
配置主机时报错
Permanently added 'node1.hadoop' (ECDSA) to the list of known hosts
解决方法
在 master主机用户根目录的.ssh/ssh_config 文件中新增一行
UserKnownHostsFile ~/.ssh/known_hosts
 
继续报错
 解决方法:
修改主机名
vi /etc/sysconfig/network
 vim /etc/hosts
 hostname master.hadoop
 
或者直接 hostnamectl set-hostname 新主机名
 
 
 注意HOST名字要写全名
node2节点报错:
ERROR: Bootstrap of host node2.hadoop fails because previous action finished with non-zero exit code (255)
ERROR MESSAGE: tcgetattr: Invalid argument
Connection to node2.hadoop closed.

STDOUT: tput: unknown terminal "unknown"
('', None)
('', None)
登录到node2上手动启动agent
wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.1.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
 
yum repolist
 
yum install ambari-agent
 

vi /etc/ambari-agent/conf/ambari-agent.ini

[server]

hostname=

url_port=8440

secured_url_port=8441

 

ambari-agent start

 

看后台日志,报错

解决方案:
pip install flask -i  http://pypi.douban.com/simple  --trusted-host  pypi.douban.com
 
删除所有ambari* from /usr/lib/python2.6/site-packages,重新安装ambari-agent,杀死ambari进程,重新启动
rm - f / usr / lib / python2 . 6 / site - packages / ambari_commons
rm - rf / usr / lib / python2 . 6 / site - packages / resource_management
rm - rf / usr / lib / python2 . 6 / site - packages / ambari_jinja2
rm - rf / var / lib / ambari - agent /
rm - rf / usr / lib / ambari - agent /
yum remove ambari-agent
yum install ambari-agent
 
后面又报错:
 
 
 
  Error: Cannot retrieve repository metadata (repomd.xml) for repository: HDP-2.3. Please verify its path and try again
 
解决方法1:
(此方法未验证)

Resolved: The problem was related to proxy Authentication. So, I installed and configured CNTLM to access ISA Proxy Server on Centos 6.

Look at the article :

http://wingloon.com/2014/04/11/how-to-install-and-configure-cntlm-to-access-isa-server-on-centos-6-5/

1.Install and configure cntlm

2. configure yum to use through ISA Proxy

  • vi /etc/yum.conf

add a line:

proxy=http://127.0.0.1:3128/

  • vi .bash_profile

add :

export http_proxy=http://localhost:3128/

export https_proxy=${http_proxy}

export ftp_proxy=${http_proxy}

  • logoff root and login again
  • yum clean all
  • yum install XXXX

yum update, yum repolist or yum install now works fine

来源: https://community.hortonworks.com/questions/15506/error-cannot-retrieve-repository-metadata-repomdxm.html

 

解决方法2:
在对应报错服务器上的HDP.repo文件中添加一行   proxy = _none_
 

I have fixed it myself. For those who might face the same issue. This is what I did. Basically HDP.repo should be told to skip proxy server, but if you edit HDP.repo, Ambari wizard will overwrite it. So what is the workaround?. This is how you make HDP.repo skip the proxy. Just add the following lines to the yum.conf file for all the nodes. It worked for me. Hope this helps! :)

[HDP-2.4]

name=HDP-2.4

proxy = _none_

baseurl=http://item-70288/hdp/HDP/centos6/2.x/updates/2.4.0.0

enabled=1

gpgcheck=0

来源: https://community.hortonworks.com/questions/26872/forbidden-403-error-on-hdp-24-installation.html
继续安装,报错:
 解决方法1(本人测试无效,后来用方法2到节点服务器上手工安装):
在SERVER服务器上执行
vim /etc/ambari-server/conf/ambari.properties
 把标红值改大

解决方案: 1.手动安装yarn apt-get update apt-get install hadoop-2-4-.*-yarn

2.修改配置文件 Can be solved by setting the timeout (agent.package.install.task.timeout=1800) in /etc/ambari-server/conf/ambari.properties

注意: 在安装mapreduce,spark等软件包时,也可能出现类似的问题,请将timeout设置到合适的时间。或者根据错误提示,手动安装相应的软件包。

来源: https://jacobustczhi.gitbooks.io/ambari-ubuntu/chapter5.html
解决方法2:
手工安装
报错:there are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
 
yum update
yum install yum-utils
yum-complete-transaction --cleanup-only
 
报错:
 版本不一致导致,可参考本文最后 ambari升级部分
 
后续安装hadoop各组件一般只会是yum超时错误,可手动到服务器上运行yum命令安装,或者下载相关包,制作本地yum源
 
解决不了报错信息,就手动到节点服务器安装agent
http://docs.hortonworks.com/HDPDocuments/Ambari-2.2.1.0/bk_ambari_reference_guide/content/_install_the_ambari_agents_manually.html
rh7
 
wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.1.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
 
yum repolist
 
vi /etc/ambari-agent/conf/ambari-agent.ini
将红框处修改为ambari-server主机名
 
ambari-agent start
 
 
ZOOKEEPER安装报错
解决方案:找到zookeeper配置文件,修改服务端配置个数,改为奇数个,
ambari上只需要删除一台节点的zookeeper服务
 
 
PS:在安装某些组件时候,会报配置参数找不到错误
如:
 
可执行如下命令来手动设置参数
/var/lib/ambari-server/resources/scripts/configs.sh -u admin -p admin set 127.0.0.1 bigdata  hive-site hive_server_host "node3.hadoop"
-u ambari系统登录名
-p ambari系统登录密码
bigdata是ambari集群名称
hive_server_host是报错的配置参数名
""内是要设置的配置参数值
 
附:
ambari升级
http://2d67df38.fromwiz.com/share/s/0JpZYU2X7kl626aE730Q_Flq3bDNPQ03b4rH2DzrHN2XmjXh
 

 

 


推荐阅读
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • 本文详细介绍如何在树莓派上安装并配置Samba服务,以实现与Windows系统的网络共享兼容性。适合初学者参考。 ... [详细]
  • 本文详细介绍了如何在VMware环境下安装CentOS 7 Minimal,并成功配置GNOME桌面环境的过程。包括解决网络连接问题和设置默认图形界面等关键步骤。 ... [详细]
  • Linux环境下PostgreSQL的安装、配置及日常管理
    本文详细介绍了在Linux环境下安装、配置PostgreSQL数据库的过程,包括环境准备、安装步骤、配置数据库访问以及日常服务管理等方面的内容。适合初学者和有一定经验的数据库管理员参考。 ... [详细]
  • 本文介绍了一种有效的方法来监控Web服务器(如Nginx)和数据库服务器(如MySQL)的服务状态,通过端口、进程和服务响应等多种方式确保服务的正常运行。 ... [详细]
  • 解决getallheaders函数导致的500错误及8种服务器性能优化策略
    本文探讨了解决getallheaders函数引起的服务器500错误的方法,并介绍八种有效的服务器性能优化技术,包括内存数据库的应用、Spark RDD的使用、缓存策略的实施、SSD的引入、数据库优化、IO模型的选择、多核处理策略以及分布式部署方案。 ... [详细]
  • ###########性能监控脚本###########################!binbash#监控cpu系统负载IPifconfigeth0|grepinetaddr ... [详细]
  • 本文详细介绍了RPM包构建过程中Spec文件的结构和各部分的作用,包括包描述、准备阶段、构建过程、安装步骤、清理操作以及文件列表等关键环节。同时,提供了关于RPM宏命令、打包目录结构及常见标签的深入解析。 ... [详细]
  • SonarQube配置与使用指南
    本文档详细介绍了SonarQube的配置方法及使用流程,包括环境准备、样本分析、数据库配置、项目属性文件解析以及插件安装等内容,适用于具有Linux基础操作能力的用户。 ... [详细]
  • Iris 开发环境配置指南 (最新 Go & IntelliJ IDEA & Iris V12)
    本指南详细介绍了如何在最新的 Go 语言环境及 IntelliJ IDEA 中配置 Iris V12 框架,适合初学者和有经验的开发者。文章提供了详细的步骤说明和示例代码,帮助读者快速搭建开发环境。 ... [详细]
  • Linux双网卡绑定技术详解与实践
    本文详细介绍了如何在Linux系统中实现双网卡绑定,即将两块物理网卡合并为一个逻辑网卡,以提高网络性能和可靠性。文中不仅涵盖了基本的概念,还提供了具体的配置步骤和测试方法。 ... [详细]
  • 解决Linux Ubuntu下Ping IP正常但无法Ping域名的问题
    本文介绍了在Linux Ubuntu系统中遇到的一种常见问题——能够Ping通IP地址,但无法Ping通域名,并提供了有效的解决方案。 ... [详细]
  • 本文介绍了Windows驱动开发的基础知识,包括WDF(Windows Driver Framework)和WDK(Windows Driver Kit)的概念及其重要特性,旨在帮助开发者更好地理解和利用这些工具来简化驱动开发过程。 ... [详细]
  • 四月个人任务:Linux基础操作与网络管理
    本文介绍了两项主要任务:编写一个脚本来检测192.168.1.0/24子网中当前在线的IP地址,以及如何在Linux系统中挂载Windows网络共享目录。通过具体步骤和代码示例,帮助读者理解和掌握相关技能。 ... [详细]
  • Mac环境下Java与Ant自动化构建环境搭建指南
    本文详细介绍了如何在Mac操作系统上为测试工程师搭建Java和Ant开发环境,包括环境变量配置等关键步骤。 ... [详细]
author-avatar
李瑶626
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有