Hadoop集群构建
前期准备
开始部署
1. 容易查看
hostname node1
bash
直接命名主机名 但重启会自动变回来
2. 彻底更改
vim /etc/hostname
cat /etc/hostname
> node1
reboot
3. 还有一种更加简便的办法,直接执行后就可以了,不需要重启
hostnamectl set-hostname node1
bash
vim /etc/ssh/sshd_config
在非编辑模式下
:set number 显示行号
i o 修改UseDNS no 以提升ssh的连接速度。
MaxStartups 1000 配置为大于等于1000,1000表示允许sshd服务最大连接数
:wq! 保存配置强制退出
重启ssdh服务
systemctl restart sshd.service
四台机器都需要设置,并且在设置的时候记得删除对应行的井号“#”。
ifconfig eth0
# 使用命令 ifconfig eth0 查询 ECS 内网 IP
vim /etc/hosts
#需要删除自己的主机名映射到 127.0.0.1 的映射,如 node1 为:
#127.0.0.1 node1 node1
# 添加自己四个内网的ip地址 例如:
192.168.0.101 node1
192.168.0.102 node2
192.168.0.103 node3
192.168.0.104 node4
# 根据自己内网ip来修改 ,一定要删除自己localhost的映射
# 确保各节点之间可以使用主机名作为通信的方式 四个节点都需要进行修改
-
修改 cloud.cfg 配置文件
使用公共镜像创建的ECS服务器,默认安装Cloud-init工具,能够对新创建弹性云服务器中指定的自定义信息(主机名、密钥和用户数据等)进行初始化配置
但它会在ECS重启动后修改一下系统配置文件,如/etc/hosts、/etc/hostname等。所以需要修改Cloud-init工具的配置文件/etc/cloud/cloud.cfg,注释对系统关键配置文件的影响项。
在 node1-4 进行以下操作(在非编辑模式下,按 49,然后再按一下 shift+g,可跳转到 49 行
vim /etc/cloud/cloud.cfg
# 注释第 49、50、51 行内容:
# - set_hostname
# - update_hostname
# - update_etc_host
systemctl status firewalld
查看防火墙状态
systemctl stop firewalld
systemctl disable firewalld
# 生成id_rsa.pub
ssh-keygen
各节点执行 ssh-keygen -t rsa 命令后,连续回车三次后生成/root/.ssh/id_rsa.pub 文件
# 汇总id_rsa.pub
- node2上执行此命令 执行的时候可能输入“yes”,并且需要输入node1的服务器密码
scp ~/.ssh/id_rsa.pub root@node1:~/.ssh/id2
- node3上执行此命令 执行的时候可能输入“yes”,并且需要输入node1的服务器密码
scp ~/.ssh/id_rsa.pub root@node1:~/.ssh/id3
- node4上执行此命令 执行的时候可能输入“yes”,并且需要输入node1的服务器密码
scp ~/.ssh/id_rsa.pub root@node1:~/.ssh/id4
- 四合一到node1 在node1上执行此命令
ll ~/.sh
汇总到一个目录中
cd ~/.ssh
cat id_rsa.pub id2 id3 id4 >> authorized_keys
cat authorized_keys
# 选择 yes 后,确保能够互相免密码登录
ssh node1
ssh node2
ssh node3
ssh node4
exit #退出node4 到node3
exit #退出node3 到node2
exit #同理
# 步骤 1 查看新增的数据盘
fdisk -l
# 步骤 2 分区并将分区结果写入到分区表
fdisk /dev/vdb
# 输入n 新建分区 然后一直enter 看到 Command (m for help): 输入w 回车,将分区结果写入分区表中,其会自动退出命令行
#步骤 3 将新的分区表变更同步至操作系统
partprobe
# 步骤 4 将新建分区挂载到/home目录
mkfs -t ext4 /dev/vdb1
mount /dev/vdb1 /home
# 步骤 5 校验是否挂载成功
df -h
#步骤 6 设置开机自动挂载
blkid
vim /etc/fstab
UUID=18440b36-ddb0-40f4-b512-f23404c5bccf /home ext4 defaults 1 1
## 四台服务器都需要操作可以通过ssh node_ 来切换 挂载磁盘
# 注意 若/home 下有重要文件需要先备份后挂载 因为挂载会清空/home文件夹
## 四个节点都需要创建(必须创建)
mkdir -p /home/modules/data/buf/
mkdir -p /home/test_tools/
mkdir -p /home/nm/localdir
-
步骤 1 下载Hadoop软件包
cd /home wget https://xunfang.obs.cn-south-1.myhuaweicloud.com/kunpeng_bigdata_pro_extend_tools.tar.gz ## 重命名 mv kunpeng_bigdata_pro_extend_tools.tar.gz extend_tools.tar.gz
-
步骤 2 解压软件包
tar -zxvf extend_tools.tar.gz
-
查看解压目录
# 在node1上准备hadoop组件 cd /home/extend_tools ll # 就要hadoop-2.8.3.tar.gz 到 /home/modules 目录下 tar -zxvf hadoop-2.8.3.tar.gz -C /home/modules ls /home/modules/ | grep hadoop
-
修改配置文
-
步骤 1 配置hadoop-env.sh
vim /home/modules/hadoop-2.8.3/etc/hadoop/hadoop-env.sh #修改JAVA_HOME路径为ECS已经默认装好了JDK路径 export JAVA_HOME=/usr/lib/jvm/java
-
步骤 2 预配置core-site.xml
vim /home/modules/hadoop-2.8.3/etc/hadoop/core-site.xml
<configuration> <property> <name>fs.obs.readahead.inputstream.enabled</name> <value>true</value> </property> <property> <name>fs.obs.buffer.max.range</name> <value>6291456</value> </property> <property> <name>fs.obs.buffer.part.size</name
-