新建cloudera-scm用户 (做了分行,这个是一条linux命令,)
[[email protected] cloudera-manager-5.1.0]$ sudo useradd --system --home=/opt/cloudera-manager-5.1.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
改/opt/cloudera-manager-5.1.0/etc/cloudera-scm-agent/config.ini 里的 server_port 和 server_host ,把server_port
改成ClouderaManager运行的主机名或ip, 默认server_port 端口是 7182
[[email protected] cloudera-scm-agent]$ sudo vim config.ini [General] # Hostname of the CM server. server_host=localhost # Port that the CM server is listening on. server_port=7182
为Cloudera Manager 建立数据库,需要下载Mysql的JDBC驱动,本次从搜狐镜像上下载最新版
http://mirrors.sohu.com/mysql/Connector-J/mysql-connector-java-5.1.32.tar.gz
解压
之后找到mysql-connector-java-5.1.32-bin.jar放到/opt/cloudera-manager-5.1.0/share/cmf/lib/目录下
参考链接:
[[email protected] mysql-connector-java-5.1.32]$ sudo cp mysql-connector-java-5.1.32-bin.jar
/opt/cloudera-manager-5.1.0/share/cmf/lib/
生成数据库:(关于密码这里有个小小的坑,如果你遇到过不去的地方,私信我)
[[email protected] schema]$ pwd /opt/cloudera-manager-5.1.0/share/cmf/schema [[email protected] schema]$ sudo ./scm_prepare_database.sh mysql -h localhost -u root -phadoop --scm-host localhost scm scm scm Verifying that we can write to /opt/cloudera-manager-5.1.0/etc/cloudera-scm-server Creating SCM configuration file in /opt/cloudera-manager-5.1.0/etc/cloudera-scm-server Executing: /usr/java/jdk1.7.0_67/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cloudera-manager-5.1.0/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cloudera-manager-5.1.0/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db. [ main] DbCommandExecutor INFO Successfully connected to database. All done, your SCM database is configured correctly!
启动SCM server
[[email protected] init.d]$ sudo ./cloudera-scm-server start Starting cloudera-scm-server: [ OK ] [[email protected] init.d]$ pwd /opt/cloudera-manager-5.1.0/etc/init.d
设置成开机启动
[[email protected] init.d]$ sudo cp cloudera-scm-server /etc/init.d/cloudera-scm-server [[email protected] init.d]$ sudo chkconfig cloudera-scm-server on
将客户端脚本拷贝到客户机上
先SCP 编好的目录 到所有机器上 ,然后在每台机器上开启Agents端:
[[email protected] opt]$ sudo scp -r /opt/cloudera-manager-5.1.0/ [email protected]:/opt/ [[email protected] opt]$ sudo scp -r /opt/cloudera-manager-5.1.0/ [email protected]:/opt/ [[email protected] opt]$ sudo scp -r /opt/cloudera-manager-5.1.0/ [email protected]:/opt/ Starting cloudera-scm-agent: [FAILED]
排错中..... 看日志,发现少个什么libpython的东西
/opt/cloudera-manager-5.1.0/lib64/cmf/agent/build/env/bin/python: error while loading shared libraries: libpython2.4.so.1.0: cannot open shared object file: No such file or directory
翻墙,万能的google,发现有人也在抱怨,因为RHEL6默认指向是python2.6,RHEL5是python2.4况,https://groups.google.com/a/cloudera.org/forum/#!msg/scm-users/Nz8O8eRn1RA/Jk0PUOAhQUkJ
Hi Simon, On Wed, Dec 21, 2011 at 6:44 AM, Simon <[email protected]> wrote: Hello, during the installation on all hosts process I get a few installation errors: 1. the master (runs the manager) installs all hadoop packages, but when it comes to Installing Clouder Manager agent package... it says that it requires libpython2.4.so.1.0()(64bit), of course python2.4 is not installed but 2.6 is, is there any workaround? This also occurs if I try to install the agent manually via yum What OS are you running? Is this an Amazon AMI? Usually, when folks report this error, they‘re using RHEL/CentOS 6 (which has python 2.6) but their yum repos are pointed to our RHEL/CentOS 5 repos (5 has python 2.4).
突然恍然大悟,我的问题应该也是版本的问题,翻到前面的步骤,果然,一个眼花我下载的是el5版本的cdh5.1
下载离线的cloudera manager安装包, 放置于/opt目录,并解压,改名
1 2 |
[[email protected] opt]$ sudo tar -xzvf cloudera-manager-el5-cm5.1.0_x86_64. tar .gz
|
发现了原因就好办了。删掉
[[email protected] opt]$ sudo rm -rf /opt/cloudera [[email protected] opt]$ sudo rm -rf /opt/cloudera-manager-5.1.0/ [[email protected] opt]$ sudo rm -rf /opt/cloudera-manager-el5-cm5.1.0_x86_64.tar.gz [[email protected] opt]$ ls
再来一遍,这次一定要小心看清el6,下到master.hadoop的/opt/里
wget http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.1.1_x86_64.tar.gz
[[email protected] opt]$ sudo tar -xzvf cloudera-manager-el6-cm5.1.0_x86_64.tar.gz
装完查看
[[email protected] opt]$ ls cloudera cloudera-manager-el6-cm5.1.1_x86_64.tar.gz cm-5.1.1
删除我们之间建的用的cloudera-scm
#确认/etc/passwd里如下内容,删除后消失 cloudera-scm:x:497:497:Cloudera SCM User:/opt/cloudera-manager-5.1.0/run/cloudera-scm-server:/bin/false [[email protected] opt]$ sudo userdel cloudera-scm #重新创建cloudera-scm用户 sudo useradd --system --home=/opt/cm-5.1.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
改改配置,解压的mysql-connector拷贝进去
[[email protected] cm-5.1.1]$ sudo vim etc/cloudera-scm-agent/config.ini [General] # Hostname of the CM server. server_host=master.hadoop # Port that the CM server is listening on. server_port=7182 [[email protected] cm-5.1.1]$sudo cp /home/hadoop/mysql-connector-java-5.1.32/mysql-connector-java-5.1.32-bin.jar /opt/cm-5.1.1/share/cmf/lib/mysql-connector-java-5.1.32-bin.jar
前面SCM那一步,因为我们第一次创建过数据库,不用再删除数据库
[[email protected] cm-5.1.1]$ sudo ./etc/init.d/cloudera-scm-server start Starting cloudera-scm-server: [ OK ]
删掉过去的开机启动项目,把新的加进去(没有对比过,估计el6和el5不一样吧)
[[email protected] cm-5.1.1]$ sudo rm /etc/init.d/cloudera-scm-server
[[email protected] init.d]$ sudo cp cloudera-scm-server /etc/init.d/cloudera-scm-server [[email protected] init.d]$ sudo chkconfig cloudera-scm-server on
[[email protected] /]$ sudo /opt/cm-5.1.1/etc/init.d/cloudera-scm-agent start Starting cloudera-scm-agent: [ OK ] [[email protected] /]$ sudo chkconfig /etc/init.d/cloudera-scm-agent on error reading information on service /etc/init.d/cloudera-scm-agent: No such file or directory [[email protected] /]$ sudo chkconfig cloudera-scm-agent on
陆续把所有slave的服务都打开