安装步骤

1.操作系统与实验硬件准备

2.配置集群的ssh

3.配置Hadoop集群

4.启动Hadoop服务

一、操作系统与实验硬件准备

 在虚拟机上准备两个机子,一个作为master一个作为slave1

按用前面(Hadoop单机安装)

完成安装jdk,hadoop和配置环境等

1、设置两台机子的hostname

 执行命令$sudo vim /etc/hostname

将文件中的名称改成想要的机器名,这里改成master和slave1

重启一次系统生效

执行命令

$ping master

$ping slave1

正常的话,应该能ping通

2、设置虚拟机的静态ip

master主机设置静态ip,在slave上也要参考设置修改成具体ip

执行命令

$sudo vim /etc/network/interfaces

打开文件修改成以下内容

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

address 192.168.237.131#本机ip

netmask 255.255.255.0

network 192.237.140.0

boardcast 192.168.237.255

gateway 192.168.237.2

dns-nameservers 8.8.8.8 8.8.4.4

Hadoop集群安装部署

3、设置2台机子的hosts文件

执行命令

$sudo vim /etc/hosts

在hosts文件添加如下内容

192.168.237.131  master

192.168.237.132  slave1

Hadoop集群安装部署

二、配置ssh免密码登录

配置ssh免密码登录是让各节点能自动通过安全认证,不影响正常通讯。

安装ssh:在线安装

执行命令

$sudo apt-get install ssh

离线安装

在网上下载离线包,拷贝到ubuntu中按照离线包中的安装说明在本地进行安装

Hadoop集群安装部署

Hadoop集群安装部署

然后确认sshserver是否启动:

$ps -e | grep ssh

配置ssh的实现思路:

1.在每台机子上都使用ssh-******生成public keyprivate key

2.所有机子的public key都拷到一台机子如master

3.master上生成一个授权key文件authorized_keys

4.最后把authorized_keys拷给所有集群中的机子,就能保证无密码登录

1、先在master上,在当前用户目录下生产公钥、私钥对

执行命令

$ssh-****** -t rsa -P ''

Hadoop集群安装部署

2、导入公钥

执行命令

$cat .ssh/id_rsa.pub >> .ssh/authorized_keys

执行完以后,可以在本机上测试下,用ssh链接自己

执行命令

$ssh master

如果提示要输入密码,查看authorized_keys文件权限,如果是属于其他用户的,需要修改该文件给其他用户权限

 执行命令

$chmod 644  .ssh/authorized_keys

 修改文件权限,然后再测试下ssh master,如果不需要输入密码,就连接成功,表示ok,一台机器已经搞定了。

3、在其他机器上生成公钥、**,并将公钥文件复制到master上

执行命令

slave1:

scp .ssh/id_rsa.pub  [email protected]:/home/user/id_rsa_1.pub

master中,查看下/home/user目录,应该有新文件id_rsa_1.pub

在master上,导入这个**

执行命令

$cat id_rsa_1.pub >> .ssh/authorized_keys

这样master这台机器上,就有2台机器的公钥了

4 将master上的“最全”公钥,复制到其它机器

在master上

执行命令

$scp .ssh/authorized_keys [email protected]:/home/user/.ssh/authorized_keys

5、验证

在每个虚拟机上,均用命令ssh+其他机器的hostname都能正常无密码链接成功

执行命令

$ssh slave1

$ssh master

三、配置hadoop集群

一共配置7个文件

hadoop-2.6.0/etc/hadoop/hadoop-env.sh

hadoop-2.6.0/etc/hadoop/yarn-env.sh

hadoop-2.6.0/etc/hadoop/core-site.xml

hadoop-2.6.0/etc/hadoop/hdfs-site.xml

hadoop-2.6.0/etc/hadoop/mapred-site.xml

hadoop-2.6.0/etc/hadoop/yarn-site.xml

hadoop-2.6.0/etc/hadoop/slaves

首先执行命令

$cd /home/user/hadoop-2.6.0

a)修改hadoop-env.sh 、yarn-env.sh

这二个文件主要是修改JAVA_HOME改成实际本机jdk所在目录位置

执行命令

$gedit etc/hadoop/hadoop-env.sh(及 vietc/hadoop/yarn-env.sh

 打开文件找到下面这行的位置,改成(jdk目录位置,大家根据实际情况修改) 

exportJAVA_HOME=/home/hadoop/jdk_1.7 

hadoop-env.sh中加上这句

exportHADOOP_PREFIX=/home/hadoop/hadoop-2.6.0

b)修改core-site.xml

 参考下面的内容修改:

<?xml version="1.0"encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl"href="configuration.xsl"?>

<configuration>

 <property>

  <name>fs.defaultFS</name>

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

 </property>

 <property>

    <name>hadoop.tmp.dir</name>

    <value>/home/user/tmp</value>

 </property> 

</configuration> 

注:/home/hadoop/tmp目录如不存在,则先mkdir手动创建

core-site.xml的完整参数请参考

http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/core-default.xml

c)修改hdfs-site.xml

参考下面的内容修改:

<?xml version="1.0"encoding="UTF-8"?>

  <?xml-stylesheet type="text/xsl"href="configuration.xsl"?>

  <configuration>

    <property>

       <name>dfs.datanode.ipc.address</name>

       <value>0.0.0.0:50020</value>

    </property>

    <property>

       <name>dfs.datanode.http.address</name>

      <value>0.0.0.0:50075</value>

   </property> 

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/hadoop/data/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hadoop/data/datanode</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>slave1:9001</value>

</property>   

   <property>

      <name>dfs.replication</name>

      <value>1</value>

   </property>

 <property>

  <name>dfs.permissions</name>

    <value>false</value>

 </property>

 </configuration>

hdfs-site.xml的完整参数请参考

http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

d)修改mapred-site.xml

参考下面的内容修改:

<?xmlversion="1.0"?>

<?xml-stylesheet type="text/xsl"href="configuration.xsl"?>

<configuration>

   <property>

      <name>mapreduce.framework.name</name>

      <value>yarn</value>

</property>

<property>

        <name>mapreduce.jobhistory.address</name>

        <value>master:10020</value>

</property>

<property>

        <name>mapreduce.jobhistory.webapp.address</name>

        <value>master:19888</value>

 </property>

 </configuration>

e)修改yarn-site.xml

<?xmlversion="1.0"?>

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property> 

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>master8025</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8040</value>

 </property>

</configuration>

 yarn-site.xml的完整参数请参考

http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

f)修改slaves

执行命令

$vim slaves

编辑该文件,输入

master 

slave1

g)分发到集群的其他机器

hadoop-2.6.0文件夹连同修改后的配置文件,通过scp拷贝到其它2台机器上。

执行命令

$scp -r hadoop-2.6.0/  [email protected]: hadoop-2.6.0

四、测试hadoop配置

在master上启用NameNode测试

执行命令

$hdfs namenode -format#注意是在master上格式化

先格式化

15/02/12 21:29:53 INFO namenode.FSImage: Allocated newBlockPoolId:BP-85825581-192.168.187.102-1423747793784

15/02/12 21:29:53 INFO common.Storage: Storage directory /home/hadoop/tmp/dfs/name has been successfully formatted.

等看到执行信息有has been successfully formatted表示格式化ok

五、启动hadoop集群

执行命令

$start-dfs.sh

$start-yarn.sh

启动完成后,输入jps查看进程

执行命令

$jps

master显示

Hadoop集群安装部署

slave1显示

Hadoop集群安装部署

表示启动成功

将master上的hadoop目录复制到slave1机器上

cd先进入主目录

scp -r hadoop-2.6.0 [email protected]:/home/user/

slave1上的hadoop临时目录(tmp)及数据目录(data),仍然要先手动创建。



相关文章:

  • 2021-09-28
  • 2021-07-23
  • 2021-11-18
  • 2021-11-15
  • 2021-07-05
  • 2021-11-06
  • 2021-04-23
猜你喜欢
  • 2021-05-19
  • 2018-10-16
  • 2021-05-04
  • 2021-08-26
  • 2022-01-02
  • 2021-10-20
相关资源
相似解决方案