官网太慢了
这里选用清华大学的镜像下载
镜像地址
下最后一个
将下载好的文件上传
解压
cd hadoop-3.3.1/etc/hadoop vim hadoop-env.sh
按G跳到最后一行
直接在最后添加,配置登录用户
export JAVA_HOME=你的jdk解压位置 export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root
退出保存
三台都要配置
vim core-site.xml
在configuration标签下加入以下内容
fs.defaultFS hdfs://主节主机点名或ip,三台要统一:9000 hadoop.tmp.dir 文件的存储目录
我这里主节点选node1
目录自己看着来
修改完退出保存
三台都要修改
vim hdfs-site.xml
在configuration标签下加入以下内容
dfs.namenode.secondary.http-address ResourceManager的IP地址或主机名,三台要统一:50090 dfs.namenode.secondary.https-address ResourceManager的IP地址或主机名,三台要统一:50091 dfs.replication 2
我这里的ResourceManager辅助名称节点主机选的是node2
退出保存
三台都要修改
vim workers
集群ip集合
我这里就直接写别名了
因为在hosts里配置过了
三台都要修改
hosts配置如下
免得每次都去指定目录下执行命令
vim /etc/profile
在后面加入以下内容(java环境变量自己加,没jdk运行不起来的)
export HADOOP_HOME=/root/software/hadoop/cluster/hadoop-3.3.1 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
退出保存
刷新环境变量
source /etc/profile
输入hdfs
看到这就表示环境变量配置成功
生成密钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
发送公钥给需要免密的服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub root@需要免密的ip
这里只需要操作node1
所以将node1的公钥发送给node2,node3
最后
最最重要的是
还要发送给自己
也就是node1
不然后面Hadoop创建集群会报权限不足
测试免密登录
可以看到
随意登录其他服务器
无需输入密码
在node1机器上输入以下命令
#第一次启动集群要格式化,往后在启动集群就不用了,如果失败了要重新格式化 hdfs namenode -format start-dfs.sh
如果出现权限不足情况
查看两点
- 有没有把node1的公钥发给node1,node2,node3
- 有没有关闭防火墙
三台机器同时输入jps查看进程
值得注意的是
如果这一步没有成功
在重新开始之前
记得删除数据存放的目录(这是我的目录,按自己的来)
不然会出现datanode启动不成功的情况
浏览器输入 node1的ip:9870
stop-dfs.sh



