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用户----------------------
创建用户:
# 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 点击打开链接
有写的不对的地方请指正,谢谢!