分享

CDH5.8.0安装入门

本帖最后由 Tank_2000 于 2016-12-22 21:33 编辑
第一部分:Hadoop集群环境配置
1.关闭防火墙
打开文件selinuxvi /etc/sysconfig/selinux
修改SELINUX属性值修改如下:
SELINUX=disabled
chkconfig iptables off
reboot
查看防火墙状态
[root@master ~]# chkconfig iptables --list
iptables             0:off 1:off 2:off 3:off 4:off 5:off 6:off
2.网卡设置
vi etc/sysconfig/network-scripts/ifcfg-eth0
修改如下内容(带注释的为变动内容):
DEVICE="eth0"
BOOTPROTO="static"        #IP设置为静态方式
HWADDR="00:0C:29:A5:C3:44"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="873daada-a6f5-4ff1-8510-c3eb722afd41"
IPADDR="192.168.1.120"     #IP地址
NETMASK="255.255.255.0"   #子网掩码
GATEWAY="192.168.1.1"     #网关
DNS1=202.106.195.68       #DNS地址1
DNS2=202.106.46.151       #DNS地址2
reboot 重启机器
3.设置主机名
修改主机名主节点取名master
通过命令打开network文件:vi /etc/sysconfig/network
将文件内容改成如下:
NETWORKING=yes
HOSTNAME=master
4.修改hosts文件
vi /etc/hosts
修改成如下内容:
127.0.0.1  localhost
192.168.1.120 master
192.168.1.121 slave1
注:在Centos Linux系统中,网络的配置可以通过修改几个配置文件来实现
/ect/hosts配置主机名和IP地址的对应
/etc/sysconfig/network配置主机名和网关
/etc/sysconfig/network-scripts/ifcfg-eth0 配置文件配置网卡信息,第一张网卡ifcfg-eth0eth1则文件名为ifcfg-eth1,以此类推。
网关配置也可以在ifcfg-eth0里面进行,所以网关配置就放在eth0里面,在network中就不用进行设置了。
5.JDK安装
版本要求:
http://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_jdk

安装jdk rpm
rpm -ivh jdk-7u80-linux-x64.rpm
设置java环境变量
vi /etc/profile
文件末尾加入如下内容:
export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
6.安装配置ntp服务
6.1安装ntp服务
yum install ntp
6.2 配置ntp
vi /etc/ntp.conf
# Use public servers from the pool.ntp.orgproject.
# Please consider joining the pool(http://www.pool.ntp.org/join.html).
server master prefer
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
6.3启动ntp服务
service ntpd start
7.克隆节点
关闭主节点,然后克隆slave1
右击主节点标签-->管理-->克隆-->克隆虚拟机向导
克隆完成后,设置slave1 IP192.168.1.121 hostname slave1
重启电脑
重启完成后,修改slave1的网卡eth1信息:
获取eth1MAC地址
ifconfig eth1
获取eth1UUID
nmcli con
修改以下文件内容:
vi/etc/udev/rules.d/70-persistent-net.rules
将里面的eth 0相应的行注释,同时将eth1行中eth1改成eth0
修改网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR= eth1 MAC
UUID=eth1UUID
重启
8.设置集群节点间免密钥登陆
master节点home目录下
cd .ssh
执行命令:ssh-keygen -t rsa
然后一直回车
然后将生成的公钥id_rsa.pub 内容拷贝到authorized_keys文件中
cat id_rsa.pub >>~/.ssh/authorized_keys
给秘钥文件授权
chmod 600 authorized_keys
将秘钥文件复制到slave1
scp authorized_keys root@slave1:~/.ssh
到这里就可以从master免密钥登陆到slave1节点上了
9.外部数据库安装与配置
9.1 mysql 安装
官方方文档
http://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_mysql.html#cmig_topic_5_5_2
[root@master ~]# yum install mysql-server
安装完毕后
设置开机启动
chkconfig mysqld on
启动mysql数据库
service mysqld start
登录mysql 并创建hive数据库
mysql -uroot
密码默认是空,直接回车
下载mysql驱动包
http://www.mysql.com/downloads/connector/j/5.1.html
将驱动包复制到指导路径,并重新命名为:mysql-connector-java.jar
mkdir -p /usr/share/java/
cpmysql-connector-java-5.1.40-bin.jar /usr/share/java/mysql-connector-java.jar
9.2 创建外部数据库
--- --hive数据库
mysql> create database hive DEFAULTCHARSET latin1;
Query OK, 1 row affected (0.00 sec)
--集群监控数据库
mysql> create database amon DEFAULTCHARSET utf8;
Query OK, 1 row affected (0.00 sec)
--hue数据库
mysql> create database hue DEFAULTCHARSET utf8;
Query OK, 1 row affected (0.00 sec)
--oozie数据库
mysql> create database oozie defaultcharset utf8;
Query OK, 1 row affected (0.04 sec)
mysql> grant all privileges on hive.* to'scm'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on amon.* to'scm'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on hue.* to'scm'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on oozie.*to 'scm'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
第二部分:Cloudera manager 的安装
1.1 下载安装包
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.8.0_x86_64.tar.gz
下载完压缩包后上传到/opt目录下解压,
cd /opt
tar -zxvf cloudera-manager-el6-cm5.8.0_x86_64.tar.gz
解压后路径为:/opt/cm-5.8.0
1.2创建用户(所有节点)
创建cm服务用户
useradd --system --home=/opt/cm-5.8.0/run/cloudera-scm-server--no-create-home --shell=/bin/false --comment "Cloudera SCM User"cloudera-scm
创建cm服务日志本地目录,并将目录授予cloudera-scm 用户所有
mkdir/var/log/cloudera-scm-server
chown cloudera-scm:cloudera-scm/var/log/cloudera-scm-server
1.3配置Cloudera Manager Agents
vi /opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini将内容修改如下:
# Hostname of the CM server.
server_host=master
1.4 拷贝Agentslave1节点
scp -r /opt/cm-5.8.0 root@slave1:/opt
1.5初始化CM5数据库
执行以下脚本
/opt/cm-5.8.0/share/cmf/schema/scm_prepare_database.shmysql cm -h master -u root -p --scm-host master scm scm scm
脚本参数说明:
-h --mysql数据库所在的IP地址或者主机名
-u --mysql数据库用户名
-p --mysql 数据库密码
--scm-host --CM 服务所在的IP地址或主机名,一般跟mysql安装在同一台节点上
第三部分:CDH安装
1.软件包下载
进入URLhttp://archive.cloudera.com/cdh5/parcels/5.8.0/
下载以下三个文件:
CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel
CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1
manifest.json
CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1
重命名为CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha
2.创建Parcel目录
CM节点上创建Parcel目录
mkdir -p /opt/cloudera/parcel-repo
每个节点上创建目录
mkdir -p /opt/cloudera/parcels
3.启动CM服务
/opt/cm-5.8.0/etc/init.d/cloudera-scm-serverstart
设置CM 开机启动
cp /opt/cm-5.8.0/etc/init.d/cloudera-scm-server/etc/init.d/cloudera-scm-server
vi /etc/init.d/cloudera-scm-server 将里面的某段内容改成如下:
CMF_DEFAULTS=$(readlink -e $(dirname${BASH_SOURCE-$0})/../default)
${CMF_DEFAULTS:-/etc/default} 替换成以下红色部分
CMF_DEFAULTS=/opt/cm-5.8.0/etc/default
4.启动Agent服务
在每个节点上启动命令
/opt/cm-5.8.0/etc/init.d/cloudera-scm-agent start
每个节点上设置Agent 开机启动
cp /opt/cm-5.8.0/etc/init.d/cloudera-scm-agent/etc/init.d/cloudera-scm-agent
chkconfig cloudera-scm-agent on
同样的
vi /etc/init.d/cloudera-scm-agent 将里面的某段内容改成如下:
CMF_DEFAULTS=$(readlink -e $(dirname${BASH_SOURCE-$0})/../default)
${CMF_DEFAULTS:-/etc/default} 替换成以下红色部分
CMF_DEFAULTS=/opt/cm-5.8.0/etc/default
5.安装依赖包
根据官方说明,CDH5.8.0的离线安装需要安装以下依赖包,红色我当前为CentOS6.5系统没有安装的依赖包(通过rpm -qa |grep 报名逐一检查),需要手动yum安装
bind-utils
chkconfig
yum install -y cyrus-sasl-gssapi
cyrus-sasl-plain
fuse
fuse-libs
gcc
httpd
yum install -y init-functions
libxslt
yum install -y mod_ssl
yum install -y MySQL-python
openssl
yum install -y openssl-devel
perl
yum install -y portmap
yum install -y postgresql-server>= 8.4
psmisc
python >= 2.4.3-43
yum install -y python-devel>= 2.4.3-43
yum install -y python-psycopg2
yum install -y python-setuptools
sed
service
sqlite
yum install -y swig
useradd
zlib

6.CM管理界面中安装CDH
通过输入地址:http://192.168.1.120:7180,用户名密码都是:admin


选择接受条款,继续下一步

进入CDH版本界面,选择免费版,点继续

从这里开始,将开始进入CDH软件及相关服务的安装
选择当前管理的机主便签,勾选master,slave1两个主机,继续(同时你也可以选择新主机标签,然后在里面输入指定的主机IP搜索并勾选出需要的主机)

选择Parcel安装方式,这里在默认选择CDH的版本中系统默认的是最新版本,没有我们要安装的5.8.0,此时我们需要点击“更多选择”,进去将远程Parcel存储库URL修改成http://archive.cloudera.com/cdh5/parcels/5.8.0/ 如下图:

保存更改后,可以看到我们需要安装的版本了,选择我们的版本,然后点继续

在安装过程中,可以通过tail -f /opt/cm-5.8.0/log/cloudera-scm-server/cloudera-scm-server.log查看相关的日志信息。



7.CDH服务安装
7.1 组合服务安装
    根据自己的需要,选择组合的服务,继续

下一步是主机角色的分配,这里我们按默认

数据库配置
用户名/密码:root /123456 ,测试通过后,继续
审核服务,默认就可以





第四部分:安装异常总结
1.agent 启动异常
[root@slave1 ~]#/opt/cm-5.8.0/etc/init.d/cloudera-scm-agent start
Starting cloudera-scm-agent:                               [FAILED]
查看日志:/opt/cm-5.8.0/log/cloudera-scm-agent/cloudera-scm-agent.out
[05/Nov/2016 06:57:48 +0000] 5975 MainThreadagent        INFO     SCM Agent Version: 5.8.0
Unable to create the pidfile.
原因是某个目录无法创建导致
解决办法:
每个节点上创建目录
mkdir /opt/cm-5.8.0/run/cloudera-scm-agent
再次启动成功
[root@master init.d]# /opt/cm-5.8.0/etc/init.d/cloudera-scm-agentstart
Starting cloudera-scm-agent:                               [  OK  

2.启动HDFS失败


3.启动hive失败

解决办法:开启服务
nohuphive --service metastore &
nohup hive --service hiveserver2 &

4.jps 提示无法识别进程

解决办法:

使用对应的用户去查看jps


已有(1)人评论

跳转到指定楼层
pig2 发表于 2016-12-20 19:12:22
补充:
jdk要求
http://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_jdk

cdh.jpg
回复

使用道具 举报

关闭

推荐上一条 /2 下一条