网上相关教程良莠不齐,本人小白吐血力作,希望对您有帮助。
centos6.7+hadoop2.6.4+jdk1.7.0_45+vmware
1、centos虚拟环境配置:
<1>先将虚拟机的网络模式选为NAT;
<2>vmware下安装centos6.7,选择“稍后安装操作系统”,此时记住选择网络模式为NAT8;
<3>安装成功后,修改主机名:
vi /etc/sysconfig/network:
NETWORKING=yes
HOSTNAME=自定义主机名
<4>修改IP
两种方式:
第一种:通过Linux图形界面进行修改:
第二种:修改配置文件方式:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改:BOOTPROTO=static
添加:IPADDR=192.168.137.101
NETMASK=255.255.255.0
GATEWAY=192.168.137.2
注意:虚拟机ip地址、网关等配置(可联网):
a>将本地以太网与vmware NAT8共享,此时电脑会自动分配一个ip地址,例如您电脑共享后分配的ip地址是192.168.137.1,子网掩码是255.255.255.0;
b>在vmware中将NAT模式设置如图1-1(一般设置子网IP和共享的NAT8的IP地址在同一个网段,然后vmware会自动分配网关IP):
c>虚拟机ip地址应和vmware的子网IP在同一个网段,并且不和本地共享的ip相同。虚拟机的网关和DNS与vmware的网关地址相同。
<5>修改主机名和IP的映射关系
vim /etc/hosts
192.168.137.101 master
192.168.137.102 slaveone
192.168.137.103 slavetwo
<6>关闭防火墙
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#关闭防火墙开机启动
chkconfig iptables off
#查看防火墙开机启动状态
chkconfig iptables --list
<7>添加用户,例如hadoop用户,修改sudo权限:
添加用户:useradd:hadoop passwd:xxxx
修改sudo权限:vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
<8>可选:关闭linux服务器的图形界面:
vi /etc/inittab
<10>配置ssh无密钥登陆
a>进入到我的home目录,cd .ssh目录下
b>ssh-keygen -t rsa (四个回车):
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
c>将公钥拷贝到要免密登陆的目标机器上:
例如,在.ssh目录下:scp id_rsa.pub 主机名或地址:/home/hadoop
d>在目标机器下追加公钥:
在.ssh目录下创建authorized_keys文件:touch authorized_keys
在.ssh目录下修改authorized_keys的权限:chmod 600 authorized_keys
在.ssh目录下执行:cat id_rsa.pub >> authorized_keys
<9>重启Linux:reboot
<9>子节点做以上重复操作
2、一般情况下,我们都要将linux自带的OPENJDK卸载掉,然后安装SUN的JDK;
1)首先:查看Linux自带的JDK是否已安装:
<1># java -version:查看自带版本
<2># rpm -qa|grep java:查看jdk的信息
一般将获得如下信息:java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
<3># yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 // 卸载
yum -y remove java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
3、安装SUN的JDK,配置环境变量(vim /etc/proflie),执行(source /etc/profile),最后测试java是否安装成功,子节点远程copy主节点jdk到相应目录下;
4、安装hadoop2.6.4,配置环境变量(vim /etc/proflie),执行(source /etc/profile),最后测试hadoop是否安装成功;
3,4配置好后的profile如下:
export JAVA_HOME=/usr/local/jdk1.7.0_45
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
5、配置集群/分布式环境
首先创建三个目录:/home/hadoop/apps/hadoop-2.6.4/data/tmp
/home/hadoop/apps/hadoop-2.6.4/data/data
/home/hadoop/apps/hadoop-2.6.4/data/name
并修改data和data目录下的data tmp name四个目录的权限为777
在hadoop目录下:
<1>hadoop-env.sh
<2>core-site.xml
<3>hdfs-site.xml
<4>mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
<5>yarn-site.xml
<6>修改/home/hadoop/app/hadoop-2.5.2/etc/hadoop下得slaves文件:
vi slaves
添加子节点主机名,例如slaveone,slavetwo
<7>子节点远程copy主节点hadoop到相应目录下,并做好配置环境变量(vim /etc/proflie)和执行(source /etc/profile)生效。
6、启动hadoop集群环境
<1>格式化hdfs:hadoop namenode -format
<2>start-all.sh
<3>检查节点jps是否生效
主节点jps进程:
子节点jps进程: