文章目录
- 一、先决条件
- 二、虚拟机相关配置
- 三、hadoop安装及配置
- 1. 上传hadoop2.7.1到node1的/king下解压(安装路径可以按自己的来)
- 2. 将hadoop位置加入环境变量
- 3. hadoop/etc/hadoop/hadoop-env.sh中的 JAVA_HOME
- 4. hadoop/etc/hadoop/core-site.xml
- 5. hadoop/etc/hadoop/hdfs-site.xml
- 6. hadoop/etc/hadoop/slaves 中 指定 三台 DN
- 7. 手动创建masters文件, 指定 SNN
- 8. 同步配置文件到其它节点
- 9. 格式化 NN hdfs namenode -format
- 10启动dfs服务
- 11. 测试
一、先决条件
1. 支持平台
GNU/Linux是产品开发和运行的平台。 Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证。
Win32平台是作为开发平台支持的。由于分布式操作尚未在Win32平台上充分测试,所以还不作为一个生产平台被支持。
2. 所需软件
Linux所需软件包括:
JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本。
ssh 必须安装并且保证 sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。
3.安装所需环境软件
如果你的集群尚未安装所需软件,你得首先安装它们。
Linux 安装jdk
二、虚拟机相关配置
1.配置虚拟机启用网卡, 并设置固定IP地址
2. 关闭防火墙
# 查看防火墙状态
firewall-cmd --state
# 停止防火墙
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
3. 时间同步
- 安装 ntp命令:
yum install ntp -y
- 将ntp设置为缺省启动:systemctl enable ntpd
- 启动ntp服务:
service ntpd restart
- 将系统时区改为上海时间(即CST时区):
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 同步时间
ntpdate -u ntp1.aliyun.com
- 输入date命令查看时间是否正确
4. 配置 hosts文件
- centos 7中的 /etc/hosts
192.168.42.31 node1
192.168.42.32 node2
192.168.42.33 node3
192.168.42.34 node4
- windows 中的 C:\Windows\System32\drivers\etc\hosts
192.168.42.31 node1
192.168.42.32 node2
192.168.42.33 node3
192.168.42.34 node4
5. 克隆虚拟机镜像(需要几个克隆几个)
如图所示
- 配置虚拟机启用网卡, 并设置固定IP地址(有几台重复几台 注意固定IP 不要相同)
vim /etc/sysconfig/network-scripts/ifcfg-ens32
# 没有vim可以使用vi 或者安装vim
yum -y install vim
BOOTPROTO=static #开机协议,有dhcp及static;
ONBOOT=yes #设置为开机启动;
DNS1=114.114.114.114 #这个是国内的DNS地址,是固定的;
IPADDR=192.168.42.100 #你想要设置的固定IP,理论上192.168.42.2-255之间都可以,请自行验证;
NETMASK=255.255.255.0 #子网掩码,不需要修改;
GATEWAY=192.168.42.2 #网关,这里是你在“2.配置虚拟机的NAT模式具体地址参数”中的(2)选择VMnet8--取消勾选使用本地DHCP--设置子网IP--网关IP设置。
-
修改主机名 vi /etc/hostname
-
reboot 重启系统
-
检验配置是否成功
(1)查看修改后的固定IP为192.168.42.100,配置正确;
(2)测试虚拟机中的CentOS 7系统是否能连外网,有数据返回,说明可以连接外网;
ping www.baidu.com
(3)测试本机是否能ping通虚拟机的固定IP,有数据返回,说明可以使用终端工具正常连接;
打开命令操作界面:
ping 192.168.42.100
6. 免密钥设置
#1 生成自己的密钥:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
#2 将自己的密钥加入到自己的受信列表:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 3为受信列表赋权:
chmod 0600 ~/.ssh/authorized_keys
# 4将本机的公钥发给其他用户:
scp ~/.ssh/id_rsa.pub node2:/tmp/ #这里的node2是主机映射域名 没有设置host 请改为ip
验证是否可以免密登录
最起码可以做到主机可以免密登录其他机器 这里node1为主机
小结: 经过以上步骤, node1可以免密登录node2,node3, node4了.
三、hadoop安装及配置
1. 上传hadoop2.7.1到node1的/king下解压(安装路径可以按自己的来)
tar -xzvf hadoop-2.7.1
mv hadoop-2.7.1 hadoop
2. 将hadoop位置加入环境变量
vim /etc/profile
HADOOP_HOME=/king/hadoop
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH HADOOP_HOME
source /etc/profile
验证是否成功
hdfs
3. hadoop/etc/hadoop/hadoop-env.sh中的 JAVA_HOME
vim /king/hadoop/etc/hadoop/hadoop-env.sh
4. hadoop/etc/hadoop/core-site.xml
注意这个 hadoopdata目录不存在,由hadoop生成
vim /king/hadoop/etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoopdata</value>
</property>
5. hadoop/etc/hadoop/hdfs-site.xml
vim /king/hadoop/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:50090</value>
</property>
6. hadoop/etc/hadoop/slaves 中 指定 三台 DN
vim /king/hadoop/etc/hadoop/slaves
node2
node3
node4
7. 手动创建masters文件, 指定 SNN
vim /king/hadoop/etc/hadoop/masters
node2
8. 同步配置文件到其它节点
scp -r hadoop/ node2:/king/
scp -r hadoop/ node3:/king/
scp -r hadoop/ node4:/king/
9. 格式化 NN hdfs namenode -format
10启动dfs服务
start-dfs.sh
11. 测试
-
namenode查看 http://node1:50070/
-
SNN查看 http://node2:50090/