小白从CentOS7到安装CDH6.3.2入坑实操指北(二)

1、所需文件下载

在这里插入图片描述

2、磁盘直挂

1、磁盘分区并挂载磁盘

在这里插入图片描述

2、磁盘挂载并设置开机自启

mount /dev/sdb1 /data1
echo "/dev/sdb1 /data1 ext4 defaults 0 0" >> /etc/fstab

3、磁盘挂载完要打开 df -l 查看挂载情况,可能会直接挂载在根目录上,而其他磁盘挂载在/root/data1,导致在安装集群时找不到磁盘

3、离线安装HTTP

从 https://centos.pkgs.org/ 下载依赖包,全部选择X86_64
在这里插入图片描述
直接通过这种办法安装是比较麻烦的,我使用上面的方式安装的时候发现有很多依赖,而且又有版本限制,花了很长时间才把这个服务安装上去,最好的方式是通过挂载的CentOS 镜像安装,省时省力。

4、时钟同步ntp安装

1、卸载已安装的包及安装指定版本的包

 yum remove ntpdate.x86_64 
 rpm -ivh autogen-libopts-5.18-5.el7.x86_64.rpm 
 rpm -ivh ntpdate-4.2.6p5-28.el7.centos.x86_64.rpm 
rpm -ivh ntp-4.2.6p5-28.el7.centos.x86_64.rpm 

2、开启时钟同步

systemctl start ntpd
systemctl enable ntpd
systemctl status ntpd

3、配置文件
以离线环境下任意服务器为例,如10.1.42.210为服务端server配置,10.1.42.211为客户端client配置。

在ntp服务器server端

vi /etc/ntp.conf

------------------添加
允许IPV4 IPV6 查询 拒绝修改
restrict -4 default kod notrap nomodify
restrict -6 default kod notrap nomodify
.# 如果联不通外网,则把上面几行注释,然后添加下面两行,意思是设置成时间服务器是自己
server 127.127.1.0.fudge 127.127.1.0 stratum 8
.# 注释掉以下行
.# 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

service ntpd restart
systemctl disable chronyd.service
systemctl enable ntpd.service
ntpstat

在ntp客户client端

vi /etc/ntp.conf
restrict -4 default kod notrap nomodify
restrict -6 default kod notrap nomodify
.# 如果联不通外网,则把上面几行注释,然后添加下面两行,意思是设置成时间服务器是自己
server 10.1.42.210
fudge 10.1.42.210 stratum 8

service ntpd restart
systemctl disable chronyd.service
systemctl enable ntpd.service
ntpstat
ntpdate -u 10.1.42.210

5、Hosts文件配置

配置各服务器IP

vi /etc/hosts

在这里插入图片描述

6、关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

7、禁用selinux并关闭防火墙

vi /etc/sysconfig/selinux

8、镜像挂载

https://blog.csdn.net/it_lihongmin/article/details/124319737

挂载镜像到目录:/media/CentOS7

mkdir -p /media/CentOS7

cd /media/CentOS7
挂载ISO文件到新建(/media/CentOS7)路径下,比如当前的文件上传到了/opt 目录下, 则最好是cd 到iso镜像所在目录再执行挂载,否则会报挂载只读的错误。

cd /opt
mount -t iso9660 -o loop /opt/CentOS-7.8.iso /media/CentOS7

然后将原来的所有repo文件都 copy到bak目录中:

cd /etc/yum.repos.d
mkdir bak
mv ./* bak

此时需要根据原 CentOS-Base.repo进行修改,则先将该文件copy一份到 /etc/yum.repo.d 在进行修改

cd bak
cp CentOS-Base.repo ../
cd ../
vi /etc/yum.repos.d/CentOS-Base.repo

后修改Centos-Base.repo为当前的文件内容,vi 进入后可以先删除全部文件行(可以输入 100dd,删除前100行),文件内容如下:

[base]
name=centos7
baseurl=file:///media/CentOS7
enabled=1
gpgcheck=0
gpgkey=file:///media/CentOS7/RPM-GPG-KEY-CentOS-7

挂载完成后可以进行查询或者安装东西.

yum install -y gcc-C++  或者yum search jdk

如何把本地yum源给其他机器使用_使用本地http的yum源
https://blog.csdn.net/weixin_33417371/article/details/113714552
查看上传的镜像
http://10.1.42.210/cdh6/

从一台服务器复制远程访问本地镜像文件到另一台

cd  /etc/yum.repos.d
scp Centos-Base.repo  root@master01:/opt/cloudera/parcel-repo

如果不想挂载这么麻烦,还有一种办法是使用 UltralSO 打开镜像,然后把需要的包拖出来,用rpm 安装就行了。

9、修改机器名

hostnamectl set-hostname centos701

10、安装Java

1、把rpm安装包上传
2、mkdir /usr/java
3、把原系统安装的jdk卸载后再安装jdk

rpm -e  --nodeps java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64 java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64

4、安装jdk

rpm -ivh jdk-8u261-linux-x64.rpm  
chmod -R 755 /usr/java   

5、vi /etc/profile 在最后加入
export JAVA_HOME=/usr/java/default
export CLASSPATH=.: J A V A H O M E / l i b : JAVA_HOME/lib: JAVAHOME/lib:JAVA_HOME/jre/lib
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
6、返回终端输入以下命令立即生效

source /etc/profile

11、安装数据库

1、解决mariadb-libs is obsoleted by mysql-community-libs-5.7.16-1.el7.x86_64问题

rpm -qa | grep postfix
rpm -qa | grep mariadb
rpm -e postfix-2:2.10.1-9.el7.x86_64
rpm -e mariadb-libs-5.5.65-1.el7.x86_64

2、安装数据库

rpm -ivh mysql-community-*.rpm

3、打开数据库

systemctl start mysqld
systemctl enable mysqld  #开机自启

4、查看初始化密码

cat /var/log/mysqld.log |grep password

5、用初始化密码登陆

mysql -uroot -p

报错:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
在vi /etc/my.cnf 加入skip-grant-tables 退出终端重启数据库

6、输出查出的初始密码,修改密码为

set password=password('Bigdata@2022');

解决 MySQL修改密码:ERROR 1133 (42000): Can’t find any matching row in the user table
use mysql; select Host,User from user;

报错:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

set password for ‘root’@‘localhost’=password(‘Bigdata@2022’);

set password for 'root'@'%'=password('Bigdata@2022');

再运行

flush privileges;

7、建立相关数据库及用户,允许远程登陆

登录

mysql -uroot -p

密码

mysql -uroot -p‘Bigdata@2022’

在数据库里执行

grant all on *.* to root@'%' identified by ‘Bigdata@2022’ with grant option; 
create database scm default character set utf8 default collate utf8_general_ci; 
grant all on scm.* to 'scm'@'%' identified by 'Bigdata@2022'; 
create database hue default character set utf8 default collate utf8_general_ci; 
grant all on hue.* to 'hue'@'%' identified by 'Bigdata@2022'; 
create database hive default character set utf8 default collate utf8_general_ci; 
grant all on hive.* to 'hive'@'%' identified by 'Bigdata@2022'; 
create database azkaban default character set utf8 default collate utf8_general_ci; 
grant all on azkaban.* to 'azkaban'@'%' identified by 'Bigdata@2022'; 
flush privileges;

flush privileges 是让数据库及时生效

9、初始化数据库
在终端执行

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql  scm root Bigdata@2022

10、把mysql-connection.jar安装包复制

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

12、安装CM

1、从挂载上去的CentOS系统中取出安装所需文件并安装

yum install mod_ssl
yum install openssl-devel
yum install python-psycopg2
yum install MySQL-python
yum install lsb
yum install postgresql-server

以上可合并为如下

yum install mod_ssl openssl-devel  python-psycopg2 MySQL-python lsb postgresql-server

3、上传CM、CDH文件到服务器上,然后从一台拷贝到其他所有机器上,修改sha1 为sha

cd /var/www/html/cdh6/
Mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha

scp clou*  root@master01:/opt/cm6
scp CDH*  root@master01:/opt/cdh6

3、安装CM

cd /opt/cm6
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm 

13、修改配置文件

1、所有agent节点

vi /etc/cloudera-scm-agent/config.ini


server_host=hostname
改为

server_host=master01 

server_host=192.168.1.210 

#尽量不要用机器名,因为在10段访问时,识别的机器IP为10段,不是内部的192段。

2、配置server节点

vi /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=localhost(或192.168.1.210)
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=root
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=123456

14、启动集群

1、启动server 和agent所有节点

service cloudera-scm-server start
systemctl  enable cloudera-scm-server
systemctl status cloudera-scm-server

service cloudera-scm-agent start
systemctl enable cloudera-scm-agent
systemctl status cloudera-scm-agent

查看端口

netstat -nltp

2、登陆CM管理界面安装集群

http://10.1.42.210:7180/cmf/login

登陆的界面网上有很多截图,这里我没有一一截图。
在这里插入图片描述
每个节点的配置其实不用太纠结,在在后面装完后,可以在管理界面上添加角色和服务。

在这里插入图片描述

在这里插入图片描述

15、不良处理

1、节点不良处理办法:

rm -f /var/lib/cloudera-scm-agent/cm_guid 
systemctl restart cloudera-scm-agent

2、格式化集群
hdfs namenode -format

3、终端显示乱码
方法1:
打开文件

vi /etc/locale.conf  

输入

 LANG=“ch_CN”   

立即生效

 source /etc/locale.conf

终端运行date 验证,发现 星期 是中文的就说明成功了

date

方法2:
可以使用命令修改locale.conf配置文件

localectl set-locale LANG=zh_CN
source /etc/locale.conf

4、授权访问磁盘文件夹

sudo chmod -R a+w /root/data1

5、重装系统(这部分在第一篇文章有详细图片)

1、修改iso文件名称长度,缩短,重新刻录进U盘
2、重启服务器 按del进去manager configure 修改boot type为legacy Boot
3、保存重启
4、装完系统后,需再修改回UEFI Boot

6、该主机已与 Cloudera Manager Server 建立联系。 该主机未与 Host Monitor 建立联系。

service cloudera-scm-agent stop
service cloudera-scm-agent start

网上有很多教程说是要删除节点,然后再添加,这本麻烦,因为master和agent之间是有一个UUID相互匹配的,如果重装之后不一致,就添加不进来了。尤其是当master出现问题时,这可能使得整个集群崩溃,如果是新安装的集群,里面没数据还好,损失不大,要是使用很久的,这就会导致影响业务。




参考文献

1、CDH–6.3安装配置
https://blog.csdn.net/qq_39300291/article/details/115530451
CDH、CM下载
https://archive.cloudera.com/

2、CDH和CM介绍及搭建
http://www.fblinux.com/?p=1492

3、java JDK下载
https://jdk.java.net/18/

4、MYSQL
https://dev.mysql.com/downloads/

5、CDH安装教程
https://blog.csdn.net/Happy_Sunshine_Boy/article/details/106658771

https://cloud.tencent.com/developer/article/1638154

https://mp.weixin.qq.com/s?__biz=MzI4OTY3MTUyNg==&mid=2247485512&idx=1&sn=9e953a7eb8b3b2a64a011550ab7da184&chksm=ec2ad841db5d51573f5913d14c33135180bca023de1c349fc431f561c055d1d085527107b66e&scene=21#wechat_redirect

6、httpd下载,httpd服务主要用于搭建OS、Cloudera Manager、CDH的yum源。
https://httpd.apache.org/download.cgi#apache24

7、ntp下载,用于时间同步
http://www.ntp.org/downloads.html

9、看懂Hadoop集群原理与实现方式
http://www.uml.org.cn/bigdata/201712272.asp

9、cdh裸机部署最佳推荐
https://blog.csdn.net/edgar_t/article/details/118612633

10、CDH平台部署规划方案
https://blog.csdn.net/xwd127429/article/details/108083941?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-1-108083941-blog-118612633.t0_layer_searchtargeting_s&spm=1001.2101.3001.4242.2&utm_relevant_index=3

11、从零搭建生产Hadoop集群(七)——关键服务器双网卡配置
https://blog.csdn.net/lxbalex/article/details/83660409/

12、数据盘挂载
https://blog.csdn.net/Joseph25/article/details/125348494

13、重新安装cloudera-manager接管已有集群
https://www.cnblogs.com/SimpleHe/p/14888361.html

14、CDH安装
https://blog.csdn.net/yangZHyu/article/details/123324387
https://blog.csdn.net/xuye0606/article/details/119713220
https://blog.csdn.net/weixin_57250068/article/details/123358156

15、镜像挂载
https://blog.csdn.net/it_lihongmin/article/details/124319737

猜你喜欢

转载自blog.csdn.net/quantam/article/details/126956870