1,准备工作
1,部署CentOS 7.0(64位)环境;需配置静态IP地址。
1),设置虚拟机网络。
首先打开本机的”打开网络和共享中心”:
选择打开”本地连接”,并点击”属性”,勾选”允许其他网络用户通过此计算机的Internet连接来连接”,从下拉框中选择”VMware Network Adapter VMnet8”:
虚拟机菜单->编辑->虚拟网络编辑:选择WMnet8 (NAT模式)
设置静态IP地址,进入CentOS系统,打开”系统工具”->”设置”->”网络”,选择”手动”,输入IP地址,地址和网关参考上图的子网IP及网关设置。设置完毕之后,再开启就可以发现网络IP地址已经变为设置后的地址。
测试网络是否连通:
2),设置主机名。
在root下,打开/etc/hostname
改为namenode,保存。
2,Hadoop -2.6.0 下载,下载地址:
http://apache.fayea.com/hadoop/common/hadoop-2.6.0/
2,安装Java
1),搜索jdk开发环境
yum search jdk
2),安装jdk
yum install java-1.8.0-openjdk-devel.x86_64
3),检查是否安装成功
java -version
可以看见当前的jdk版本已经是”1.8.0_91”。表示已经安装成功。
3,安装Hadoop
1),将第一步下载的hadoop版本安装包上传至 /usr/local/ 文件夹,并解压。
cd /usr/local
gunzip hadoop-2.6.0.tar.gz
tar -xvf hadoop-2.6.0.tar
2),配置环境
打开 /etc/profile
在文件的最后位置,追加上如下配置:
#set java environment
export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/local/hadoop-2.6.0
export HADOOP_CONF_DIR=/usr/local/hadoop-2.6.0/etc/hadoop
export YARN_CONF_DIR=/usr/local/hadoop-2.6.0/etc/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
3),激活配置
source /etc/profile
4),创建hdfs相关目录
mkdir /home/hadoop/hd_space/tmp -p
mkdir /home/hadoop/hd_space/hdfs/name -p
mkdir /home/hadoop/hd_space/hdfs/data -p
mkdir /home/hadoop/hd_space/mapred/local -p
mkdir -p /home/hadoop/hd_space/mapred/system
chown -R hadoop:hadoop /home/hadoop/hd_space/
chown -R hadoop:hadoop /usr/local/hadoop-2.6.0
4,虚拟机克隆
1),选择菜单栏中的“虚拟机->管理->克隆”。选择”创建完整克隆”。
2),更改虚拟机的网卡
打开克隆虚拟机,“网络适配器”->“高级”如下图:
MAC
datanode1:
HWADDR=00:0C:29:10:EC:78
datanode2:
HWADDR=00:0C:29:10:EC:79
3),更改主机名主机ip配置
分别用root登录克隆的两台机器,打开并编辑/etc/hostname,分别输入 datanode1和datanode2。
打开/etc/sysconfig/network-scripts/ifcfg-eno16777756,修改相关内容:
datanode1:
HWADDR=00:0C:29:10:EC:78 IPADDR=192.168.128.111
datanode2:
HWADDR=00:0C:29:10:EC:79 IPADDR=192.168.128.112
4),重启3台虚拟机。
5,3台虚拟机建立互连
1),root登陆namenode,打开并编辑/etc/hosts,修改内容:
192.168.128.110 namenode
192.168.128.111 datanode1
192.168.128.112 datanode2
2),将修改后的文件,分别拷贝到datanode1和datanode2
在终端执行如下指令:
scp /etc/hosts root@192.168.128.111:/etc/hosts
scp /etc/hosts root@192.168.128.112:/etc/hosts
3),通过SSH建立互连
用hadoop分别登陆namenode、datanode1、datanode2。
ssh-keygen -t rsa 采用默认值3次回车。
在datanode1登录hadoop用户
scp /home/hadoop/.ssh/id_rsa.pub hadoop@namenode:/home/hadoop/.ssh/id_rsa.pub.datanode1
在datanode2登录hadoop用户
scp /home/hadoop/.ssh/id_rsa.pub hadoop@namenode:/home/hadoop/.ssh/id_rsa.pub.datanode2
在namenode登录hadoop用户
cd /home/hadoop/.ssh/
ll
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub.datanode1 >> authorized_keys
cat id_rsa.pub.datanode2 >> authorized_keys
scp ~/.ssh/authorized_keys hadoop@datanode1:/home/hadoop/.ssh/authorized_keys
scp ~/.ssh/authorized_keys hadoop@datanode2:/home/hadoop/.ssh/authorized_keys
chmod 600 /home/hadoop/.ssh/authorized_keys
备注:无密码登陆,需要600权限(三台机器分别执行chmod 600 /home/hadoop/.ssh/authorized_keys )。
4),测试连通:
在namenode上分别执行:
ssh datanode1
ssh datanode2
在datanode1上执行ssh namenode 和 ssh datanode2
在datanode2一样参照上述命令进行验证。
6,Hadoop配置
修改路径 /usr/local/hadoop-2.5.2/etc/hadoop 下的配置文件。
1),编辑hadoop-env.sh
修改JAVA_HOME并保存 ”export JAVA_HOME=/usr/lib/jvm/java”
2),编辑yarn-env.sh
修改 JAVA_HOME并保存 export JAVA_HOME=/usr/lib/jvm/java
3),编辑core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hd_space/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
4),编辑hdfs-site.xml
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hd_space/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hd_space/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>datanode1:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>datanode1:50091</value>
</property>
5),编辑mapred-site.xml
<property>
<name>mapreduce.cluster.local.dir</name>
<value>/home/hadoop/hd_space/mapred/local</value>
</property>
<property>
<name>mapreduce.cluster.system.dir</name>
<value>/home/hadoop/hd_space/mapred/system</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>namenode:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>namenode:19888</value>
</property>
6),编辑yarn-site.xml
<property>
<description>The hostname of the RM.</description>
<name>yarn.resourcemanager.hostname</name>
<value>namenode</value>
</property>
<property>
<description>
the valid service name should only contain a-zA-Z0-9_ and can not start with numbers
</description>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
7),修改slaves
打开/usr/local/hadoop-2.6.0/etc/hadoop/slaves,将里面的localhost改为datanode1和datanode2
8),修改datanode1 和 datanode2的hadoop配置
将namenode修改的配置文件,拷贝到datanode1和datanode2
scp -r /usr/local/hadoop-2.6.0/etc/hadoop hadoop@datanode1:/usr/local/hadoop-2.6.0/etc
scp -r /usr/local/hadoop-2.6.0/etc/hadoop hadoop@datanode2:/usr/local/hadoop-2.6.0/etc
7,启动hadoop
1),格式化 执行命令 hdfs namenode -format。
初次运行,首先要进行格式化(一次就够)
2),启动dfs及yarn
执行如下指令 start-dfs.sh
执行如下指令 start-yarn.sh
或者直接执行 start-all.sh 效果和上述两个命令一样。相应的对应中止命令分别为
stop-dfs.sh
stop-yarn.sh
stop-all.sh
3),前台验证
http://192.168.128.110:50070/dfshealth.jsp
可以看到Live Nodes 个数为2
http://192.168.128.110:8088/cluster
4),检查进程
检查进程 :
5),检查日志文件
/usr/local/hadoop-2.6.0/logs
6),删除日志
rm -rf /usr/local/hadoop-2.6.0/logs/*.*