CentOS7下hadoop2.6.0分布式部署

1.事先要准备好的:

hadoop-2.6.0.tar.gz  hadoop下载地址 http://apache.fayea.com/hadoop/common/stable/

(1)创建hadoop用户

(2)设置静态ip地址

(3)修改host名称

(4)ssh无密码登陆配置

(5)hadoop配置


----------------------创建hadoop用户----------------------

在master、slave1、slave2三台机器上都创建一样的hadoop用户

创建用户:

# useradd hadoop

修改密码:

# passwd hadoop


----------------------设置静态ip地址----------------------

修改文件:

# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

插入:

BOOTPROTO="static"
ONBOOT="yes"
IPADDR0="192.168.1.128"
PREFIX0="255.255.255.0"
GATEWAY0="192.168.1.1"
DNS1="61.147.37.1"
DNS2="101.226.4.6"

以上是在master上面设置的静态ip地址,在slave1和slave2上把IPADDR0分别设置为

IPADDR0="192.168.1.129"                    IPADDR0="192.168.1.130"


----------------------修改host名称----------------------

# vim /etc/hosts

插入:

192.168.1.128   master

192.168.1.129   slave1

192.168.1.130   slave2

保存好之后:

# hostnamectl set-hostname master

在slave1和slave2上分别设置为

# hostnamectl set-hostname slave1

# hostnamectl set-hostname slave2


----------------------ssh无密码登陆配置----------------------

为了方便,选择永久关闭防火墙:

# systemctl disable firewalld.service

在master上面进行操作:

切换到hadoop用户:

# su hadoop

生成密码对:

$ ssh-keygen -t rsa -P ''     

如果有提示,按Enter键就行。

进入.ssh文件夹查看一下密码对是否生成:

$ cd ~/.ssh

$ ls -l

如果有id_rsa(私钥) 还有id_rsa.pub(公钥)说明已经生成,则把公钥追加到authorized_keys:

$ cat id_rsa.pub >> authorized_keys

修改权限:

$ chmod 600 authorized_keys

切换到root用户并且修改配置文件:

$ su

# vim /etc/ssh/sshd_config

插入并保存:

RSAAuthentication yes #启用rsa认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式

AuthorizedKeysFile      .ssh/authorized_keys #公钥文件路径

把公钥复制到slave1和slave2上:

$ su

# scp ~/.ssh/id_rsa.pub hadoop@192.168.1.129:~/ 

# scp ~/.ssh/id_rsa.pub hadoop@192.168.1.130:~/


在slave1上面进行操作(slave2同理):

切换hadoop用户并且创建.ssh的文件夹:

#su hadoop

$ mkdir ~/.ssh

$ chmod 700 ~/.ssh

追加公钥:

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

$ chmod 600 ~/.ssh/authorized_keys

切换到root用户并且修改配置文件:

$ su

# vim /etc/ssh/sshd_config

插入并保存:

RSAAuthentication yes #启用rsa认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式

AuthorizedKeysFile      .ssh/authorized_keys #公钥文件路径

到此,ssh无密码登录算是配置好了。为了测试是否成功,可以在master上面尝试一下:

# ssh localhost

# ssh  slave1

# ssh  slave2

只有第一次登录的时候需要密码,以后都可以不用密码。

退出ssh无密码登录可以输入:

# exit

如果每次登录都需要密码的,可能是哪里没有配置好,可以把~/.ssh文件夹删除,然后重新配置一遍。


----------------------hadoop配置----------------------

把hadoop-2.6.0.tar.gz放在/home/hadoop目录下解压

# su hadoop

$ tar zxvf hadoop-2.6.0.tar.gz

修改profile:

$ su

# vim /etc/profile

插入:

export HADOOP_HOME=/home/hadoop/hadoop-2.6.0

export PATH=$PATH:$HADOOP_HOME/bin

使profile生效:

# source /etc/profile

建立dfs的name和data文件夹,以及tmp文件夹:

$ su hadoop

$ mkdir -p dfs/name

$ mkdir -p dfs/data

$ mkdir -p tmp

配置slave节点:

$ cd etc/hadoop

$ vim slaves

插入:

slave1

slave2

修改以下几个文件:

1.hadoop-env.sh

$ vim hadoop-env.sh

export JAVA_HOME=/usr/java/jdk-1.8.0_25

2.yarn-env.sh

$ vim yarn-env.sh

export JAVA_HOME=/usr/java/jdk-1.8.0_25

3.core-site.xml

$ vim core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop-2.6.0/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value></value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value></value>
</property>
</configuration>

4.hdfs-site.xml

$ vim hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-2.6.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-2.6.0/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

5.mapred-site.xml

该文件夹中并没有mapred-site.xml,需要从模板中复制一份xml文件出来再修改:

$ cp mapred-site.xml.template mapred-site.xml

$ vim mapred-site.xml

<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>

6.yarn-site.xml

$ vim yarn-site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property>
</co:nfiguration>

修改完以上几个文件,就可以格式化namenode

$ cd /home/hadoop/hadoop-2.6.0

$ ./bin/hdfs namenode -format

然后是启动:

$ ./sbin/start-all.sh

启动完毕,可以到http://192.168.1.128:8080查看

还有可以到http://192.168.1.128:50070查看live node个数



本文主要参考http://www.07net01.com/2014/09/123622.html  点击打开链接

有写的不对的地方请指正,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值