Hadoop集群配置

集群安装

准备工具:

虚拟机:VMware Workstation 12
jdk:jdk-8u141-linux-x64.tar.gz
服务器ISO:CentOS-7.iso
hadoop:hadoop-2.8.4.tar.gz
ssh工具:MobaXterm

VMWare虚拟机建三台CentOS,网络配置为NAT。

hd-even-01 hd-even-02 hd-even-03

关闭防火墙:systemctl stop firewalld

禁止开机启动:systemctl disable firewalld

查看防火墙状态:firewall-cmd --state

默认在hd-even-01配置

1. 设置静态Ip,以免开机后ip重新分配。(注意:ifcfg-eno16777736不固定,ifcfg-e+tab键自动出现本机的)

vi /etc/sysconfig/network-script/ifcfg-eno16777736

注释BOOTPROTO="DHCP"这一行

#BOOTPROTO="DHCP"

添加内容:

IPADDR=192.168.35.129
NETMASK=255.255.255.0
GATEWAY=192.168.85.2
DNS1=101.198.198.198

三个服务器都要配置

IPADDR是服务器本身的IP,网关看虚拟机的网络配置,DNS1从主机的DNS选一个,查看windows DNS的命令:ipconfig /all

2.设置hostname,hd-even-01 hd-even-02 hd-even-03都要设置,修改/etc/hostname

vi /etc/hostname

3.在hd-even-01 设置hosts,修改/etc/hosts

vi /etc/hosts
ip hostname 的形式:

192.168.35.128 hd-even-01
192.168.35.129 hd-even-02
192.168.35.130 hd-even-03

service network restart #使网络生效

** 4.在hd-even-01 设置ssh免密**

ssh-keygen //一直回车
ssh-copy-id 自己IP
ssh-copy-id其他IP

5.分发hosts,把配置分发给其他服务器,就不用每台都重新配置。

scp -r /etc/hosts hd-even-02:/etc/
scp -r /etc/hosts hd-even-03:/etc/

6.本机(windows系统)设置host,c:/window/System32/drivers/etc/hosts

内容和步骤3一样。

** 7.下载MobaXterm**

用主机名来连接三台服务器,具体怎么使用自行百度

8. 上传jdk.tar.tz到/home/even/hd

解压jdk
tar -zxvf jdk.tar.tz

rm jdk.tar.tz

9.配置环境变量

vi /etc/profile

export JAVA_HOME=/home/even/hd
export PATH=$PATH:$JAVA_HOME/bin

生效环境变量:
source /etc/profile

10.分发环境变量

scp -r /home/even/hd/jdk hd-even-02:/home/even/hd/
scp -r /home/even/hd/jdk hd-even-03:/home/even/hd/
scp -r /etc/profile hd-even-02:/etc/
scp -r /etc/profile hd-even-03:/etc/

其他服务器也要:source /etc/profile

11.上传hadoop.tar.tz到/home/even/hd

tar -zxvf hadoop.tar.tz -C /home/even/hd/

12.修改hadoop/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/home/even/hd/jdk8

13.修改etc/hadoop/core-site.xml

<configuration>
	<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hd-even-01:9000</value>
	</property>
</configuration>

14.修改hdfs-site.xml

<configuration>
	//配置元数据存储位置
	<property>
	<name>dfs.namenode.name.dir</name>
	<value>/home/even/hd/dfs/name</value>
	</property>
	//配置数据存储位置
	<property>
	<name>dfs.datanode.data.dir</name>
	<value>/home/even/hd/dfs/data</value>
	</property>
</configuration>

15.配置hadoop的环境变量

vi /etc/profile

export HADOOP_HOME=/home/even/hd/hadoop-2.8.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

16.格式化namenode

hadoop namenode -format

会在上面hdfs-site配置的namenode目录下生成对应的文件夹,包含namenode的文件

17.分发hadoop到其他服务器,避免重复配置

scp -r /home/even/hd/hadoop hd-even-02:/home/even/hd/
scp -r /home/even/hd/hadoop hd-even-03:/home/even/hd/
scp -r /etc/profile hd-even-02:/etc
scp -r /etc/profile hd-even-03:/etc

source /etc/profile

18.在hd-even-01启动namenode

hadoop-daemon.sh start namenode

jps查看进程

19.在hd-even-02 hd-even-03启动datanode

hadoop-daemon.sh start datanode

20.本机访问http://hd-even-01:50070

一键启动集群

修改hd-even-01的hadoop目录/etc/hadoop/slaves,添加datanode的主机号hd-even-02,hd-even-03
一键启动集群命令:start-dfs.sh
一键关闭集群命令:stop-dfs.sh

修改SecondaryNameNode的位置,SecondaryNameNode作用:合并镜像文件和备份镜像文件

修改hdfs-site.xml,添加:
<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>hd-even-02:50090</value>
	<description>
			The secondary namenode http server address and port.
	</description>
</property>

基本命令

在NameNode服务器操作:

 hdfs dfs -help									#查看帮助
 hdfs dfs -ls /									#查看当前目录信息
 hdfs dfs -put /本地路径 /hdfs路径				#上传文件
 上传的文件可以通过网页形式查看,IP是NameNode的Host
 http://192.168.11.136:50070/explorer.html#/

Replication是副本数的意思,默认为3。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20181204095711935.png)

可以通过修改hdfs-site.xml文件来改变块大小和副本数
<property>
  <name>dfs.replication</name>
  <value>3</value>
  <description>Default block replication. 
  The actual number of replications can be specified when the file is created.
  The default is used if replication is not specified in create time.
  </description>
</property>

block大小,文件块大小
<property>
  <name>dfs.blocksize</name>
  <value>134217728</value>
  <description>
      The default block size for new files, in bytes.
      You can use the following suffix (case insensitive):
      k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) to specify the size (such as 128k, 512m, 1g, etc.),
      Or provide complete size in bytes (such as 134217728 for 128 MB).
  </description>
</property>
hdfs dfs -moveFromLocal a.txt /aa.txt				#剪切文件
hdfs dfs -get /hdfs路径 /本地路径					#下载文件到本地
hdfs dfs -getmerge /hdfs路径文件夹 /合并后的文件		#合并下载
hdfs dfs -mkdir /文件夹名							#创建文件夹
hdfs dfs -mkdir -p /hunterter/henshuai			#创建多级文件夹
hdfs dfs -mv /hdfs路径 /hdfs路径					#移动hdfs文件
hdfs dfs -cp /hdfs路径 /hdfs路径					#复制hdfs文件
hdfs dfs -rm /aa.txt								#删除hdfs文件
hdfs dfs -rm -r /hunterter							#删除hdfs文件夹
hdfs dfs -cat /文件									#查看hdfs中的文件
hdfs dfs -tail -f /文件								#查看hdfs中的文件
hdfs dfs -count /文件夹								#查看文件夹中有多少个文件,四个参数:路径深度|文件数|大小|当前文件夹名
hdfs dfs -df /										#查看hdfs的总空间
hdfs dfs -df -h /									#查看hdfs的总空间
hdfs dfs -setrep 1 /hdfs路径						#设置副本数,即Replication
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值