使用UHP
-
操作系统
- UHP安装机器:CentOS 6+,Python 2.6+
- 其它机器:CentOS 5.4+,Python 2.4+
-
数据库
- Mysql 4+,需要事先安装,最好主主互备
-
用户
- 需要有sudo权限
-
Yum源
yum必须能正常使用,至少需要2个源:CentOS,epel
注:依赖Bash
以下操作需要root用户。
-
用户创建
以hadoop用户为例
adduser hadoop passwd hadoop # 输入2次密码 # 添加sudo用户 visudo # 在打开的文件中添加 hadoop ALL=(ALL) ALL
注意:需要在所有要安装Hadoop的机器上创建
-
host创建
- 虽然不是必须的,但是为了管理上的方便,强烈建议使用host。
- 建议host简单易记,例如
hadoop1, hadoop2, node1, node2
之类。
使用host有个问题,就是有些机器上不止一个host,这会带来一些麻烦,尽量保持所有机器上的host单一、一致。
注意:需要在所有要安装Hadoop的机器上创建 UHP1.1中web-管理-机器可以批量设置hosts -
mysql准备
yum install mysql mysql-server -y /etc/init.d/mysqld start mysql mysql> create database uhp character set utf8; mysql> grant all privileges on uhp.* to 'uhp'@'%' identified by 'uhp' with grant option; mysql> grant all privileges on uhp.* to 'uhp'@'localhost' identified by 'uhp' with grant option;
以下操作需要hadoop用户。
-
下载代码
建议的安装目录为
$HOME/local
,所以:mkdir -p $HOME/local
-
Git方式
cd $HOME/local git clone https://github.com/uhp/uhp.git ln -sf uhp ~/uhp
-
Tar包下载
mkdir -p $HOME/download cd $HOME/download # github.com上下载,注意版本 wget https://github.com/uhp/uhp/archive/master.zip unzip uhp-master.zip -d $HOME/local cd $HOME/local ln -sf uhp-master ~/uhp
-
-
设置环境变量
在
$HOME/.bash_profile
中:export UHP_HOME=$HOME/uhp
export ANSIBLE_CONFIG=$HUP_HOME/conf/ansible.cfg
设置后请重新登录或者
source ~/.bash_profile
,使配置生效 请不要随意更改根目录,否则可能会导致不可用 -
依赖初始化
初次启动请运行
cd $UHP_HOME; sh bin/init.sh
安装依赖,同时会创建一系列的运行目录等。 由于环境的不同,这里有可能异常,请整理自己的机器环境,使此脚本运行通过。uhp1.1中提供了bin/init2.sh可以使用虚拟环境的python。
-
安装本地库(可选)
UHP底层使用了cloudera的CDH作为Hadoop的版本。在实际生成坏境中,直接连接cloudera的官方网站会比较慢。提前下载本地库,可以节省带宽。 如果你不需要安装本地库,可以跳过
UHP选用CDH的Yum安装作为底层。安装过程中会需要连接CDH官网下载JAR包。由于众所周知的原因,可能会导致连接CDH官方的网站缓慢。而且大批量地安装连接CDH官网也会导致带宽吃紧。安装本地库,可以极大地减轻带宽压力。
安装:
-
准备一个所有机器都能访问的HTTP服务。
-
运行以下命令开始安装本地库:
sudo sh bin/createrepo.sh /xx/xx/xx 5
(第一个参数请正确填写要下载的本地目录,第二个参数填写下载centos5或者centos6的仓库。 如果,集群中既有centos5的系统和centos6的系统,请下载这两个仓库)
-
在你指定的下载目录会发现下载好的文件,格式为格式如下:
└── 5 └── cloudera-cdh4 └── cloudera-cdh4 └── RPMS ├── noarch ...
将这个文件夹移动到你的HTTP的root目录,然后尝试通过浏览器访问,看能不能访问到相关目录。如果可以,那本地仓库就安装成功了。
如果网络状况太差,下载失败。可以使用我们准备好的uhp_repo.tar.gz包,直接在HTTP服务的本地根目录解压即可。
-
-
启动uhp界面
-
创建配置文件
cp uhpcommon/config.template.py uhpcommon/config.py
-
数据库初始化
修改uhpcommon/config.py中的connection选项使之能正确地连接MySql,运行以下命令,进行初始化:
//创建数据库 sh bin/init_database.sh create //导入初始化数据 sh bin/init_database.sh init
可以修改文件中User表的数据,配置需要的用户名和密码,默认用户密码是:admin:0123456789Aa 修改的密码必须包括大写、小写、数字,且长度不少于12个。
-
启动服务
sh ./bin/start-uhp.sh
-
访问uhpweb的网址 用户名初始密码: admin/admin
非常重要:初次访问请设置必要的全局变量
路径(管理员界面-设置),修改以下关键变量:
-
用户和密码
ansible_ssh_user: 用于登录到其它机器的用户名称 ansible_ssh_port: ssh的登录端口 ansible_ssh_pass: ssh的登录密码 ansible_sudo_pass: ssh登录后的sudo密码
-
用户自己配置的JDK
java_tar: 添加机器的时候.检查到没有java的话会安装的java的tar包。请填写绝对路径。 java_untar_floder: 安装java的时候tar包解压的名称。推荐安装示例形式填写
-
如果选择使用本地仓库,配置它
local_repo_enabled:*是否使用本地仓库。如果,使用本地仓库,请填写local_http_url local_http_url:*如果使用本地仓库,本地仓库的地址
在管理-机器-机器页面可以添加机器,添加的时候需要填入hostname[填写IP可以吗]
如果看到机器的状态变为"ready",就成功了。
-
添加服务:
选择添加服务
添加服务-选择角色-提交
之后你会在"任务"标签先看到添加服务的Task。 在管理-服务页面在左侧栏也能发现该服务。
-
修改服务中的配置
-
初始化、启动服务