关于CDH5安装的步骤及注意事项

时间:2022-02-13 18:18:45

注:此为hadoop CDH5.11离线安装


一、准备

安装所需文件

1 官网下载Cloudera ManagerCDH 5.11

Cloudera Manager下载地址:
http://archive.cloudera.com/cm5/cm/5/

cloudera-manager-el6-cm5.11.0_x86_64.tar.gz

CDH安装包

http://archive.cloudera.com/cdh5/parcels/latest/

 

CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel

CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel.sha1

manifest.json

 

2 JDK 7

jdk-7u80-linux-x64.tar.gz

 

3 mysql 5.6和最新的mysql JDBC connector

mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

mysql-connector-java-5.1.44-bin.jar

二、CentOS6.5安装

用户/密码

root/XXXX

XXX/123

主机名 IP

master 192.168.10.111

slave1 192.168.10.121

slave2 192.168.10.131

 

配置/etc/hostname

分别是maserslave1slave2

 

3台都配置/etc/hosts

加入

用户/密码

root/anian123

anjian/anjian123

主机名 IP

master 192.168.10.11  

slave1 192.168.10.12

slave2 192.168.10.13

 

配置/etc/hostname

分别是maserslave1slave2

 

3台都配置/etc/hosts

加入:

192.168.111 master

192.168.121 slave1

192.168.131 slave2



注:安装过程都使用root用户

  

CDH 安装在/opt

CDHvar目录会放文件,要预留空间

数据保存在/data


三、配置SSH无密码登录

1.查看是否安装opensshrsync

rpm -qa | grep openssh

rpm -qa | grep rsync


2. 3台都运行

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

(-t dsa:表示使用密钥的加密类型,可以为'rsa''dsa')


3.

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

这一步,把本机的密钥写入authorized_keys文件

然后要将其他2台的密钥写入本机的authorized_keys文件


4.

master运行

scp ~/.ssh/id_dsa.pub root@slave1:~/.ssh/ authorized_keys_from_master

scp ~/.ssh/id_dsa.pub root@slave2:~/.ssh/ authorized_keys_from_master

slave1 运行

cat .ssh/authorized_keys_from_master  >>  ~/.ssh/authorized_keys

slave2 运行

cat .ssh/authorized_keys_from_master  >>  ~/.ssh/authorized_keys

 

slave1运行

scp ~/.ssh/id_dsa.pub root@master:~/.ssh/authorized_keys_from_slave1

scp ~/.ssh/id_dsa.pub root@slave2:~/.ssh/authorized_keys_from_slave1

master运行

cat .ssh/authorized_keys_from_slave1  >>  ~/.ssh/authorized_keys

slave2 运行

cat .ssh/authorized_keys_from_slave1 >>  ~/.ssh/authorized_keys

 

slave2运行

scp ~/.ssh/id_dsa.pub root@master:~/.ssh/authorized_keys_from_slave2

scp ~/.ssh/id_dsa.pub root@slave1:~/.ssh/authorized_keys_from_slave2

master运行

cat .ssh/authorized_keys_from_slave2  >>  ~/.ssh/authorized_keys

slave2 运行

cat .ssh/authorized_keys_from_slave2 >>  ~/.ssh/authorized_keys


最后3台的authorized_keys文件,内容都有3key

测试SSH无密码登陆

在任意一台上,ssh slave1都可以无密码登陆


四、同步各时间节点

1.1 将3台服务器时间同步,若hbase各节点时间差距过大会报错(默认30秒)

关闭3台的防火墙

service iptables stop

chkconfig iptables off   重启后也生效


1.2 配置ntp服务器(master)

vim /etc/ntp.conf

然后加入以下配置:

127.127.1.0

fudge 127.127.1.0 stratum 10

注:

后面那个数字在0-15之间都可以,这样就将这台机器的本地时间作为ntp服务提供给客户端


1.3  重启ntpd

/etc/init.d/ntpd start

chkconfig  ntpd on下次开机时 自动重启



五、安装JDK

1.1 检查并写在openjdk

检查命令:java -version rpm -qa | grep java

卸载命令:rpm –e --nodeps(忽略依赖)安装包

yum -y remove安装包名

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64


1.2 解压安装

Jdk版本:jdk-7u80-linux-x64.tar.gz

解压/usr/local :

cd /usr/local;

tar –zxvf jdk-7u80-linux-x64.tar.gz


1.3 配置环境变量

3台都编辑/etc/profile文件vim /etc/profile

加入

#set java environment

export JAVA_HOME=/usr/local/jdk1.7.0_80

export LASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

 

使配置生效:source /etc/profile



六、安装mysql

mysql安装在slave2192.168.10.131


1.1 检查是否存在mysql库文件

检查命令:rpm –qa | grep mysql

存在则卸载:rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64


1.2 检查是否存在mysql用户和组

检查命令:cat/etc/group | grep mysql;

cat /etc/passwd | grep mysql

不存在则创建:groupaddmysql;

useradd –r –g mysql mysql

(-r参数表示mysql用户是系统用户,不可用于登录系统)


1.3 创建数据、日志存储目录

命令mkdir -p/data/mysql/data;  mkdir /var/lib/mysql/log

更改所属用户:

chown Rmysql:mysql  /data/mysql

chown Rmysql:mysql  /usr/local/mysql


1.4 解压并初始化

解压安装包:

/usr/local目录

tar –zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

改目录名

mv mysql-5.6.36-linux-glibc2.5-x86_64 mysql

初始化参数

mysql目录

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

复制配置文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

修改

vi /etc/init.d/mysql

 

basedir=/usr/local/mysql

datadir=/data/mysql/data

 

vi /etc/my.cnf

basedir =/usr/local/mysql

datadir =/data/mysql/data

character_set_server=utf8


usr/local/mysql/script目录运行

./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data


1.5 添加环境变量

编辑文件:vim /etc/profile

关于CDH5安装的步骤及注意事项


1.6 配置mysql自动启动

关于CDH5安装的步骤及注意事项

关于CDH5安装的步骤及注意事项

设置在运行级别35mysql自动启动

关于CDH5安装的步骤及注意事项


1.7 启动mysql

命令bin/mysqld_safe --user=mysql &

登录mysql  

bin/mysql --user=root -p

设置root密码

set password=password('anjian123');

关于CDH5安装的步骤及注意事项

()允许root在任何主机登录grant all privileges on *.* to 'root'@'%' identified by 'anjian123'  with grant option;

grant all privileges on *.* to 'root'@'master' identified by 'anjian123'  with grant option;

刷新权限表:flush privileges;


 

1.8 创建以下数据库

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;


七、安装CDH

1.1 安装Cloudera Manager Server Agent

主节点解压安装

cloudera manager的目录默认位置在/opt下,解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.11.0cloudera目录放到/opt目录下。

 

复制mysql-connector-java-5.1.44-bin.jar到目/usr/share/java/opt/cm-5.11.0/share/cmf/lib/

并改名成mysql-connector-java.jar


1.2 创建用户cloudera-scm

在所有节点上执行

useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm


1.3 agent配置

主节点,修改/opt/cm-5.11.0/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。

# Hostname of the CM server.

server_host=master

同步Agent到其他所有节点:

scp -r /opt/cm-5.11.0 root@slave1:/opt/

scp -r /opt/cm-5.11.0 root@slave2:/opt/


1.4 在主节点初始化CM5数据库

运行

/opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql cm -h slave2 -uroot -panjian123 --scm-host master scm scm scm

 

-h后是mysql的主机名

--scm-host 后是SCM server的主机名(主节点)

如果有报错,一般是msyql的权限设置没设好,root不能远程登录


1.5 准备Parcels,用以安装CDH5

CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中

相关的文件如下:

CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel

CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel.sha1

manifest.json

最后将CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1,重命名为CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel.sha


1.6 启动脚本

主节点:通过/opt/cm-5.11.0/etc/init.d/cloudera-scm-server start启动服务端。

所有节点(包括主节点):通过/opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start启动Agent服务

注:

停止可以用/init.d/cloudera-scm-server stop

启动成功后,可以用ps –ef|grep cloudera看到这2个进程

cloudera-scm-agent  log如果报错:

[04/Sep/2017 16:29:38 +0000] 2983 MainThread agent        ERROR    Heartbeating to master:7182 failed.

一般是主节点防火墙没关闭


1.7 CDH5的安装配置

http://192.168.10.111:7180/cmf/login

默认的用户名和密码均为admin


选择免费版本:

关于CDH5安装的步骤及注意事项


输入主机,masterslave1slave2,点搜索

关于CDH5安装的步骤及注意事项


点当前管理的主机,选中3台主机  选择继续

接下来,选择Parcel安装,直接点继续

关于CDH5安装的步骤及注意事项

有一个问题:

运行

echo 10 > /proc/sys/vm/swappiness

要永久改变

vim   /etc/sysctl.conf

vm.swappiness=10


echo never>/sys/kernel/mm/transparent_hugepage/defrag

echo never>/sys/kernel/mm/transparent_hugepage/enabled



接下来点击继续然后选择安装的服务,及数据库配置就行了。



注:CDH安装失败后,重新安装:

1) 主节点关闭cloudera-scm-server。所有节点关闭cloudera-scm-agent

2删除Agent点目录

rm -rf /opt/cm-5.11.0 

      rm -rf /opt/cloudera

删除主节点目录

rm -rf /opt/cm-5.11.0

 rm -rf /opt/cloudera

删除主节点,/var/log/cloudera相关的目录

删除主节点,/var/lib/cloudera相关的目录

3) 清空CM数据库

      进入Mysql数据库,然后drop database cm;

4) 删除节点namenodedatanode节点信息

     # rm -rf /opt/dfs/nn/*

     # rm -rf /opt/dfs/dn/*

 

5) 重新安装CDH,主节点解解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.11.0cloudera目录放到/opt目录下。

……