hadoop集群部署
系统:macos14
镜像:centos7
虚拟机安装,请参考:虚拟机安装
sudo功能:在root 下 输:vim /etc/sudoers
往下滑找到root那块,输入:主机用户名 ALL=(ALL) NOPASSWD ALL
进入终端
配置静态IP,修改网关
1.修改主机名 : hostnamectl set-hostname 新名
2.修改ip地址 :vim /etc/sysconfig/network-scripts/ifcfg-ens160 (root下) ens根据网卡而定 ifconfig可看网卡信息
3.添加: IPADDR= 服务器地址 Mac在系统终端进行查看,按照他的范围输入(不要忘)
NETMASK=255.255.255.0
GATEWAY= 192.168.x.x Mac在系统终端进行查看,按照他的范围输入
DNS1 = 192.168.x.x (和GATEWAY相同)
4.重启网络 service network restart
5.reboot 重启
SSH免密
在每一台服务器都执行:ssh-keygen -t rsa -b 4096 4096是长度
如果不在每台服务器执行ssh-keygen -t rsa …… 就会产生 no route to host 错误
分别在每台服务器执行:ssh-copy-id 服务器1 ssh-copy-id 服务器2 ssh-copy-id 服务器3
让3台服务器都执行以上三条指令
JDK安装
ln -s 文件路径 新名 给文件定义软链接
目录不以我的为准,以自己能记住的为准即可
在根目录创建 /export/server 专门放程序的文件夹
将jdk解压到 /export/server
配置java
1.进入 vim /etc/profile
添加:
export JAVA_HOME=/export/server/jdk1.8.0_401
export PATH=$PATH:$JAVA_HOME/bin
jdk1.8.0_401 后面那个jdk跟实际情况而定
2. 执行命令:
source /etc/profile
3.删除系统自带的java:
rm -f /usr/bin/java
4.把刚配置的jdk替换成系统的java
ln -s /export/server/jdk1.8.0_401/bin/java /usr/bin/java
用 scp -r jdk文件 目标虚拟机:/export/server 把jdk分布
例如:
scp -r jdk1.xxx hadoop103: `pwd`/
分布完就在目标虚拟机执行1,2 ,3,4步骤即可
关闭防火墙
systemctl stop firewalld
#关闭防火墙
systemctl disable firewalld
#关闭自启动防火墙
HDFS部署
将自己下载好的hadoop-3.xxx的文件解压到 /export/server
2.可以给个软连接:ln -s 文件路径 软连接名 方便实用
workers配置
1. cd etc/hadoop (前提在server/hadoop3.xxx内)
2. vim workers , 把默认的删了,填入自己三台hadoop主机名 (竖着写)
hadoop-env.sh 环境变量 配置
在目录找到hadoopenv.sh 写入:
export JAVA_HOME=/export/server/jdk
export HADOOP_HOME=/export/server/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
上面的jdk,hadoop我都给软连接了,没软连接直接写原名
core-site.xml配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
hdfs-site.xml配置
<configuration>
<property>
<name>dfs.datanode.data.dir.perm</name>
<value>700</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/nn</value>
</property>
<property>
<name>dfs.namenode.hosts</name>
<value>node1,node2,node3</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/dn</value>
</property>
</configuration>
准备数据目录
在node1节点
mkdir -p /data/nn
mkdir -p /data/dn
在node2节点
mkdir -p /data/dn
将hadoop复制到 node3 ,node4
scp -r hadoop-3.3.6 hadoop103:`pwd`/
配置环境变量(三台都要配)
根目录输入:
vim /etc/profile
在里面添加:
export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
更新配置:
source /etc/profile
授权用户:
chown -R name:name /data
chown -R name:name /export
格式化文件系统(启动前要执行)
hdfs namenode -format
启动集群
在node1根目录执行:
#一键启动
start-dfs.sh
#一键关闭
stop-dfs.sh
查看进程:jps
在WEB页面查看集群:
浏览器输入:node1:9870 (node1改为自己的主节点名称)
出这个界面就成功了
保存快照
关闭集群:
stop-dfs.sh
三个服务器都执行关机:
init 0
自行保存即可。