离线制作安装源:
1、挂载镜像到/mnt下,并创建本地yum源;
yum groupinstall "Development tools"
2、搭建web服务器作为离线安装源;
ambari-server setup
使用mysql数据库
安装mysql,如果已经安装了mysql就直接跳到建立ambari等用户并赋权步骤
mysql安装(安装顺序安装):
rpm -ivh mysql-community-common-5.7.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.12-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.12-1.el6.x86_64.rpm
mysql安装后必须修改root的登录密码
mysql>set password=password('123456');
ambri 数据库配置:
ls /usr/share/java/mysql-connector-java.jar
并确保此驱动jar包的文件权限为644
2、# mysql -uroot -p
create database ambari;
3、# mysql -uroot -p
use mysql;
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'datacube152' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'datacube152';
CREATE USER 'ambari'@'ambari' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'ambari';
FLUSH PRIVILEGES;
并执行:ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
2、 创建hive数据库
# mysql -uroot -p
CREATE DATABASE hive;
3、创建hive用户并赋予权限
# mysql -uroot -p
use hive;
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
CREATE USER 'hive'@'datacube152' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'datacube152';
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
CREATE USER 'hive'@'hive'IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hive';
FLUSH PRIVILEGES;
注:
mysql如果报错 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
, 需要查看如下几个目录, 确保 JDBC 在这几个目录下面:
/usr/share/java/
- /var/lib/ambari-server/resources
- /usr/lib/ambari-server
ambari 安装Hortonworks HDP 时在检测host时异常。
The following hosts have Transparent Huge Pages (THP) enabled。THP should be disabled to avoid potential Hadoop performance issues.
- echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
- echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
- echo never > /sys/kernel/mm/transparent_hugepage/enabled
- echo never > /sys/kernel/mm/transparent_hugepage/defrag
部署hdp时,由于操作系统为中文,节点报错:
Agent端日志:
INFO 2016-04-05 10:31:30,106 hostname.py:89 - Read public hostname \'slavenode1.hdp\' using socket.getfqdn()ERROR 2016-04-05 10:31:30,111 main.py:309 - Fatal exception occurred:
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/ambari_agent/main.py", line 306, in <module>
main(heartbeat_stop_callback)
File "/usr/lib/python2.6/site-packages/ambari_agent/main.py", line 297, in main
ExitHelper.execute_cleanup()
TypeError: unbound method execute_cleanup() must be called with ExitHelper instance as first argument (got nothing instead)
', None)
Server端日志:
01 四月 2016 20:19:53,480 ERROR [qtp-ambari-client-23] AbstractResourceProvider:280 - Caught AmbariException when creating a resource
org.apache.ambari.server.HostNotFoundException: Host not found, hostname=
at org.apache.ambari.server.state.cluster.ClustersImpl.getHost(ClustersImpl.java:370)
at org.apache.ambari.server.state.ConfigHelper.getEffectiveDesiredTags(ConfigHelper.java:107)
at org.apache.ambari.server.controller.AmbariManagementControllerImpl.findConfigurationTagsWithOverrides(AmbariManagementControllerImpl.java:1876)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)