Hadoop集群搭建
下载
官网太慢了
这里选用清华大学的镜像下载
镜像地址
下最后一个
打开三台服务器
将下载好的文件上传
解压
配置Hadoop
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标签下加入以下内容
<!-- 指定HDFS中NameNode主节点的地址,端口不指定默认是8020 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://主节主机点名或ip,三台要统一:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>文件的存储目录</value>
</property>
我这里主节点选node1
目录自己看着来
修改完退出保存
三台都要修改
vim hdfs-site.xml
在configuration标签下加入以下内容
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>ResourceManager的IP地址或主机名,三台要统一:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>ResourceManager的IP地址或主机名,三台要统一:50091</value>
</property>
<!--子节点数量,这里三台,一主两从所以是2 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
我这里的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 [email protected]需要免密的ip
这里只需要操作node1
所以将node1的公钥发送给node2,node3
最后
最最重要的是
还要发送给自己
也就是node1
不然后面Hadoop创建集群会报权限不足
测试免密登录
可以看到
随意登录其他服务器
无需输入密码
格式化NameNode
在node1机器上输入以下命令
#第一次启动集群要格式化,往后在启动集群就不用了,如果失败了要重新格式化
hdfs namenode -format
start-dfs.sh
如果出现权限不足情况
查看两点
- 有没有把node1的公钥发给node1,node2,node3
- 有没有关闭防火墙
三台机器同时输入jps查看进程
值得注意的是
如果这一步没有成功
在重新开始之前
记得删除数据存放的目录(这是我的目录,按自己的来)
不然会出现datanode启动不成功的情况
测试集群
浏览器输入 node1的ip:9870
关闭集群
stop-dfs.sh
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码