基于CDH5.12大数据基础环境部署

说明有些步骤看自己的情况而定!

 

3.1.2 Ip 修改

这里要使用固定IP,而centOS 7已经没有setup命令,所以图形界面的设置已经没有了,这里只能修改配置文件,而且配置文件的名称还不固定,每个人的都可能不一样,这里我说一下位置,IP配置文件的位置:cd /etc/sysconfig/network-scripts/

转存失败重新上传取消

Vi ifcfg-ens33

我们需要先修改BOOTPROTO的参数为static,然后创建两个新参数IPADDR和NETMASK。

转存失败重新上传取消重启 service network restart

3.1.3 修改主机名

1:vi /etc/hostname    按i修改主机名三台机器分别修改下名

第一台  hadoop1

后按最左上esc   后输入:wq 回车

如果不想重启再运行 hostname hadoop1   

第二第三台分别按照上面进行设定

二:每台机器上执行

vi /etc/sysconfig/network   按i   添加下面主机名后:wq  回车保存

NETWORKING=yes

HOSTNAME=hadoop1不同的主机不同的名称

三台都执行   service network restart

3.1.4 修改主机名与ip映射

三台机器都执行

vi  /etc/hosts   按i   添加下面后:wq  回车保存

第一台机器Ip地址

192.168.152.10

第三天机器ip地址  hadoop3

 

基于CDH5.12大数据基础环境部署_第1张图片转存失败重新上传取消

3.1.5 关闭防火墙

tip:所有的机器

systemctl stop firewalld.service && systemctl disable firewalld.service

关闭selinux 

vi /etc/selinux/config

SELINUX=disabled

基于CDH5.12大数据基础环境部署_第2张图片转存失败重新上传取消

 

 

重启或setenforce 0

3.1.6 ssh免密码登录

 

(1)机器hadoop1 上 

第一步  

 ssh-keygen -t rsa      (多次回车(Enter)即可)

基于CDH5.12大数据基础环境部署_第3张图片转存失败重新上传取消

 

第二步

chmod 700 ~/.ssh/

 ssh-copy-id root@hadoop1

ssh-copy-id root@hadoop3

ssh-copy-id root@hadoop2

基于CDH5.12大数据基础环境部署_第4张图片转存失败重新上传取消

要输入下密码

(2)在机器hadoop2 上

 

 第一步  

 ssh-keygen -t rsa     (多次回车(Enter)即可)

第二步

chmod 700 ~/.ssh/

   

ssh-copy-id root@hadoop1

ssh-copy-id root@hadoop3

ssh-copy-id root@hadoop2

(3)在机器hadoop3 上

 

 第一步  

  ssh-keygen -t rsa     (多次回车(Enter)即可)

第二步

chmod 700 ~/.ssh/

才对~

 ssh-copy-id root@hadoop1

ssh-copy-id root@hadoop3

ssh-copy-id root@hadoop2

 

验证免密钥登录 ,在hadoop1节点上执行命令如下

ssh  hadoop2

 

 

 

3.1.7 安装配置ntp

cloudera要求集群中所有机器时间不能偏差过大,所以需要时间同步,因为机器无法联网,所以只能离线安装:

在每台机器上:执行

先查看机器有没有

rpm –qa |grep ntp

如果有可以不用安装

cd /opt

rpm  -ivh autogen-libopts-5.18-5.el7.x86_64.rpm

rpm -ivh  ntpdate-4.2.6p5-25.el7.centos.x86_64.rpm

rpm -ivh  ntp-4.2.6p5-25.el7.centos.x86_64.rpm

本例中让每个hadoop1和hadoop2,hadoop3同步时间,将hadoop1作为ntpserver,在hadoop1中:

修改配置文件ntp.conf  :   命令

:第一台机器修改ntp.conf

vi  /etc/ntp.conf

在文件中添加如下内容(这里是152,需要根据你的子网自己修改)

restrict  192.168.152.0 mask  255.255.255.0  nomodify notrap

 

注释一下四行内容(三台0000000000

#server  0.centos.pool.ntp.org

 

#server  1.centos.pool.ntp.org

 

#server  2.centos.pool.ntp.org

 

#server  3.centos.pool.ntp.org

 

去掉以下内容的注释,如果没有这两行,那就自己添加上下面的两行内容

 

 

server  127.127.1.0  #  local clock

fudge   127.127.1.0  stratum  10

 

三台机器配置以下内容,保证BIOS(主板)与系统时间同步

vi /etc/sysconfig/ntpd 

添加一行内容  SYNC_HWLOCK=yes  

 

没有用的都在前面加#号

保存退出,执行:

service ntpd start

在另外两机器上:vi /etc/ntp.conf

 

添加:该注释的注释掉(下图

server hadoop1

 

保存退出,执行:

 

service ntpd start

 

 

Hadoop1上的ntp server启动后要等5-10分钟才能可用,然后在每个hadoop2 hadoop3执行:

这里可能出现同步失败的情况,请不要着急,一般是本地的ntp服务器还没有正常启动,一般需要等待5-10分钟才可以正常同步\

在hadoop2  hadoop3 执行

ntpdate –u hadoop1

npdate -u hadoop1

输入这个

watch ntpq -p 

查看是否和hadoop1同步

基于CDH5.12大数据基础环境部署_第5张图片

 

按 Ctrl +c   退出

 

启动ntpd的运行进程

其他两台机器与第一台服务器进行时钟同步(这里同步的ip是上面配置的服务器的ip地址service  ntpd start

配置定时器,定时每分钟与时钟服务器进行同步

在hadoop2  hadoop3

crontab -e   然后加入以下内容

 

*/1 * * * * /usr/sbin/ntpdate -u hadoop1

三台机器设置ntpd开机启动

systemctl disable chronyd.service   

 

rm -rf '/etc/systemd/system/multi-user.target.wants/chronyd.service'

systemctl enable ntpd.service   设置开机启动

3.2 jdk安装

三台机器都安装

rpm -qa |grep java

如果有其它版本的jdk先把其它的卸载掉

 

rpm -e -–nodeps   java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64 java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64 java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64

 

cd /opt

 

rpm -ivh jdk-8u162-linux-x64.rpm

、配置环境变量(分别在3台机器上执行)

echo " export JAVA_HOME=/usr/java/jdk1.8.0_162 "  >> /etc/profile

echo "export PATH=$PATH:$JAVA_HOME/bin"  >> /etc/profile

echo "export CLASSPATH=.:$JAVA_HOME/lib"  >> /etc/profile

 

再执行

source /etc/profile

3.3 第三方依赖包

1.其他依赖

针对这个步骤,你可以看网上很多的博客都是将这个步骤放到了MySQL安装的后面,但是经过本人的测试,这一步还是放在前面比较好,因为后面安装的软件,但凡有依赖的,你在这里已经做好了,所以在这里操作安装依赖包,并且是所有节点都安装。

先检查又没有下面的包,如果有就不用安装了

查看

rpm -qa |grep 包名

rpm -ivh chkconfig-1.7.4-1.el7.x86_64.rpm

rpm -ivh bind-libs-9.9.4-61.el7.x86_64.rpm

rpm -rpm -ivh psmisc-22.20-15.el7.x86_64.rpm

rpm rpm -ivh net-tools-2.0-0.22.20131004git.el7.x86_64.rpm

rpm -ivh bind-utils-9.9.4-61.el7.x86_64.rpm

rpm -ivh snappy-1.1.0-3.el7.x86_64.rpm

rpm -ivh cyrus-sasl-gssapi-2.1.26-23.el7.x86_64.rpm

3.4 安装Mysql

centos7自带的是mariadb,需要先卸载掉

rpm -qa | grep mariadb

rpm -e --nodeps  mariadb-libs-5.5.56-2.el7.x86_64

MySQL jar包

一三台机器准备mysql的jar包:

mysql-connector-java.jar

mkdir -p /usr/share/java并拷贝到/usr/share/java/目录:

cp /opt/mysql-connector-java.jar /usr/share/java/

二   这个环节只需要在haadoop1节点上进行即可    

  cd /opt

  tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local

cd /usr/local

ln -s mysql-5.7.24-linux-glibc2.12-x86_64  mysql

cd /etc/

touch my.cnf 

vi my.cnf  编辑

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

skip-name-resolve

#设置3306端口

port=3306

socket=/tmp/mysql.sock

# 设置mysql的安装目录

basedir=/usr/local/mysql

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

lower_case_table_names=1

max_allowed_packet=16M

lower_case_table_names = 1

log-error=/var/log/mysqld.log

pid-file=/usr/local/mysql/data/mysqld.pid

 

 

二 创建目录

  mkdir -p  /usr/local/mysql/data

四  创建用户及用户组

#增加用户组mysql:

groupadd mysql

#增加用户mysql,加入mysql用户组:

useradd -r -g mysql mysql

初始化mysql并启动mysql服务

 

cd /var/log/

touch mysqld.log

chmod –R 755 /var/log/mysqld.log

chown -R mysql:mysql /var/log/mysqld.log

cd /usr/local/mysql/bin

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

#注意:mysqld --initialize-insecure初始化后的mysql是没有密码的

3

#重新修改下各个目录的权限

4

chown -R root:root /usr/local/mysql/    #把安装目录的目录的权限所有者改为root

5

chown -R mysql:mysql /usr/local/mysql/data/   #把data目录的权限所有者改为mysql

 

启动

/usr/local/mysql/bin/mysqld_safe --user=mysql &

 

(7)修改密码

 

1

 cd /usr/local/mysql/bin/

2

 ./mysql -u root -p ( cd /var/log/     cat mysqld.log |grep password查看密码)

 

  进行重置密码

set password=password('123456');

基于CDH5.12大数据基础环境部署_第6张图片

 

35

 flush privileges;

6

 exit;

 

八、设置开机启动:

 

cd /usr/local/mysql/support-files

 

cp mysql.server /etc/init.d/mysqld

 

chkconfig --add mysqld

¥###########################################

 

vi /etc/profile

在最下面添加 export PATH=/usr/local/mysql/bin:$PATH

 

 

九、添加service启动服务命令

service mysqld start (开始)      /stop(停止)    /restart(重启)

mysql -uroot -p123456

use mysql;

mysql> update user set host='%' where user='root' and host='localhost';   //允许mysql远程访问

Query OK, 1 row affected (0.05 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

mysql -uroot -p123456创建以下数据库:

#hive

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#activity monitor

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

# Oozie

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#Hue

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database active DEFAULT CHARSET utf8 COLLATE utf8_general_ci

#授权root用户在主节点拥有所有数据库的访问权限

 

Use  mysql;

grant all privileges on *.* to 'root'@'hadoop1' identified by '123456' with grant option;

grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;

grant all privileges on *.* to 'root'@'%' identified by 'scm' with grant option;

grant all privileges on *.* to 'root'@'%' identified by 'bsoft2019' with grant option;

grant all privileges on *.* to 'scm'@'%' identified by 'scm' with grant option;

flush privileges;

3.5 安装Cloudera Manager Server 和Agent

Hadoop1解压安装

cloudera manager的目录默认位置在/opt下,

cloudera-manager-centos7-cm5.12.0_x86_64.tar.gz

解压:

tar -xzvf cloudera-manager-centos7-cm5.12.0_x86_64.tar.gz

把包里mysql-connector-java.jar,放到cp mysql-connector-java.jar /opt/cm-5.12.0/share/cmf/lib/  中。

 

  在所有节点创建cloudera-scm用户:

useradd --system --home=/opt/cm-5.12.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

 

在主节点(hadoop1)初始化CM5的数据库:

/opt/cm-5.12.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hhadoop1 -uroot -p123456 --scm-host hadoop1 scm scm scm

 

说明:这个脚本就是用来创建和配置CMS需要的数据库的脚本。各参数是指:

mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。-cdh1:数据库建立在cdh1主机上面,也就是主节点上面。-uroot:root身份运行mysql。-123456:mysql的root密码是***。--scm-host cdh1:CMS的主机,一般是和mysql安装的主机是在同一个主机上,最后三个参数是:数据库名,数据库用户名,数据库密码。-p后面是密码

基于CDH5.12大数据基础环境部署_第7张图片

表示成功

Agent配置

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

vi /opt/cm-5.12.0/etc/cloudera-scm-agent/config.ini

server_host = hadoop1

 

同步Agent到其他节点

scp -r /opt/cm-5.12.0/ root@hadoop2:/opt/

scp -r /opt/cm-5.12.0/ root@hadoop3:/opt/

准备Parcels,用以安装CDH5

 

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

相关的文件如下:

CDH-5.12.0-1.cdh5.12.0.p0.29-el7.parcel

CDH-5.12.0-1.cdh5.120.p0.29-el7.parcel.sha

manifest.json

相关启动脚本

通过/opt/cm-5.12.0/etc/init.d/cloudera-scm-server start启动服务端。(hadoop1)

通过/opt/cm-5.12.0/etc/init.d/cloudera-scm-agent start启动Agent服务。(hadoop1,hadoop2,hadoop3三个节点都启动)

基于CDH5.12大数据基础环境部署_第8张图片

原因:因为系统是最小化安装,默认没有安装

解决:安装psmisc )(所有机器都要装)

rpm -ivh psmisc-22.20-15.el7.x86_64.rpm

/opt/cm-5.12.0/etc/init.d/cloudera-scm-server stop

/opt/cm-5.12.0/etc/init.d/cloudera-scm-agent stop

我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart

CDH5的安装配置

Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。

这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),11.9、登陆

http://hadoop1:7180
默认用户密码都是admin

基于CDH5.12大数据基础环境部署_第9张图片

基于CDH5.12大数据基础环境部署_第10张图片

基于CDH5.12大数据基础环境部署_第11张图片

 

基于CDH5.12大数据基础环境部署_第12张图片

 

基于CDH5.12大数据基础环境部署_第13张图片

基于CDH5.12大数据基础环境部署_第14张图片

 

基于CDH5.12大数据基础环境部署_第15张图片

再运行下面

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

echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local

基于CDH5.12大数据基础环境部署_第16张图片

下面的页面选择自定义  勾选

基于CDH5.12大数据基础环境部署_第17张图片

下面默认即可

基于CDH5.12大数据基础环境部署_第18张图片

Hive的拷贝位置为:# cp /opt/cm-5.12.0/share/cmf/lib/mysql-connector-java.jar /opt/cloudera/parcels/CDH-5.12.0-1.cdh5.12.0.p0.29/lib/hive/lib

 

 

删除  rm -r /etc/ld.so.cache

使其重新生成

 

    [root@slave01 etc]# more /etc/ld.so.conf  

    include ld.so.conf.d/*.conf  

    /usr/lib64/mysql  

    [root@slave01 etc]# ldconfig  

[root@slave01 etc]#   

 

 

下面如果有hive之外的 库  就填在mysql里创建的 amon这个 名字 后面再输入mysqld 的用户密码

最左边是选择hadoop1

基于CDH5.12大数据基础环境部署_第19张图片

基于CDH5.12大数据基础环境部署_第20张图片

基于CDH5.12大数据基础环境部署_第21张图片

 

基于CDH5.12大数据基础环境部署_第22张图片


下面针对安装失败的时候!!!

7.卸载cloudera manager 
如果要卸载的话,记得要删掉下面的目录: 
然后删除/var/lib/cloudera-scm-server-db/目录,不然下次安装可能不成功。 

rm -f /opt/cm-5.12.0/etc/cloudera-scm-server/db.properties 

rm  -r /dfs/*

 

 

 

基于CDH5.12大数据基础环境部署_第23张图片

 

 

 

 

你可能感兴趣的:(大数据)