一、安装虚拟机java
虚拟机:VMware-workstation 11.0.0 node
操做系统:CentOS-6.5 64位linux
二、安装Xmanagerweb
版本:Xmanager-v5.0.0,完成安装后,使用Xshell链接linux虚拟机,链接成功。shell
往虚拟机里拉文件比较方便,可是当虚拟机网络链接改成桥接模式后变不能使用这个了。apache
三、建立用户组和用户bash
建立用户组:groupadd hadoop网络
添加用户:useradd hadoop -g hadoopapp
四、安装jdkssh
a)安装包:jdk-7u21-linux-i586.tar.gz(不推荐使用rpm格式)
b)解压到/opt文件目录:tar -zxvf jdk-7u21-linux-i586.tar.gz -C /opt
c)更名为java:mv jdk1.7.0_21 java
d)配置环境变量:vi /etc/profile,添加以下内容
export JAVA_HOME=/opt/java
exprot PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
e)使配置文件当即生效:source /etc/profile
f)设置全部者为hadoop:chown -R hadoop:hadoop java/
五、安装Hadoop
a)安装包:hadoop-2.6.3.tar.gz
b)解压到/opt,更名为hadoop
c)设置环境变量:vi /etc/profile,添加以下内容
export HADOOP_HOME=/opt/hadoop export PATH=$HADOOP_HOME/bin:$PATH
d)使配置文件当即生效:source /etc/profile
e)设置全部者为hadoop:chown -R hadoop:hadoop hadoop/
f)在hadoop目录下新建三个文件目录:mkdir name/ ; mkdir data/ ; mkdir tmp/
六、修改地址解析文件/etc/hosts
命令:vi /etc/hosts,添加以下内容
192.168.253.131 master 192.168.253.132 data1 192.168.253.133 data2
七、修改hadoop配置文件
切换到hadoop用户,修改hadoop/etc/hadoop(老版本是hadoop/conf)下的配置文件:
a)hadoop-env.sh和yarn-env.sh
修改:
export JAVA_HOME=/opt/java
b)core-site.xml 在<configuration> </configuration>标签中添加以下内容:
<property> <name>hadoop.tmp.dir</name> <value>file:/opt/hadoop/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.proxyuser.u0.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.u0.groups</name> <value>*</value> </property>
c)hdfs-site.xml 在<configuration></configuration>标签中添加以下内容:
<property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/hadoop/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/hadoop/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>
d)默认只有mared-site.xml.template,复制并命名:cp mared-site.xml.template mared-site.xml
在<configuration></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>
e)yarn-site.xml
在<configuration></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.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:8035</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>
f)配置slaves文件-->>增长slave节点
vi slaves data1 data2
八、克隆
完整克隆出两个虚拟机,改hostname:vi /etc/hostname,分别为master、data1、data2
九、配置虚拟机网络
虚拟机安装后默认的是NAT模式,自动获取ip,本机能上网,虚拟机就能上网。Haoop集群部署,最好是把三个虚拟机设为桥接模式,就须要注意把三个ip设在同一个网段。
因为克隆后的系统,虚拟机只是修改了虚拟机的名字MAC等,并在/etc/udev/rules.d/70-persistent-net.rules文件中增长了一行名为eth1的设备名,
1)vi /etc/udev/rules.d/70-persistent-net.rules 文件
删除掉 关于 eth0 的信息,修改 第二条 eth1 的网卡的名字为 eth0。
2)vi /etc/udev/rules.d/70-persistent-net.rules和/etc/sysconfig/network-scripts/ifcfg-eth0
中的MAC地址要与虚拟机网卡的MAC地址相对应。
3)vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改UUID和IPADDR
到此:在master上ping data1和data2,能ping通,网络就配置好了
十、SSH无密码登陆
1)产生密钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
2)导入authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3)试验看是否安装成功
#查看是否有sshd进程 ps -e | grep ssh
#尝试登陆本地 ssh localhost
4)密钥共享
#以下:hadoop是个人用户名
#进入master的.ssh目录
scp authorized_keys hadoop@data1:~/.ssh/authorized_keys_master
#进入data1的.ssh目录
cat authorized_keys_master >> authorized_keys
scp authorized_keys hadoop@data2:~/.ssh/authorized_keys_master
#进入data2的.ssh目录
cat authorized_keys_master >> authorized_keys
#此时的authorized_keys已经包含了三个虚拟机的密钥,复制给master和data1
scp authorized_keys hadoop@master:~/.ssh/authorized_keys
scp authorized_keys hadoop@data1:~/.ssh/authorized_keys
5)无密码登陆测试
ssh data1
ssh data2
...
十一、配置Hadoop环境变量
export JAVA_HOME=/opt/java export HADOOP_HOME=/opt/hadoop export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin: $HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
前面已经配置过jdk的环境变量,只需再加上hadoop的就行
十二、启动hadoop
hadoop namenode -format
start-all.sh
查看进程:jps
出现错误
-bash: /opt/java/bin/jps: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
yum install glibc.i686
下载失败的话,使用以下方法
配置yum本地 安装缺乏包(适合OEL)
mount /dev/cdrom1 /mnt
cd /etc/yum.repos.d 把里面CentOS开头的(默认的网络下载相关文件)备份到aa(文件夹)
vi /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///mnt/
enabled=1
gpgcheck=0
yum install glibc.i686
做者的话:该文档只是本身尝试搭建hadoop作的一个笔记,有不清楚或者不对的地方还望见谅,若是发现不对的地方,望指明,共同窗习,共同进步。