Hadoop完全分布式实验笔记

HDFS分布式文件系统

IP规划:

192.168.1.10 hadoop01
–> NameNode , SeconderyNameNode
192.168.1.11 node1
–> DataNode
192.168.1.12 node2
–> DataNode
192.168.1.13 node3
–> DataNode

环境准备(所有主机):

  • 禁用selinux
    SELINUX=disabled
  • 禁用firewalld
    #systemctl stop firewalld
    #systenctl mask firewalld
  • 安装JAVA依赖环境
    #yum install -y java-0.8.0-openjdk-devel
  • 配置hosts
    #cat /etc/hosts
    192.168.1.10 hadoop01
    192.168.1.11 node1
    192.168.1.12 node2
    192.168.1.13 node3

主机hadoop:

[root@hadoop01 ~]#ssh-keygen #生产密钥对
[root@hadoop01 ~]#for i in {1…3};do ssh-copy-id node$i ;done #配置免密登录
[root@hadoop01 ~]#vim /etc/ssh/ssh_conf #使登录ssh登录时无yes|no提示

 Host * 
 StrictHostKeyChecking no

[root@hadoop01 ~]# tar -xf hadoop-2.7.6.tar.gz #解压hadoop压缩包(获取源:http://hadoop.apache.org)
[root@hadoop01 ~] # mv hadoop-2.7.6 /usr/local/hadoop #无需编译安装,移动任意目录即可
[root@hadoop01 ~]# cd /usr/local/hadoop/
[root@hadoop01 hadoop]# vim etc/hadoop/hadoop-env.sh #配置启动脚本中的默认环境变量,不配置会启动失败

  export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre"  #Java依赖环境的安装目录(可用rpm -ql java-1.8.0-openjdk-devel查看)
  export HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop"			#hadoop安装理解,配置文件路径都可

[root@hadoop01 hadoop]# vim etc/hadoop/core-site.xm #配置核心文件(http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/core-default.xml 根据需要参看官方文档)

<configuration>
 <property>
        <name>fs.defaultFS</name>			#文件系统配置参数
        <value>hdfs://hadoop01:9000</value>	 #或file:///,连接本地hadoop
 </property>
 <property>
        <name>hadoop.tmp.dir</name>		#数据目录配置参数
        <value>/var/hadoop</value>			#任意路径都可,配置完要手动创建
 </property>
</configuration>

[root@hadoop01 hadoop]# mkdir /var/hadoop
[root@hadoop01 hadoop]# vim etc/hadoop/hdfs-site.xml #配置HDFS配置文件(http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml)

<configuration>
 <property>
        <name>dfs.namenode.http-address</name>  #地址声明
        <value>hadoop01:50070</value>
 </property>
 <property>
        <name>dfs.namenode.secondary.http-address</name> #地址声明
        <value>hadoop01:50090</value>
 </property>
 <property>
        <name>dfs.replication</name>  #文件冗余份数
        <value>2</value>
 </property>
</configuration>

[root@hadoop01 hadoop]# vim etc/hadoop/slaves #节点配置文件(只写DataNode节点的主机名)

node1
node2
node3

[root@hadoop01 hadoop]# for i in node{1…3};do scp -r /usr/local/hadoop ${i}:/usr/local/;done #同步配置到Hadoop的所以节点
([root@hadoop01 hadoop]# ssh node1 mkdir
/var/hadoop
[root@hadoop01 hadoop]# ssh node2 mkdir /var/hadoop
[root@hadoop01 hadoop]# ssh node3 mkdir /var/hadoop #若启动报错没有/var/hadoop文件时,要手动创建)
[root@hadoop01 hadoop]# ./bin/hdfs namenode -format #在namenode上执行格式化(初始化个人理解)操作
[root@hadoop01 hadoop]# ./sbin/start-dfs.sh #启动集群
[root@hadoop01 hadoop]# jps #检测角色(所以节点都要检测)
25591 Jps
24312 SecondaryNameNode
25277 NameNode
[root@hadoop01 hadoop]# ./bin/hdfs dfsadmin -report #节点验证
[root@hadoop01 hadoop]# cd etc/hadoop
[root@hadoop01 hadoop]# mv mapred-site.xml.template mapred-site.xml
#进去配置文件路径,复制分布式计算框架配置模板,进行配置
[root@hadoop01 hadoop]# vim mapred-site.xml

<configuration>
 <property>
        <name>mapreduce.framework.name</name> #定义集群管理类为yarn
        <value>yarn</value>
 </property>
</configuration>

[root@hadoop01 hadoop]# vim yarn-site.xml #配置部署yarn资源管理

<configuration>

<!-- Site specific YARN configuration properties -->
 <property>
        <name>yarn.resourcemanager.hostname</name> #resourcemanager地址
        <value>hadoop1</value>
 </property>
 <property>
        <name>yarn.nodemanager.aux-services</name>  #使用那台计算框架
        <value>mapreduce_shuffle</value> #计算框架的名称
 </property>
</configuration>

[root@hadoop01 hadoop]# for i in node{1…3};do rsync -aSH --delete /usr/local/hadoop/etc $i:/usr/local/hadoop/; done #所有节点同步配置
[root@hadoop01 hadoop]# ./sbin/start-dfs.sh #启动服务
[root@hadoop01 hadoop]# ./bin/yarn node --list #验证服务

HDFS基本使用

/usr/local/hadoop/bin/hadoop fs -命令 /
(touchz新建文件 put上传 get下载)

HDFS节点管理

启动新的虚拟机,禁用Selinux,禁用firewalld
设置SSH免密码登录
在所以节点修改/etc/hosts,增加新节点的主机信息
安装Java依赖环境
同步配置文件到新的节点
修改NameNode的slaves文件增加新的节点主机名
在新的节点启动DataNode
./sbin/hadoop0-daemon.sh start datanode

在hadoop01主机设置同步带宽,并同步数据
./bin/hdfs dfsadmin -setBalancerBandwidth 500000
./sbin/start-balancer.sh

查看集群状态
./bin/hdfs dfsadmin -report
(增加节点与修复节点基本一致)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值