黑马程序员技术交流社区

标题: Hadoop-HDFS的伪分布式和完全分布式集群搭建 [打印本页]

作者: 梦缠绕的时候    时间: 2019-6-20 14:33
标题: Hadoop-HDFS的伪分布式和完全分布式集群搭建
HDFS伪分布式集群搭建步骤
一、配置免密登录

ssh-keygen -t rsa

一句话回车到底

ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01

跟随提示进行,一般需要yes确认之后输入一次密码就成功了
如果没配置免密登录的话,会出现登录和退出HDFS时,所有节点都需要输一遍密码。(本人亲身实践,虽然还是启动成功了)

二、上传jdk和hadoop压缩包
可以使用ftp或者使用命令rz

yum install lrzsz -y

三、解压jdk和hadoop压缩包
建议可以解压到统一的目录下
tar -zxvf 压缩包名
四、配置环境变量

export JAVA_HOME=/opt/software/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin

必须让环境变量生效,代码如下:

source /etc/profile

PS:用户变量 .bashrc
系统变量        /etc/profile
系统操作命令(文件的增删改查)        bin
系统管理命令(集群的启动、关闭)        sbin
hadoop配置信息        etc/hadoop
五、修改配置文件
① slaves配置Datanode节点
② 修改hdfs-site.xml

//设置备份个数
                    <property>
                            <name>dfs.replication</name>     
                            <value>1</value>
                    </property>
     //secondaryNamenode
                    <property>     
                               <name>dfs.namenode.secondary.http-address</name>  
                               <value>node01:50090</value>
                       </property>

③ 修改core-site.xml

//namenode
                   <property>
                            <name>fs.defaultFS</name>            
                            <value>hdfs://node01:9000</value>   
                    </property>
                //namenode启动后产生的信息
                <property>
                        <name>hadoop.tmp.dir</name>         
                        <value>/var/abc/hadoop/local</value>
                </property>

④ 把*-env.sh的文件内部所有的java路径改为绝对路径
六、格式化
让所有文件生效,此命令在/opt/software/hadoop/bin目录下

hdfs namenode -format

七、启动命令
此命令在/opt/software/hadoop/sbin目录下

./start-dfs.sh

八、配置hadoop的环境变量
配置完这两条环境变量之后,可以在任意目录下启动Hadoop集群

export HADOOP_HOME=/opt/software/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

九、操作HDFS文件系统
创建根目录,首先要写换到hadoop的bin目录下

./hdfs dfs -mkdir -p /user/root

通过命令hdfs dfs -put 文件名或目录名,上传文件

十、本人在配置时出现的一些问题
/etc/hosts中的网络映射信息必须配置对
配置完环境变量后必须使用source /ect/profile使它生效

HDFS完全分布式集群配置
我是这么做的:
先克隆一台虚拟机,进行一下操作
一、修改hdfs-site.xml配置文件
value的数量不能超过节点数
第二个property标签配置的是secondarynamenode,节点要和主节点Namenode不同

<property>
        <name>dfs.replication</name>
        <value>3</value>
</property>
<property>   

<name>dfs.namenode.secondary.http-address</name>
     <value>node02:50090</value>
</property>

二、修改core-site.xml配置文件
第一个property标签是配置主节点Namenode
第二个property标签是配置集群启动时产生的信息

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://node01:9000</value>
</property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>/var/abc/hadoop/cluster</value>
</property>

三、修改slaves配置文件
修改主节点的slaves配置文件如下

node02
node03
node04

进行完这三个操作后再克隆三台虚拟机,然后配置各自的网络
四、配置网络

(之后补充)大概就是修改/ect/sysconfig/network的主机名,修改/ect/sysconfig/network-scripts/ifcfg-eth0中的IP地址,IPADDR修改为此虚拟机的IP,GATEWAY和DNS1为虚拟机的网关,DNS2随意,如下图也行,
修改完成后使用命令service network restart重启网卡,如果还有问题就删掉第二行和地四行,删掉之后若还有问题,请自行百度

,删除rm -rf /etc/udev/rules.d/70-persistent-net.rules文件,重要的事情说三遍!
重启虚拟机!!!!!!!!!!!!!!
重启虚拟机!!!!!!!!!!!!!!
重启虚拟机!!!!!!!!!!!!!!

在各自的/ect/hosts目录下配置四台虚拟机的网络映射
代码可以参照如下:
注意:IP不可以冲突,必须每台虚拟机都配置

192.168.145.131        node01
192.168.145.132        node02
192.168.145.133        node03
192.168.145.134        node04

五、格式化
让所有文件生效,此命令在/opt/software/hadoop/bin目录下

hdfs namenode -format

六、启动命令
此命令在主节点/opt/software/hadoop/sbin目录下

./start-dfs.sh
---------------------
原文:https://blog.csdn.net/mhw666/article/details/91610598

有任何问题欢迎在下方留言或者联系学姐



作者: 梦缠绕的时候    时间: 2019-6-20 14:33
也可以添加学姐微信
DKA-2018
作者: 晨大喵    时间: 2019-7-17 11:51
感谢分享~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2