Hadoop完全分布式集群搭建
实验环境
虚拟机:Virtualbox
系统:CentOS-6.5
JDK:jdk-8u172-linux-x64.tar
Hadoop版本:hadoop-2.7.3
上述软件均是开源,大家可以网上自行下载
一、CentOS6.5安装
1.打开Virtualbox,点击新建
2.输入第一台机器名centos6.5-matser,类型选择linux,版本选择Red Hat(64-bit)
3.设置分配内存大小,电脑8G内存的可以选择分配1024MB即可
4.选择现在创建虚拟硬盘
5.选择VDI模式
6.选择动态分配
7.创建虚拟硬盘分配20GB的大小
8.重复上述2-7步骤,完成另外两台机器slave1,slave2的创建
#下述步骤,每台机器都要执行
9.完成机器创建后,需要选中机器点击网络
10.选择桥接网卡,在这里dodo使用的是无线(寝室校园网需要特别注意,建议使用自己的手机无线),所以用的是无线网卡,界面名称选择为dodo电脑的Intel(R)Dual…,混杂模式选择全部允许,详细同下图
11.选中机器,并启动
12.为机器选择下载好的ISO文件,这里dodo使用的是centos6.5
13.选择skip跳过即可
14.选中Install or upgrade an existing system,键盘点击Enter
14.进入安装界面,点击next
15.选择语言
16.选择键盘,这里都是美国英语式,不建议变更,点击下一步
17.选择基本存储设备,点击下一步
18.选择:是,忽略所有数据 ,点击下一步
19.1.第一台主机名是master,后面两台主机名分别是slave1,slave2
19.2.一定一定一定要记得点击配置网络
19.3编辑网络,勾选上自动连接,点击应用。下一步
20.取消勾选系统时钟使用UTC时间,城市选择亚洲/上海,点击下一步
21.创建root用户的密码,密码过于简单,直接无论如何都使用即可,点击下一步
22.1.选择创建自定义布局,点击下一步
22.2鼠标选中空闲,点击创建,创建标准分区
22.3文件系统类型为swap,分配大小为4096MB
22.4第二块文件系统类型选择ext4,注意挂载点为 / ,下方选择使用全部空间
22.5自定义布局完成,点击下一步
22.6格式化即可,点击下一步
22.7将修改写入磁盘,点击下一步
22.8,点击下一步
23,我们点击选中BasicServer,统一三台机器都是终端界面即可(有需求图形界面的同学选择Desktop),点击下一步
24.等待安装
25.点击重新引导,完成重启
26.重复9~25步骤,完成另外两台机器的创建
27.输入ifconfig,查看网络状态,inet addr 地址存在即可。并且三台机器的Ip网段一致,如下方192.168.43.xxx
28.至此,三台机器搭建完成
二、配置三台机器之间的ssh免密登录
三台主机ip和主机名
192.168.43.174 | master |
192.168.43.113 | slave1 |
192.168.43.168 | slave2 |
#三台节点都需要操作
1.在root用户下创建普通用户hadoop
useradd hadoop
passwd hadoop
2.为hadoop用户赋予root权限,添加到sudoers中
visudo
在文件中加入一条语句
3.切换回hadoop用户下
su hadoop
4.编辑/etc/hosts文件,将主机名与ip绑定
sudo vim /etc/hosts
5.生成公钥和私钥
ssh-****** -t rsa -P '' -f ~/.ssh/id_rsa
6.将公钥添加到认证库文件中cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
7.设置authorized_keys的访问权限为600
chmod 600 ~/.ssh/authorized_keys
8.设置.ssh的访问权限为700
chmod 700 ~/.ssh
#只在master节点上执行即可
1.将两个子节点的公钥追加到主节点的认证库文件中
ssh 192.168.43.113 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh 192.168.43.168 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
追加完成,可以查看到下图结果
cat ~/.ssh/authorized_keys
2.此时,主节点上的认证库文件就含有三台主机的公钥,将整合好的认证库文件覆盖掉子节点的认证库文件
scp ~/.ssh/authorized_keys 192.168.43.113:~/.ssh/
scp ~/.ssh/authorized_keys 192.168.43.168:~/.ssh/
3.测试是否免密
# 测试时,第一次,需要输入密码,之后就不需要输入密码了。
# 在192.168.43.174上测试,进入操作其他主机时可以敲入exit退出
ssh 192.168.43.113
ssh 192.168.43.168
# 在192.168.43.113上测试
ssh 192.168.43.174
ssh 192.168.43.168
# 在192.168.43.168上测试
ssh 192.168.43.113
ssh 192.168.43.174
三、JDK的卸载与安装
#每个节点都需要操作
1.检查当前本机安装的JDK
rpm -qa|grep jdk
2.卸载本机自带的JDK
sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
sudo rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
3.查询当前系统相关的Java目录,并且删除
whereis java
4.删除查询出的结果目录
sudo rm -rf /etc/java
sudo rm -rf /usr/lib/java
sudo rm -rf /usr/share/java
#三台节点都需要操作
1.在每个节点的/home/hadoop目录下创建soft目录,将jdk,和hadoop文件传入
cd /home/hadoop
mkdir soft
2.打开filezilla分别输入各主机的IP地址,用户名hadoop,密码*** 端口号22,点击快速链接
3. 找到windows下存放文件的路径,并且选择好节点的目录路径,传送文件
4.查看文件是否传送
ls /home/hadoop/soft
5.将JDK解压到soft文件夹下
tar -zxvf /home/hadoop/soft/jdk-8u172-linux-x64.tar.gz -C /home/hadoop/soft
6.创建软连接jdk.soft指向jdk1.8.0_172
ln -s jdk1.8.0_172 jdk.soft
7.配置jdk环境变量
vim ~/.bash_profile
在文件中追加如下内容
export JAVA_HOME=/home/hadoop/soft/jdk.soft
export PATH=$JAVA_HOME/bin:$PATH
8.保存退出编辑,刷新.bash_profile文件使之生效
source ~/.bash_profile
9.检查JDK状态
java -version
四、Hadoop安装配置
#所有节点执行
1.关闭selinux
sudo vim /etc/sysconfig/selinux
SELINUX=disabled
2.关闭主机的防火墙
sudo chkconfig iptables off
sudo chkconfig ip6tables off
3.查看防火墙是否全关闭(如果没有重复步骤2)
sudo chkconfig iptables --list
sudo chkconfig iptables --list
#在master节点下操作
4.将hadoop-2.7.3.tar.gz解压到/home/hadoop/soft下
tar -zxvf /home/hadoop/soft/hadoop-2.7.3.tar.gz
5.进入/home/hadoop/soft下,将hadoop-2.7.3改名为hadoop
mv hadoop-2.7.3 hadoop
6..进入hadoop/etc/hadoop下,修改hadoop-env.sh文件
cd /usr/hadoop/etc/hadoop
vim hadoop-env.sh
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/home/hadoop/soft/jdk.soft
7.修改core-site.xml,指定dfs存放的目录,以及各个子节点datanode挂载的位置
vim core-site.xml
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/soft/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
8.修改hdfs-site.xml,指定副本数为1即可
vim hdfs-site.xml
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
9.修改yarn-site.xml
vim yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
10.修改mapred-site.xml,先将创建出mapred-site.xml文件
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
12.修改slaves,将localhost拿掉,添加两个子节点的主机名
slave1
slave2
13.进入 /home/hadoop/soft ,打包hadoop
cd /home/hadoop/soft
tar -zcvf hadoop.tar.gz hadoop
14.将hadoop.tar.gz发送到两个子节点的/usr下
scp /home/hadoop/soft/hadoop.tar.gz aaa@qq.com:/home/hadoop/soft
scp /home/hadoop/soft/hadoop.tar.gz aaa@qq.com:/home/hadoop/soft
切换到slave1,slave2主机/home/hadoop/soft下,分别将hadoop.tar.gz解压
tar -zxvf hadoop.tar.gz
#三个节点都需要执行
1.为hadoop文件创建软连接hadoop.soft
ln -s hadoop hadoop.soft
3.配置hadoop的环境变量,在/home/hadoop/.bash_profile下追加
vim /home/hadoop/.bash_profile
export HADOOP_HOME=/home/hadoop/soft/hadoop.soft
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
2.刷新.bash_profile文件
source /home/hadoop/.bash_profile
#回到master主机节点
1.格式化namenode节点
hdfs namenode -format
2.启动hdfs
start-dfs.sh
#每个节点运行jps
jps
#windows上运行
1.进入下方目录
C:\Windows\System32\drivers\etc
2.选中hosts文件,右键属性,选中安全选项卡,将Users赋予完全控制权限
3.编辑hosts文件,在文件中添加三台主机的ip和主机名
在window浏览器上输入 http://master:50070/
上一篇: JS中简单数据类型和复杂数据类型在内存中的存储和引用
下一篇: 印刷品的排版技巧