[root@localhost ~]# vi /etc/hosts (集群中所有机器都得添加新添加进来的机器)
192.168.123.4 hdp04.chbigdata.org.cn hdp04
192.168.123.5 hdp05.chbigdata.org.cn hdp05
192.168.123.6 hdp06.chbigdata.org.cn hdp06
192.168.123.7 hdp07.chbigdata.org.cn hdp07
192.168.123.8 hdp08.chbigdata.org.cn hdp08
192.168.123.9 hdp09.chbigdata.org.cn hdp09
192.168.123.41 hdp41.chbigdata.org.cn hdp41
[root@localhost ~]# vi /etc/hostname
hdp41
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hdp41
本机免密登录本机:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
远程登录到其他机器(将公钥发送到需要无密码登录的目标节点)
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.123.4
注:其他机器免密登录到hdp41,依次执行如下命令
ssh-copy-id -i ~/.ssh/id_rsa.pub root@hdp41
查看ntpd的状态
service ntpd status
连网的情况:
同步互联网的时间(可自行找一个时间服务器)
ntpdate ntp1.aliyun.com
离线情况:
以其中一台最接近当前网络时间的服务器作为时间服务器,然后其他机器将时间同步到与该机器一致。
1、作为时间服务器的那台机器需要开启ntpd服务,其他机器不用开启,命令如下
service ntpd start
2、其它机器依次执行同步命令
ntpdate 时间服务器的ip
执行完上述步骤便完成时间同步了。
service iptables stop
chkconfig iptables off
/etc/init.d/iptables stop
[root@hdp41 ~]# java -version
java version "1.7.0_45"
卸载低版本的jdk
查看自带的jdk:
# rpm -qa|grep gcj
# rpm -qa | grep jdk
[root@hdp41 bin]# rpm -qa | grep jdk
用rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64命令卸载相应的jdk;
执行 # java -version 时就是 显示依然是原先机器的java版本,是因为你的linux系统有默认的jdk;可通过软链接的方式进行链接到我们安装的java版本,具体操作如下所示:
cd /usr/bin
ln -s -f /usr/local/java/jdk1.8.0_91/bin/javac
ln -s -f /usr/local/java/jdk1.8.0_91/jre/bin/java
因为该版本会用到Kerberos进行Hadoop集群的安全保障,所以将会在此阶段配置JCE
下载JCE安装包
JCE7(For JDK1.7)
下载路径:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JCE8(For JDK1.8)
下载路径:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
将安装包解压到指定路径($JAVA_HOME/jre/lib/security/)
unzip -o -j -q jce_policy-8.zip -d $JAVA_HOME/jre/lib/security/
禁用selinux
查看当前SELinux状态
/usr/sbin/sestatus
在当前终端禁用SELinux
setenforce 0
永久禁用SELinux
vim /etc/selinux/config
#确认SELINUX为禁用状态
SELINUX=disabled
重启计算机(注意重启机器后记得查看httpd服务是否正常启动)
sudo reboot
2、 禁用PackageKit
通常在centos和redhat中为开启
vim /etc/yum/pluginconf.d/refresh-packagekit.conf
#确认packagekit为禁用状态
enabled=0
3、 检查UMASK
检查系统UMASK
umask
设置当前UMASK
umask 0022
永久生效
echo umask 0022 >> /etc/profile
提前安装好Ambari-agent主要是为了后期正式安装时避免出现不必要的错误,当做如果是采用本地源安装的方式便无需提前安装了,只需要将对应的.repo文件复制一份到待安装的机器便可。
[root@hdp04 yum.repos.d]# scp ambari.repo hdp.repo HDP-UTILS.repo
[root@hdp41 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo_bak
复制完这一步,则对于安装ambari-agent便是可选的操作。
2、开通httpd服务
[root@hdp41 ~]# service httpd start
3、 在线安装只需要运行如下命令便可
yum install ambari-agent
离线安装可参考
HDP之离线安装ambari-agent
把ambari server那台主机的id_rsa上传上去就行了
笔者只将该节点安装为数据结点,因此只选了datanode进行安装,如下所示:
后面步骤则根据提示依次进行便可。
root soft nofile 163840
root hard nofile 163840
修改完再用 ulimit -a 验证是否修改成功
一、Ambari Metrics 安装时出现如下异常
resource_management.core.exceptions.ExecutionFailed: Execution of '/usr/bin/yum -d 0 -e 0 -y install ambari-metrics-monitor' returned 1. Error: Nothing to do
解决:发现事先复制到该机器/etc/yum.repos.d目录的ambari.repo文件竟然不见了。重新将该文件再进行复制,问题便解决了。
二、Ambari Metrics 启动失败
报的错如下:
org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.query.DefaultPhoenixDataSource:
Unable to connect to HBase store using Phoenix.
org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=SYSTEM.CATALOG.
This is usually due to AMS Data being corrupt.
1、Shut down Ambari Monitors, and Collector via Ambari
2、Cleared out the /var/lib/ambari-metrics-collector dir for fresh restart
3、From Ambari -> Ambari Metrics -> Config -> Advanced ams-hbase-site get the hbase.rootdir and hbase-tmp directory
4、Delete or Move the hbase-tmp and hbase.rootdir directories to an archive folder
Started AMS.
All services will came online and graphs started to display, after a few minutes
参考文档:
https://community.hortonworks.com/articles/11805/how-to-solve-ambari-metrics-corrupted-data.html