相关链接:
HDFS完全分布式搭建(基于hadoop-2.6.5的单NameNode形式)
https://blog.csdn.net/a755199443/article/details/97163768
HDFS-HA高可用完全分布式搭建(基于hadoop-2.6.5的多NameNode形式)
https://blog.csdn.net/a755199443/article/details/97165985
hadoop-yarn环境搭建(基于hadoop-2.6.5) 2019年07月25日 19:22:16
https://blog.csdn.net/a755199443/article/details/97273269
- 环境背景
- 1 修改hosts文件
- 2 免密钥登录
- 3 安装hadoop
HDFS伪分布式搭建
环境背景
伪分布式即NameNode和DataNode等都在一台机器上
使用节点的操作系统为CentOS_6.5
预先安装好jdk1.7
Hostname为node01
Ip为192.168.110.101
登录用户为root用户
hadoop-2.6.5资源链接:
链接:https://pan.baidu.com/s/1NHTCtqHbsuKztpruSRyB-A
提取码:j0sg
1 修改hosts文件
vim /etc/hosts
2 免密钥登录
输入命令
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
在/root生成.ssh目录
进入.ssh目录,其中有密钥id_dsa和公钥id_dsa.pub
把公钥放到访问方的认证文件里即可获得免密钥登陆权限
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
原本需要密码
完成免密钥登录后不需要密码
3 安装hadoop
3.1 解压hadoop
将安装包文件上传至节点
解压,获得hadoop-2.6.5文件夹
将其移动至新建的/opt/hdfs目录
编辑环境变量,在/etc/profile文件末尾加上(含java环境变量,按自己实际情况更改)
export JAVA_HOME=/usr/java/jdk1.7.0_67
export HADOOP_PREFIX=/opt/hdfs/hadoop-2.6.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
使环境变量生效
source /etc/profile
3.2 修改管理脚本
因为要远程执行hadoop的管理脚本,而远程执行时不会与先读取profile文件,即环境变量失效,解决办法为修改脚本中的命令为绝对路径查找
进入/opt/hdfs/hadoop-2.6.5/etc/hadoop目录,逐个修改”env”后缀的文件
hadoop-env.sh 第25行
改为
mapred-env.sh 第16行
改为
yarn-env.sh 第26行
改为
3.3 修改配置文件
仍然在/opt/hdfs/hadoop-2.6.5/etc/hadoop目录
core-site.xml文件中做修改
在configuration标签中加上
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hdfs/hadoop/local</value>
</property>
其中fs.defaultFS指定meNode的位置
hadoop.tmp.dir位置的修改是出于安全性的考虑
继续修改hdfs-site.xml
hadoop框架默认副本数为3,伪分布式环境只需要一个节点,因此副本数指定为1
dfs.namenode.secondary.http-address设置SencondNameNode位置
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
slaves文件
slaves文件用于设定DataNode节点,因为是伪分布式环境,因此只写本节点即可
3.4 开始格式化
hdfs namenode -format
注意成功提示
3.5 启动各角色
start-dfs.sh
之前设置的数据存放目录,现在已经自动创建
3.6 检测是否成功
在windows上检测伪分布式hdfs是否搭建成功
打开浏览器输入网址http://192.168.110.101:50070(预先关闭linux的防火墙或者开放端口)
3.7 关闭hdfs
输入命令
stop-dfs.sh