VMware10+CentOS6.8搭建Hadoop集群

1.首先安装VMware10和CentOS6.8。 
其中 CentOS6.8,我下载的是CentOS-6.8-x86_64-bin-DVD1to2。 
http://centos.ustc.edu.cn/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1to2.torrent

2.安装vmtools,参考http://jingyan.baidu.com/article/6dad5075ca4d6da123e36e34.html

3.下载JDK包,拖到CentOS6.8桌面上,解压到soft下面

第一步:配置环境变量 
sudo gedit /etc/profile

export JAVA_HOME=/home/xutong/soft/jdk1.8.0_60 
export JRE_HOME=/home/xutong/soft/jdk1.8.0_60/jre 
export CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar 
export PATH=JAVAHOME/bin:JRE_HOME/bin:$PATH

第二步:执行如下命令 
//选择我们的JAVA作为系统默认的JAVA 
sudo update-alternatives –install /usr/bin/java java /home/xutong/soft/jdk1.8.0_60/bin/java 300 
sudo update-alternatives –install /usr/bin/javac javac /home/xutong/soft/jdk1.8.0_60/bin/javac 300

//更新设定 
sudo update-alternatives –config java

//更新系统配置文件 
source /etc/profile 
//测试JAVA是否配置成功 
java -version

4.下载hadoop-2.7.1.tar安装包,拖到CentOS6.8桌面上, 
第一步:解压 
tar -zxvf hadoop-2.7.1.tar.gz -C /home/Hadoop/ 
(说明:也可以手动拷贝过去,通过鼠标右键解压缩到soft文件夹下) 
第二步:设置环境变量 
sudo gedit /etc/profile 
第三步:添加如下内容 
export HADOOP_HOME=/home/Hadoop/hadoop-2.7.1 
export PATH=PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin 
第四步:进入Hadoop路径 
cd hadoop-2.7.1 
sudo gedit etc/hadoop/hadoop-env.sh 
第五步:添加如下内容 
export JAVA_HOME=/home/xutong/soft/jdk1.8.0_60

对hadoop进行设置 
core-site.xml的内容:

<configuration>  

<property>  

<name>fs.default.namename>  

<value>hdfs://master:9000value> 

property> 

<property> 

<name>Hadoop.tmp.dirname>  

<value>/tmp/hadoop-rootvalue> 

property>

configuration>


hdfs-site.xml

<configuration> 

<property>  

<name>dfs.replicationname>  

<value>3value> 

property>

configuration>

mapred-site.xml

<configuration> 

<property>  

<name>mapred.job.trackername>  

<value>master:9001value> 

property>

configuration>

slaves

slave1 
slave2

以上JDK和Hadoop已经安装成功

接下来

1. 
关掉SELINUX:vi /etc/selinux/config ,设置SELINUX=disabled,保存退出。 
关闭防火墙:/sbin/service iptables stop;chkconfig –level 35 iptables off

VMware10+CentOS6.8搭建Hadoop集群_第1张图片 
右击右上角电脑图标,之后点击连接信息,可以看到这个CentOS的网络连接状况

修改IP地址为静态地址:gedit /etc/sysconfig/network-scripts/ifcfg-eth0, 
VMware10+CentOS6.8搭建Hadoop集群_第2张图片 
把连接信息里的内容按照上图所示,都填上去

修改主机名称: gedit /etc/sysconfig/network,将其内容改为如下图所示: 
VMware10+CentOS6.8搭建Hadoop集群_第3张图片

修改hosts映射:gedit /etc/hosts,将其内容改为如下图所示。我们在这里就加入了slave1和slave2的映射项,以简化后面的步骤。 
VMware10+CentOS6.8搭建Hadoop集群_第4张图片

执行:service network restart 以重启网络。

2. 
使用VMWare中clone功能,复制出另外两台虚拟机,分别命名为slave1和slave2。因为克隆出的虚拟机网卡地址已经改变,所以要分别在复制出的两台虚拟机中执行以下操作:

•执行:rm -f /etc/udev/rules.d/70-persistent-net.rules 
•执行:reboot 重启虚拟机 
•执行:gedit /etc/sysconfig/networking/devices/ifcfg-eth0 
按照连接信息里的内容,重新修改里面的内容

3. 
做SSH免密码登录

分别在三个系统中(普通用户)的终端执行:ssh-keygen -t rsa,一路回车会在当前用户下.ssh目录中生成两个文件一个是私钥文件,一个是公钥文件,我们复制公钥文件到当前目录并重命名为authorized_keys,分别把其他两个系统的公钥文件内容复制到authorized_keys文件中,其他两个系统也做此操作,最后每个系统的authorized_keys文件包含本系统的公钥内容以及其他两个系统公钥的内容,使用SSH命令进行测试,如下图: 
VMware10+CentOS6.8搭建Hadoop集群_第5张图片

如果不成功, 
1. 
给hadoop用户增加sudo权限以及修改host

1)切换到root用户,su 输入密码

2)给sudoers增加写权限:chmod u+w /etc/sudoers

3)编译sudoers文件:vi /etc/sudoers

在root ALL=(ALL)  ALL下方增加hadoop ALL=(ALL)NOPASSWD:ALL

4)去掉sudoers文件的写权限:chmod u-w /etc/sudoers

2.还是不行的话,试下下面的

服务器配置

输入命令:gedit /etc/ssh/sshd_config

#禁用root账户登录,如果是用root用户登录请开启

PermitRootLogin yes

#是否让 sshd 去检查用户家目录或相关档案的权限数据,

#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。

#例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入

StrictModes no

#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。

#至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧

PasswordAuthentication no

重启ssh服务,输入命令:

/bin/systemctl start sshd.service

注意:修改sshd后,别忘了要覆盖掉别的机器上的sshd


最后 
1.在master节点格式化hdfs文件,进入 hadoop/bin文件夹中,开启终端,输入命令: 
hdfs namenode -format

2.开启Hadoop:进入hadoop/sbin文件夹,开启终端,输入命令:start-all.sh

3.输入http://master:50070,查看节点信息 
VMware10+CentOS6.8搭建Hadoop集群_第6张图片

输入http://master:8088/查看 
VMware10+CentOS6.8搭建Hadoop集群_第7张图片

参考博客: 
http://www.2cto.com/kf/201607/531568.html 
http://coolwyh.iteye.com/blog/2059258 
http://blog.csdn.net/dyllove98/article/details/9228673

你可能感兴趣的:(机器学习)