CDH环境介绍:
Cloudera Manager是为了简化hadoop及其组件的部署,但是由于包含的组件较多,对内存要求也比较大。所以我们尽量要保持主节点master和副节点足够的内存和磁盘空间,否则会出现一些无法预估的错误。
官方推荐配置
主节点 内存10G以上 磁盘30G
副节点 内存4G以上 磁盘30G
如果不满足条件的话可以适当减一些配置,但不保证能安装成功。
主机环境
作为master的主节点的虚拟机 cloudera scm server Centos7 内存 8G 磁盘40G
作为slave1的副节点的虚拟机1 cloudera scm agent Centos7 内存 4G 磁盘40G
作为slave2的副节点的虚拟机1 cloudera scm agent Centos7 内存 4G 磁盘40G
Cloudera Manager 安装预备工作:
所需要的包:http://archive.cloudera.com/cm5/cm/5/ (Cloudera Manager 安装包)
如:cloudera-manager-el6-cm5.8.2_x86_64.tar.gz 黄色代表linux对应版本、绿色对应Cloudera Manager 版本。
CDH集成包:http://archive.cloudera.com/cdh5/parcels/ (根据Cloudera Manager 安装包选择链接路径)
如:http://archive.cloudera.com/cdh5/parcels/5.8.0/ CDH 版本为5.8.0尽量选择版本比安装的Cloudera Manager 的版本低。根据linux选择parcel (集成包) CDH 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.sha
manifest.json
其他安装包:
mysql-connector-java-5.1.41-bin.jar
manifest.json
jdk-8u151-linux-x64.rpm
mysql 5.6
centos 系统环境准备
JDK:删除自带的JDK(自带的JDK版本低)
[root@master ~]# for f in `rpm -qa | grep java `; do sudo rpm -e --nodeps ${f} ; done
warning: file /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/lib/amd64/xawt/libmawt.so: remove failed: No such file or directory
warning: file /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/lib/amd64/libsplashscreen.so: remove failed: No such file or directory
warning: file /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/lib/amd64/libpulse-java.so: remove failed: No such file or directory
warning: file /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/lib/amd64/libjsoundalsa.so: remove failed: No such file or directory
[root@master ~]# rpm -aq|grep -i java
[root@master ~]#
安装JDK
[root@master ~]# rpm -ivh jdk-8u151-linux-x64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8-2000:1.8.0_151-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
检查安装是否成功
[root@master ~]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
[root@master ~]#
卸载Mysql
mysql安装包准备,官网下载MySQL-5.6.36-1.linux_glibc2.5.x86_64.rpm-bundle.tar包得到:
MySQL-client-5.6.36-1.linux_glibc2.5.x86_64.rpm
MySQL-server-5.6.36-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-5.6.36-1.linux_glibc2.5.x86_64.rpm
MySQL-devel-5.6.36-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-compat-5.6.36-1.linux_glibc2.5.x86_64.rpm
MySQL-embedded-5.6.36-1.linux_glibc2.5.x86_64.rpm
MySQL-test-5.6.36-1.linux_glibc2.5.x86_64.rpm
检查系统中是否安装mysql,有的话进行卸载; (我的系统原来没有安装Mysql)
[root@master ~]# rpm -e --nodeps `rpm -qa | grep mysql`
rpm: no packages given for erase
[root@master ~]#
卸载:MariaDB (Centos7自带,一定不卸载哦)
#rpm -qa | grep -i mariadb //查询安装的MariaDB
#rpm -e --nodeps 上面查到软件名 //卸载相关MariaDB的所有软件
#find / -name mariadb或者whereis mariadb 查找是否有相关配置目录及文件,如有,则 rm -rf 删除
安装mysql
安装全部rpm包,安装CDH会用到;
[root@master ~]rpm -ivh * #将所有rpm放一个文件里面执行此命令;
MySQL初始化
为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化
# mysqld --initialize --user=mysql
另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,而使用 --initialize-insecure 命令则不使用安全模式,则不会为 root 用户生成一个密码。这里演示使用的 --initialize 初始化的,会生成一个 root 账户密码,密码在log文件里,红色区域的就是自动生成的密码;也可以直接安全模式启动,进行修改密码:/usr/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
/etc/init.d/mysql stop
#mysql
mysql>UPDATE user SET Password=PASSWORD('密码') where USER='root'
mysql> FLUSH PRIVILEGES;
mysql> quit;
创建CDH所需要的数据库
[root@master ~]# mysql -uroot -p
mysql>
mysql>create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql>create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql>create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql>create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql>grant all privileges on *.* to 'root'@'master' identified by '密码' with grant option;
mysql>flush privileges;
mysql>quit;
查看是否建立成功
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| amon |
| hive |
| hue |
| mysql |
| oozie |
| performance_schema |
| test |
+--------------------+
8 rows in set (0.00 sec)
mysql>
下载mysql的驱动包: mysql-connector-java-5.1.41-bin.jar
cp mysql-connector-java-5.1.41-bin.jar /usr/share/java/mysql-connector-java-bin.jar #更名复制到/usr/share/java
集群环境准备:
# vim /etc/hostname #分配修改为 master Hadoop1 hadoop2
#/etc/hosts #修改hosts文件
192.168.2.20 master
192.168.2.21 hadoop1
192.168.2.22 hadoop2
所有节点配置ssh互信:
所有节点
#ssh-keygen -t rsa # 一直回车,所有节点的 /root/.ssh/ 会有id._rsa.pub文件
#然后在每个节点上执行
#ssh-copy-id -i /root/.ssh/id_rsa.pub root@master
#ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop1
#ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop2
使用ssh测试互信:
#ssh master
#ssh hadoop1
#ssh hadoop2
所有节点无需密码登录成功即可
时间同步服务
vi /etc/ntp.conf
主节点修改:
将server注释掉 –> #server
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.1.0 mask 255.255.254.0 nomodify notrap
fudge 127.127.1.0 stratum 10us
绿色是在内部子网里面的客户端进行网络校时
其他节点添加
server master注释掉其他 server
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
所有节点执行
service ntpd start
chkconfig ntpd on
除了master节点
crontab –e 编辑定时任务
0-59/10 * * * * /usr/sbin/ntpdate master
开始安装Cloudera Manager
在主节点(master)
tar –zxvf cloudera-manager-el6-cm5.8.2_x86_64.tar.gz –C /opt
必须指定在 /opt 目录下(不嫌麻烦可以自己改代码)
在 /opt下会有两个目录 cloudera和cm-5.8.2
传入mysql 驱动包
cp mysql-connector-java-5.1.41-bin.jar /opt/cm-5.8.0/share/cmf/lib/
初始化cloudera manager数据库
/opt/cm-5.8.4/share/cmf/schema/scm_prepare_database.sh mysql cm -h master -u root -p 密码 --scm-host master scm scm scm
修改config.ini文件
vim /opt/cm-5.8.2/etc/cloudera-scm-agent/config.ini
把server_host=localhost改成server_host=master
把cm-5.8.2分发到其他节点:
scp -r /opt/cm-5.8.2 root@hadoop1:/opt/
scp -r /opt/cm-5.8.2 root@hadoop2:/opt/
所有节点创建cloudera-scm用户
useradd --system --home=/opt/cm-5.8.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
主节点上传CDH集成包
mv CDH-5.8.4-1.cdh5.8.0.p0.42-el6.parcel /opt/cloudera/parcel-repo/
mv CDH-5.8.4-1.cdh5.8.0.p0.42-el6.parcel.sha /opt/cloudera/parcel-repo/
mv manifest.json /opt/cloudera/parcel-repo/
/opt/cm-5.8.4/etc/init.d/cloudera-scm-server start
所有节点:
/opt/cm-5.8.4/etc/init.d/cloudera-scm-agent start
等几十秒浏览器打开
访问CM的主页
用户名和初始密码均为admin
第一个警告解决
echo 10 > /proc/sys/vm/swappiness
第二个警告解决
echo never > /sys/kernel/mm/transparent_hugepage/defrag
并且
vim /etc/rc.local
加入echo never > /sys/kernel/mm/transparent_hugepage/defrag这条命令
然后重新检查
选择组件服务
Ps:72上选择的是 含impala 的内核
组件角色分配
配置数据库
一直确认到完成安装。