CM 4.6.0测试环境搭建笔记

笔记分为两部分
(一)、集群搭建
(二)、集群中添加主机和服务
需要说明的是虽然版本为cm 4.6 但是在版本5之上也是相同相近的,操作基本一致。

集群搭建

辅助环境

1、系统配置
系统版本,SUSE,根据版本选择CDH和CM
1

2、预计的环境安装,datanode01暂不计入
2
3、关闭防火墙

rcSuSEfirewall2 stop
chkconfig --level 2345 SuSEfirewall2_setup off
chkconfig --level 2345 SuSEfirewall2_init off

4、hosts配置如下
3
5、安装ssh,每台机都要
root用户下命令 ssh-keygen 回车到底
秘钥路径为 /root/.ssh/
将每一台机的id_ras.pub内容都复制到/root/.ssh/authorized_keys文件,之后同步到各个节点

6、ntp服务器配置
在suse中ntp服务已经安装但是未启动并且默认在所有的启动模式下都是 关闭的
chkconfig ntp -status 可查看状态
chkconfig ntp on 设置为开机启动
service ntp start 现在启动ntp服务
3
作为ntp服务器(master)的配置文件 /etc/ntp.conf,将时间指向自身即可,其他节点指向该服务器
4

CM相关配置

1、Mysql安装
a.mysql 下载

mysql安装 master节点(当zypper无法从10.10.10.140获取数据的时候自行下载)
http://downloads.mysql.com/archives/mysql-5.1/MySQL-client-community-5.1.49-1.sles10.x86_64.rpm
http://downloads.mysql.com/archives/mysql-5.1/MySQL-server-community-5.1.49-1.sles10.x86_64.rpm

下载之后rpm -ivh xxx.rpm进行安装
安装之后使用命令启动
service mysql start
登录 mysql -uroot 这个时候root没有密码,解决方法为运行mysqladmin命令增加root密码
mysqladmin -u root password 123456
设置其密码为123456

b.mysql在集群中的使用说明

mysql的作用按照角色要求有两个作用,分别是
1、cm存放原始数据(cm有多个需求)
2、hive存放原始数据
3、CM的度量,度量是指CM对集群的指标监控并且允许通过图例展示和对监控结果预先聚合
库的使用分配
注:在更高版本只需要两个库,hive元数据库、cm管理库

2、Java安装

路径为 /usr/java下,之所以在这个路径下是因为cloudera的脚本里会自动去这里找java路径,这是其中一个选择。
tar -xvf jdk-7u25-linux-x64.gz
mv jdk1.7.0_25 /usr/java/
修改 /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_25
export CLASSPATH=.: JAVAHOME/lib/dt.jar: JAVA_HOME/lib/tools.jar
export PATH= JAVAHOME/bin: PATH
之后执行 source /etc/profile 使配置上生效
执行 echo $JAVA_HOME 或者java -version看效果

3、cm用户和组的创建
{所有节点创建cloudera-scm用户、组}
    groupadd  cloudera-scm \
     && useradd --system --home=/opt/cloudera-manager-4.8.2/run/cloudera-scm-server --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm \
    && usermod -g cloudera-scm cloudera-scm
4、cm下载与安装

下载版本如下
cloudera-manager-sles11-cm4.8.2_x86_64.tar.gz

解压文件,放到/opt目录下解压,生成两个文件夹
一个是cloudera,用来存放以后下载的cdh的parcel包
另一个是cm的相关配置和执行脚本,包含server和agent两部分
修改命名 mv cm-4.8.2 /opt/cloudera-manager-4.8.2
命名跟上面创建cloudera-scm 用户指定的home目录一致

5、jdbc文件的配置

下载路径mysql jdbc http://cdn.mysql.com/archives/mysql-connector-java-5.1/mysql-connector-java-5.1.30.tar.gz
位置1 CM的agent

cp /data/cdh/CDH/mysql-connector-java-5.1.30/mysql-connector-java-5.1.30-bin.jar  /opt/cloudera-manager-4.8.2/share/cmf/lib/

位置2 java

cp/data/cdh/CDH/mysql-connector-java-5.1.30/mysql-connector-java-5.1.30-bin.jar /usr/java/jdk1.7.0_25/lib/

位置3 hive

cp /data/cdh/CDH/mysql-connector-java-5.1.30/mysql-connector-java-5.1.30-bin.jar  /opt/cloudera/parcels/CDH-4.6.0-1.cdh4.6.0.p0.26/lib/hive/lib/
6、CM的server和agent的启动
a.初始化CM的数据库
cd /opt/cloudera-manager-4.8.2/share/cmf/schema && \
./scm_prepare_database.sh mysql -h master -u root -p123456 --scm-host master  scm  scm scm
b.修改客户端agent指向的host

路径/opt/cloudera-manager-4.8.2/etc/cloudera-scm-agent
文件为config.ini
这里只需要修改为server_host,令其指向安装server的服务器即可

c. 启动文件

启动脚本位于 /opt/cloudera-manager-4.8.2/etc/init.d
针对master节点,需要启动server和agent两个服务

./opt/cloudera-manager-4.8.2/etc/init.d/cloudera-scm-server start
./opt/cloudera-manager-4.8.2/etc/init.d/cloudera-scm-agent start

命令ps -ef |grep cloudera 可以查看是否运行
web查看cm 10.10.120.32:7180 用户:admin 密码:admin

d.注册cm的启动脚本
事实上如果想要使用 server xxx  start|stop的命令 需要将这两个启动脚本复制到 /etc/init.d目录下,并修改读取路径
    cp  /opt/cloudera-manager-4.8.2/etc/init.d/*  /etc/init.d/
    修改source路径,即CMF_DEFAULTS参数,agent和server都一样
    # Source defaults..原配置参数
    #CMF_DEFAULTS=$(readlink -e $(dirname ${BASH_SOURCE-$0})/../default)
    CMF_DEFAULTS=/opt/cloudera-manager-4.8.2/etc/default

设置为开机启动

    chkconfig cloudera-scm-server on
    chkconfig cloudera-scm-agent on
7、同步文件到节点
/opt/下的文件
    scp -r  /opt/*  datanode{03,04}:/opt/
/usr/java/jdk1.7.0_25
    scp -r jdk1.7.0_25  datanode{04,03}:/usr/java/

/etc/init.d里增加cloudera-scm-agent启动脚本
scp /etc/init.d/cloudera-scm-agent datanode{03,04}:/etc/init.d/
(注意:里面都是添加的mysql jdbc驱动后的)
修改java配置文件,在/etc/profile文件最后添加以下脚本

export JAVA_HOME=/usr/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

启动节点agent,刷新网页
service cloudera-scm-agent
对于正确配置的节点可以再登录web页面后的 主页显示出来

8、手动下载parcel包

parcel包即打包的hadoop生态圈服务包
下载路径,看匹配版本下载
http://archive-primary.cloudera.com/cdh4/parcels/4.6.0/
版本和文件(红色方框内)如下
x
确保
CDH-4.6.0-1.cdh4.6.0.p0.26-sles11.parcel.sha中的值跟mainfest.json中对应的hash值是一致的即可,如果不一致,直接将mainfest.json中对应版本的值给贴到parcel.sha文件中接口

9、首次登陆可以直接在界面启动agent服务,之后做配置
   如果不是,可参考【(二)集群中添加主机】

=====******************************=====

集群中添加主机–以datanode01为例

节点环境配置

        hostname、hosts  、ssh 、reSuSEfilewall2
        java、同步CM、同步parcel包

添加节点datanode01
1、hostname
a
修改文件 /etc/HOSTNAME
/etc/rc.d/boot.localnet restart
2、hosts
在所有的节点中增加 datanode01 10.10.121.23,并让自己身hosts文件拥有其它所有的节点信息,最终结果如下
f
3、ssh
运行命令 ssh-keygen 然后一路回车
完成之后可在 /root/.ssh下看到新增了两个文件,将id_rsa.pub的内容追加到其它节点的/root/.ssh/authorized_keys中,并拷贝回来
之后可以使用ssh从其它节点登录datanode01一次输入密码,往后即可免密码登录

4、防火墙
reSuSEfirewall2关闭
chkconfig SuSEfirewall2_init off
chkconfig SuSEfirewall2_setup off

5、java
从其它节点复制当前使用的java包
命令如下 -r表示递归复制文件 -p表示在datanode01 新建/usr/java
b
环境变量

 vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

r

节点的CM和parcel包

1、复制包

1、scp -rp opt/* datanode01:/opt/
注意该步骤,同步的包在解压之后是有修改的,包括修改agent的指向、新增的jdbc驱动

2、手动新建cludera-scm用户

groupadd cloudera-scm \
&& useradd –system –home=/opt/cloudera-manager-4.8.2/run/cloudera-scm-server –shell=/bin/false –comment “Cloudera SCM User” cloudera-scm \
&& usermod -g cloudera-scm cloudera-scm

3、启动agent

复制master上的cloudera-scm-agent到datanode01的/etc/init.d/目录下
scp master:/etc/init.d/cloudera-scm-agent /etc/init.d
service cloudera-scm-agent start
da
这个时候刷新 master:7180中的主机可以发现新增的节点,后续的就是新增服务了
另 chkconfig cloudera-scm-agent on 使agent服务加入开机启动

因为该主机除了CM什么服务都没有,可以选择新增主机,在以管理的主机中选择

添加主机

选择添加主机
tjzj
haha
等待对parcel包的处理与安装。长时间无反应查看
kk
分发parcel包成功
xxxx
检查,检查如果发现有异常的排除,比如java路径不对,这里忽视了报版本不一致的问题
之后到下一步,向集群添加新主机,模板选择【无】
hhh

下一步,可以一瞬间跳出结果
asdas

添加服务(datanode示例)

以上CDH和CM安装完成,剩下的是需要添加哪些服务,这个时候如果我们在datanode01的终端上使用命令jps会出现如下结果
gghg

添加为datanode示例,选择hdfs的服务中实例,选择添加
ffgdg
注意这里进入的是hdfs服务的管理界面,而不是所有服务的管理界面
如下,需要添加的服务,可以参考其他节点,这里选择datanode
fddfdhdh

添加结果如下,进入datanode01启动datanode服务
gdfghfhg

点击名称下的datanode(datanode01),进入界面右上角进行datanode服务启动
ghgh

其他服务,包括mapreduce、hive等参考添加datanode服务步骤即可

问题整理

问题一、在安装sqoop2和oozie时无法启动

这里以oozie为例
查看/var/log/oozie/catalina.yyyy-MM-dd.log日志如下,主要的错误信息为
SEVERE: StandardServer.await: create[11001]:
java.net.BindException: Cannot assign requested address
fgh
出现这种问题是因为端口11001绑定的是127.0.0.1,关于原因,可能是启动脚本中指定了
解决方法
在/etc/hosts 中加入127.0.0.1 localhost这一行
使用命令 netstat -an | grep 11001可以查看
这里写图片描述

问题二、在添加新节点过程中,一直处在【正在安装选定的parcel包..】步骤中

问题原因
查看当前添加节点所在的agent日志,日志存放在agent的安装目录的log中
本次安装的路径为
/opt/cloudera-manager-4.8.2/log/cloudera-scm-agent
日志文件为cloudera-scm-agent.log,当前的日志为cloudera-scm-agent.out ,查看错误日志如下
这里写图片描述
这里提示说 CDH文件夹无效,CDH目录在/opt/cloudera/parcels,查看其它节点可以看到该目录的属性
这里写图片描述
产生的原因是因为在复制parcel-repo中的安装包的时候把其父目录下的也其它文件也复制过来了
解决方法
删除CDH目录,因为版本只有一个,这里为了避免报其它未知错误,清空以下目录
/opt/cloudera/parcels/下的所有文件
/opt/cloudera/parcel-cache/下的所有文件
删除之后重新在CM界面上运行即可。

问题三 put数据出现异常

java.io.IOException: Bad connect ack with firstBadLink as 10.10.121.24:50010
这里写图片描述
解决方法
a.确认该机器 datanode在此时有启动
b.防火墙关闭了
c.其他机器ping的时候没有大量丢包情况

附录 彻底删除节点shell

应当根据需要进行调整

umount cm_processes
ps -ef |grep cloudera |grep -v 'grep'|awk '{print $2}'|xargs -t -i kill -9 {}
rm -rf /opt/cm-5.5.0
rm -rf /opt/cloudera/parcels
ls /var/run |grep -E "cloudera|hadoop|hive|hue|impa|zook|sqoop|hbase|pig|ooz|flume|mahout"|xargs -t -i rm -rf {}
ls /var/log |grep -E "cloudera|hadoop|hive|hue|impa|zook|sqoop|hbase|pig|ooz|flume|mahout"|xargs -t -i rm -rf {}
rm /etc/init.d/cloudera*
rm -rf /etc/alternatives/*  
ls /etc |grep -E "cloudera|hadoop|hive|hue|impa|zook|sqoop|hbase|pig|ooz|flume|mahout"|xargs -t -i rm -rf {}
rm -rf /data/dfs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值