Ambari的安装

准备工作

需要的工具有:yum rpm scp curl wget pdsh 前几个一般系统都自带了,pdsh需要自己装 

使用如下命令:

sudo yum -y install epel-release 
sudo yum install pdsh
配置hosts

执行命令:

sudo vi /etc/hosts

部分需要编辑vi /etc/sysconfig/networkHOSTNAME=kindoserver41

添加如下内容(根据情况修改,dn1这名字最好和节点服务器的主机名相同,以防后期可能会出主机名不一致的错):

192.168.1.49 master master.hadoop.test 
192.168.1.48 dn1 dn1.hadoop.test 
192.168.1.47 dn2 dn2.hadoop.test
配置ssh免登录

选定master.hadoop.test作为ambari server,需要配置该节点到其它节点的ssh免登录

cd ~  
ssh-keygen 
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

一直敲回车,遇到(y/n)?敲y 回车

chmod 700 ~/.ssh  
chmod 600 ~/.ssh/authorized_keys 

配置本地的免登录

scp ~/.ssh/authorized_keys root@kindoserver42:/root/.ssh/ 
scp ~/.ssh/authorized_keys root@kindoserver43:/root/.ssh/ 
其他
setenforce 0  
chkconfig iptables off  
/etc/init.d/iptables stop  
umask 022  

永久关闭:

vi /etc/yum/pluginconf.d/refresh-packagekit.conf

修改enable=0

vi /etc/selinux/config

修改SELINUX=disabled

安装Ambari Server

添加yum资源库
wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.6.1.3/ambari.repo -O /etc/yum.repos.d/ambari.repo
yum repolist

yum install ambari-server

资源库部分参见官网:https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.3/bk_ambari-installation/content/download_the_ambari_repo_lnx6.html 。可以根据自己的版本选择。我的centos6.

创建mysql用户
#注意此处的密码不能设置特殊符号,ambari不认识
create user 'ambari'@'%' IDENTIFIED BY 'ambari';
#设置ambari的用户权限
GRANT ALL ON ambari.* TO 'ambari'@'%';

tips:如果报错MySQL-1819,

#更改MySQL密码强度
set global validate_password_policy=0;
#设置mysql最低长度
set global validate_password_length=4;
设置ambari
ambari-server setup

设置时注意填MySQL中ambari库的用户名和密码。

导入ambari数据库

MySQL命令行:

use ambari;
alter database ambari character set latin1;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
启动Ambari
ambari-server start

然后就启动成功了。

登录

登录http://ip:8080,出现ambari的登录页面,admin/admin进行登录。

配置界面填写数据库密码时,注意选择已存在的数据库!!!!
设置数据库驱动:
全局shell命令

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.46.jar

注意在创建数据库用户时,要使用192.168.1.13,不要使用localhost。(hive数据库出错)
hive的数据库hive:hive,ambari metrics的用户admin:admin;activity analysis的用户admin:admin。

在装Hive时,会出现没有该表,但提示Table xxx not exist
改hive数据库的编码:alter database hive character set latin1;
/etc/my.cnf里添加:

#最大连接数,根据情况
max_connections=500

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8

#sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

重新创建该库。

然后启动全部。

期间修改了一次主机,重启之后,需要修改每台服务器的/etc/ambari-agent/conf/ambari-agent.ini文件中的主机。

问题

修改配置:(datanode节点启动不起来)

echo  "@hdfs    -    core      unlimited"  >>  /etc/security/limits.conf 

cat >> /etc/security/limits.conf << EOF
* - nofile 128000
* - noproc 65535
EOF

然后重启该服务器。


安装Impala

Impala的安装包是在CDH中,在线安装的话,在许多环境中是不可行的,需要制作离线镜像源。

1)添加cdh的repo

在/etc/yum.repos.d/中创建cdh.repo

[cloudera-cdh5]
# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat    or CentOS 6 x86_64
name=Cloudera's Distribution for Hadoop, Version 5
baseurl=https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5/
gpgkey =https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 1
  1. git下载impala:

VERSION=`hdp-select status hadoop-client | sed 's/hadoop-client - \([0-9]\.[0-9]\).*/\1/'` 

sudo git clone https://github.com/cas-bigdatalab/ambari-impala-service.git /var/lib/ambari-server/resources/stacks/HDP/$VERSION/services/IMPALA  

3)web页面
重启ambariambari-server restart,Actions-->Add service -->impala,然后一步一步安装

  1. 配置文件/etc/hadoop/conf/core-site.xml添加内容

 
    dfs.client.read.shortcircuit  
   true 
 

 
    dfs.client.read.shortcircuit.skip.checksum 
        false 
 

  
    dfs.datanode.hdfs-blocks-metadata.enabled  
    true 
 

/etc/hadoop/conf/hdfs-site.xml

 
    dfs.datanode.hdfs-blocks-metadata.enabled  
    true 
 
  
    dfs.block.local-path-access.user  
    impala 
 
 
    dfs.client.file-block-storage-locations.timeout.millis 
    60000 
 

  1. 将配置文件复制到/etc/impala/conf

  2. 页面安装启动impala


    image.png

期间还参照http://www.cnblogs.com/zwgblog/p/6846030.html这个网址复制了hbase的jar包,但看别的都没有说jar包的移动,所以不确定有没有。

其中的错误:

1. 错误:部分py脚本会执行超时,然后报错Python script has been killed due to timeout after waiting 1800 secs解决:比如:/usr/bin/yum -d 0 -e 0 -y install hadoop_2_6_4_0_91-mapreduce
需要单独手动在对应的服务器上执行yum install hadoop_2_6_4_0_91-mapreduce。然后在页面上点击Retry

2. 在安装完impala之后,会出现jar包找不到的情况,而页面的显示为impala连接上之后又断开了。提示为Connection failed: [Errno 111] Connection refused to kindoserver43:22000.

错误日志查看路径:/var/log/impala/

执行ll -rt,有个impalad.ERROR -> 软连接到一个文件,cat该文件,则能看到异常。

把以下jar包放到 /usr/lib/impala/lib/ 目录下,并创建软连接:


ln -sf  /usr/hdp/2.6.4.0-91/hadoop/hadoop-common-2.7.3.2.6.4.0-91.jar hadoop-common.jar

ln -sf /usr/hdp/2.6.4.0-91/hadoop/hadoop-auth-2.7.3.2.6.4.0-91.jar hadoop-auth.jar

ln -sf /usr/hdp/2.6.4.0-91/hive/lib/hive-metastore-1.2.1000.2.6.4.0-91.jar  hive-metastore.jar

ln -sf /usr/hdp/2.6.4.0-91/hive/lib/hive-common-1.2.1000.2.6.4.0-91.jar  hive-common.jar

ln -sf /usr/hdp/2.6.4.0-91/hive/lib/hive-shims-common-1.2.1000.2.6.4.0-91.jar hive-shims-common.jar

ln -sf /usr/hdp/2.6.4.0-91/hive/lib/hive-exec-1.2.1000.2.6.4.0-91.jar hive-exec.jar

ln -sf /usr/hdp/2.6.4.0-91/hadoop-mapreduce/hadoop-mapreduce-client-core-2.7.3.2.6.4.0-91.jar hadoop-mapreduce-client-core.jar

ln -sf /usr/hdp/2.6.4.0-91/hadoop-hdfs/hadoop-hdfs-2.7.3.2.6.4.0-91.jar hadoop-hdfs.jar

参考文献:https://www.jianshu.com/p/6e59df5f2461 。(因文中添加yum资源库开始行不通了,所以自行写了一篇)
http://blog.csdn.net/maxsky/article/details/51171474 。(MySQL部分)
https://community.hortonworks.com/questions/113748/hive-metastore-start.html 。(Hive Metastore Start)
http://www.mamicode.com/info-detail-2214089.html 。(没什么用,但是提供了灵感)

http://www.voidcn.com/article/p-rhriyovp-bhh.html 。(impala部分参考)

你可能感兴趣的:(Ambari的安装)