Centos 7CDH hadoop安装配

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

 

等几十秒浏览器打开

http://192.168.2.20:7180

       访问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 的内核

组件角色分配

配置数据库

一直确认到完成安装。

猜你喜欢

转载自blog.csdn.net/qq_16538827/article/details/81909617