二、为每台主机关闭iptables,SELinux,启动ntpd服务
三、安装Mysql,JDK
查看linux发行版本
安装
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
四、集群服务器间配置时间同步
五、安装Ambari
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
启动成功
日志无报错
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)
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=<your.ambari.server.hostname>
url_port=8440
secured_url_port=8441
ambari-agent start
看后台日志,报错
解决方案:
删除所有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
后面又报错:
解决方法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
add a line:
proxy=http://127.0.0.1:3128/
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
解决方法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
继续安装,报错:
解决方法1(本人测试无效,后来用方法2到节点服务器上手工安装):
在SERVER服务器上执行
vim /etc/ambari-server/conf/ambari.properties
把标红值改大
解决方法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
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升级