IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 向集群添加新的节点 -> 正文阅读

[大数据]向集群添加新的节点

(开篇感谢博主https://blog.csdn.net/weixin_38023225/article/details/106186029)

先登录进行:
192.168.XXX.X5
管理员用户: xhna
密 码: xhna

1.修改hosts文件 etc/hosts,主机工作域名配置
测试环境

192.168.XXX.XX0 test001
192.168.XXX.XX1 test002
192.168.XXX.XX2 test003
192.168.XXX.XX3 test004

正式环境

192.168.XXX.XX0 cdh001
192.168.XXX.XX1 cdh002
192.168.XXX.XX2 cdh003
192.168.XXX.XX3 cdh004
192.168.XXX.XX4 cdh005
192.168.XXX.XX5 cdh006

2.修改主机名

先查看主机名

hostname 

再修改主机名
命令形式

hostnamectl set-hostname  主机名

修改

hostnamectl set-hostname cdh005/cdh006

再次查看主机名

hostname 

无需重启,只需新开会话窗口,便可变为新的主机名。

使用reboot 可以机器重启hosts文件中的原始主机名会还原(待解决)

Source /etc/hosts 即使在正常环境上使用也不通(最起码source 命令在cdh中刷新hosts文件是行不通的,可以使用source刷新profile环境变量的配置文件)

总结

hosts文件不用刷新保存即生效!!!

reboot 重启hosts配置文件会发生更改!!

使用hostname 查看是否将机器名字更改过来。

3.关闭防火墙和清空规则

#查看防火墙状态,注:active是绿的running表示防火墙开启

systemctl status firewalld.service 

#关闭防火墙

systemctl stop firewalld.service 

#开机禁用防火墙自启命令

systemctl disable firewalld.service

4.免密登录
默认情况下,centos7已经安装了ssh的服务端和客户端
可以通过以下方式查看。

yum list installed | grep openssh-server

如果没有安装,可以通过以下方式安装

yum install openssh-server

测试ssh:

ssh root@要进行链接的机器ip地址
例如:

ssh root@test001

ssh-keygen -t rsa 命令生成密钥

回车1234 四下

将本机生成的密钥发动给谁,谁就能免密登录test004

ssh-copy-id 192.168.**.*

例如:

ssh-copy-id test001

查看该文件可以知道有没有配置某台机器的免密登录
/root/.ssh目录下:
cat -n known_hosts

第一次免密登录还是要进行输入密码

5.添加新用户

添加新用户:useradd**** (qytest)
例如:

useradd  xhna

然后再: passwd + 用户名
例如:

passwd xhna
回车后 录入自己设置的密码(qiyue)

xhna

用root用户进行到root目录下(普通用户没有权限)
visudo命令:

为该用户添加配置权限:(此处赋的管理员权限 ALL)
在这里插入图片描述

参考现有集群中(cdh001…cdh004)节点权限配置:

为普通用户(zhangwen)赋予权限:

admin ALL=(ALL) NOPASSWD: ALL
xhna ALL=(ALL) NOPASSWD: ALL
User_Alias CDH_INSTALLER=xhna
Cmnd_Alias CDH_CMD= /usr/bin/chown, /usr/sbin/service, /usr/bin/systemctl, /usr/bin/rm, /usr/bin/id, /usr/bin/install,/usr/sbin/chkconfig, /usr/bin/yum, /usr/bin/sed, /usr/bin/mv, /usr/sbin/ntpdate
CDH_INSTALLER     ALL=(ALL)       NOPASSWD:CDH_CMD
xhna     ALL    =(ALL)   NOPASSWD: ALL
cloudera-scm    ALL=(ALL)    NOPASSWD:ALL
quickapp ALL=(ALL) NOPASSWD: ALL,!/bin/su,!/bin/bash
admin ALL=(ALL) NOPASSWD: /bin/whoami 
Bigdata ALL=(ALL) NOPASSWD: ALL

普通用户登录切换到root用户:

可用 sudo su root 即可完成切换,如果不配置普通用户权限此操作不能完成

6.安装jdk
(主要参考:

https://blog.csdn.net/weixin_46609492/article/details/118000385

检查本地自带jdk:

rpm -qa|grep java   --此命令也是网上搜的,亲测不太好用

使用java -version 命令,进行测试新节点机器上是否安装jdk

test001、test002、test003 都会查询到jdk的版本信息,新节点test004上查询不到jdk的版本型号,说明没有安装。

如果有自带的jdk,那么卸载自带的jdk:

rpm –e --nodeps    xxxxxxxxx

修改文件所属组(/etc/group文件记录系统中所有的组名称)

chgrp xhnafile xhna

修改文件所有者

chown xhnafile xhna

例如:
修改jdk文件夹的所属用户和组
sudo chown -R root:root/usr/java/jdk1.8.0_211


解压命令

tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/java   

-- usr/java是解压到哪个目录下 mkdir /usr/java/

直接将test001上的解压后的jdk文件夹发送到test004机器向对应的位置(再修改配置即可使用)

scp -r jdk/ test004:$PWD  jdk一般放在 /usr/java/ 路径下,
这里我提前在新节点创建了新的文件夹

配置新增机器的profile 配置文件:
在profile 文件的最后边添加
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin

配置文件内容有特殊字符,这里显示有异样(下面配张图)
在这里插入图片描述

7.透明大页
首先查看透明大页是否启用,

[always] never表示已启用
always [never]表示已禁用

查看命令
cat /sys/kernel/mm/transparent_hugepage/defrag

[always] madvise never  (正在启用)

cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never  (正在启用)

以上状态就说明是启用的

永久关闭:

修改配置文件:

/etc/rc.d/rc.local

//在文件后添加下面内容:

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

保存退出
然后赋予rc.local文件执行权限:

chmod +x /etc/rc.d/rc.local

8.调整时间(NTP):

timedatectl 命令查看时间

查看结果已经为上海时区(也可以通过命令设置时区timedatectl set-timezone Asia/Shanghai)

通过yum源进行安装:

yum install -y ntp

安装ntp(集群中时间相关配置)

编辑ect 目录下的ntp.conf 配置文件
#本来根据本机服务获取当前时间,修改为根据集群中主节点获取当前时间

# local clock
#server 127.127.1.0
#fudge  127.127.1.0 stratum 10
#集群中主节点ip
server 192.168.xxx.xx0  #集群中主机ip 这里我用的是test001
fudge  192.168.200.210 stratum 10

启动ntpd

systemctl start ntpd

设置开机启动

systemctl enable ntpd

查看ntp的状态

systemctl status ntpd

验证是否成功设置
查看是否开机自启1:

systemctl list-unit-files |grep enabled | grep ntpd

查看是否开机自启2:

systemctl is-enabled ntpd

Disabled 不开机自启
查看ntp的进程

netstat -tlunp | grep ntp

解决机器重启ntp 不重启的问题:

1.需要禁掉chronyd.service:

systemctl disable chronyd.service  

2.手动启动ntpd:

systemctl start ntpd

3.再次设置开机自启动:

systemctl enable ntpd

4.重启服务器测试ntpd即可正常自启动了

图中问题由于 反复启动ntp服务导致
在这里插入图片描述

9.CM Agent安装(集群相关连的服务)

从主节点test001上将:

cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm

分发到test004机器上

从节点上安装

sudo rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force


sudo rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force

配置Agent

sudo vi /etc/cloudera-scm-agent/config.ini	
# Hostname of the CM
server_host=test001 #集群主节点 ,我仍然用的是我集群中的主机点

创建文件夹(root用户下创建):

/usr/share/java

在主节点上的该目录下(执行)分发给新加节点:

scp -r mysql-connector-java.jar/ test004:$PWD 
用户连接数据库,读取cloudera服务信息数据

新增的Agent节点:


启动服务:(添加节点只需要启动agent服务即可)

service cloudera-scm-agent start(从节点上启动该服务) 注意!!! 

service cloudera-scm-service start(主节点启动该服务) 从节点不要试着启它

10.配置交换内存

配置交换内存:

修改swappiness参数
临时性修改:

sysctl vm.swappiness=10

查看

cat /proc/sys/vm/swappiness
结果 10

永久修改:

vim /etc/sysctl.conf

vm.swappiness=30

查看交换内存:

swapon -s 不显示结果

配置交换内存:

https://blog.csdn.net/qq_26894673/article/details/102950521

创建挂载文件
(测试集群中最好保持一致的文件路径 home/swap/swap 这里最后一个swap为挂载文件)
(正式环境中实在home/目录下直接创建的挂载文件 swap )

例如:
fallocate -l 8G swap 置为8G内存
(这里测试环境设置的为61G,正式环境97G[注意一次配置够此文件不好删除])

测试环境如下操作:
1、

fallocate -l 61G swap 置为61G内存(fallocate -l 100G swap)

2、

chmod 600 swap

3、

mkswap swap

4、

swapon swap


/home/swap/swap

5、编辑配置文件:

vim /etc/fstab
/home/swap/swap swap swap defaults 0 0

11.下载python
1、rpm -qa | grep postgresql 在test001,test002,test003上能够查询到结果,而在test004不能查询到结果

2、yum install postgresql-devel 

3、yum install gcc libffi-devel python-devel openssl-devel -y

4、pip install --upgrade psycopg2 test004上执行报异常

执行这里的23步后,再在test004执行1就可以查询到结果了(异常没了)

12.挂载磁盘

挂载2T以下的磁盘
1、查看未挂载的硬盘

fdisk -l 

2、创建硬盘分区

fdisk /dev/vdb (系统自带目录)
fdisk /dev/vdc (系统自带目录)
fdisk /dev/vdd (系统自带目录)

3、硬盘分区

依次输入"n","p" "1",两次回车,"wq"

4、查看硬盘分区信息

lsblk 

4、格式化硬盘

mkfs.ext4 /dev/vdb1(格式化分区后的文件)
mkfs.ext4 /dev/vdc1(格式化分区后的文件) 
mkfs.ext4 /dev/vdd1(格式化分区后的文件) 

5、挂载硬盘(建立挂载目录/已有目录)

mount /dev/vdb1 /data0
mount /dev/vdc1 /data1 
mount /dev/vdd1 /data2 

6、df -h 查看挂载路径

更改挂载目录:
实例:
把已经挂载在 data0 目录上的硬盘挂载到 data 目录上
1、查看挂载情况

df -h

2、data 文件已经存在不用再建

把 data 目录下的文件拷贝到其他文件夹下,挂载完之后再放进来

3、解除原来挂载的目录

umount /data0

4、查看挂载情况

df -h

5、重新挂载

mount /dev/vdb1 /data

6、查看挂载情况

df -h

7、配置配置文件
vi /etc/fstab (编辑fstab文件修改或添加,使重启后可以自动挂载)

/dev/vdb1 /data ext4 auto 0 0

拓展文件拷贝命令:

cp -r /data /home/zhangwen/nxw/data(不显示进度条)

由于磁盘容量大于2T:一般的挂载不可用
1、查看未挂载的硬盘

 fdisk -l

2、先解除 umount /data 的挂载(/dev/vdb1)

 umount /data 
 umount /data1
 umount /data2  (解决文件在忙的问题fuser -m -v /data2)

3、df -h 查看挂载路径

4、标志位GPT /dev/vdb

parted /dev/vdb mklabel gpt  
parted /dev/vdc mklabel gpt 
parted /dev/vdd mklabel gpt

5、使用 parted 分区创建分区

parted /dev/vdb mkpart primary 0 100%
parted /dev/vdc mkpart primary 0 100%
parted /dev/vdd mkpart primary 0 100%

6、格式化分区

mkfs.ext4 /dev/vdb1 (第五台机器分区 /dev/vdb,注意配置文件书写)
mkfs.ext4 /dev/vdc1  
mkfs.ext4 /dev/vdd1  

7、查看硬盘分区信息

lsblk 

7、创建文件或者使用已存在文件
data
data1
data2

8、分区挂载

mount /dev/vdb1 /data  (第五台机器分区 /dev/vdb,注意配置文件书写)
mount /dev/vdc1 /data1 
mount /dev/vdd1 /data2   

9、查看分区情况

df -h  

配置文件etc/fstab:

第5台机器配置!!!(vdb 格式化需要注意)

/dev/vdb1  /data ext4    defaults    0  0(/dev/vdb  /data ext4    defaults    0  0 第五台机器配置文件)
/dev/vdc1  /data1 ext4    defaults    0  0
/dev/vdd1  /data2 ext4    defaults    0  0

第6台机器配置

/dev/vdb1  /data ext4    defaults    0  0 
/dev/vdc1  /data1 ext4    defaults    0  0
/dev/vdd1  /data2 ext4    defaults    0  0

拓展
为某些文件赋权限:
修改该文件的权限:

chmod u+w /etc/sudoers //先增加权限
chmod u-w /etc/sudoers //然后再把权限去掉

访问http://192.168..:71/cmf/home

在web页面进行节点添加操作:常遇到的问题

下面提示不用做处理:(选择qytest集群即可)

下面提示不用做处理:

Add Hosts:

下面提示不做处理:

下图问题在于test004节点没与qytest集群建立连接:
解决办法:重启agent 服务

此问题需要解决:检查test004新加节点,所有需要启动的服务是否正常启动,

提示1:swappiness参数配置问题(跟集群现有集群保持一致)
提示2:下载安装postgresql-devel
提示3:测试环境jdk版本不一致

透明大页问题:
解决方案:禁用即可

图中框中提示是由于重启新增节点test004,导致hosts文件恢复原来的主机名(一串字符)

下载更新python-pip问题
解决方法:(大数据平台环境搭建)
sudo yum install gcc libffi-devel python-devel openssl-devel -y
sudo yum -y install epel-release
sudo yum install python-pip
sudo pip install --upgrade psycopg2 test004上执行报异常

新的解决方案(网上搜索好用):
1、rpm -qa | grep postgresql 在test001,test002,test003上能够查询到结果,而在test004不能查询到结果
2、yum install postgresql-devel
3、yum install gcc libffi-devel python-devel openssl-devel -y
4、pip install --upgrade psycopg2 test004上执行报异常
执行这里的23步后,再在test004执行1就可以查询到结果了(异常没了)

vm.swappiness值问题
临时性修改:
sysctl vm.swappiness=10
查看
cat /proc/sys/vm/swappiness
10

永久修改:
vim /etc/sysctl.conf
vm.swappiness=30

点击继续,选择qytest 集群(不用新创建)

节点组件添加问题
创建新的示例之后,进行组件的添加
调研新增节点需要添加的组件(6个组件):
Yarn:
NodeManager
Gateway
Spark
Gateway
Hdfs
DataNode
Gateway
Hive
Gateway

例如这里添加hdfs组件从节点

为test004添加了一个DateNode 角色:

类比其他的大数据组件,根据集群需求为test004分配相应的角色。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:10:56  更:2022-05-08 08:13:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:03:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码