hadoop集群安装部署

来源:互联网 发布:大数据开发招聘信息 编辑:程序博客网 时间:2024/04/30 09:19
1、准备两台虚拟机,一台做master (主人)另一台做slave(奴隶);新建用户zkpk
2、两台虚拟机配置时钟同步
              crontab -e
              0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
             再运行/usr/sbin/ntpdate cn.pool.ntp.org(同步时间用的)
3、配置主机名两台主机
vim /etc/sysconfig/network
改为
NETWORKING=yes #启动网络 
HOSTNAME=master  #主机名 
hostname master
确实命令生效hostname master
检查是否修改成功,重新打开终端即可;
slave同样;
HOSTNAME=slave  #主机名 
4、配置网络环境setup   slave同配置
(1)ifconfig 看见有ip netmask即可
(2)关闭防火墙set up()slave节点同样操作;
(3)配置hosts列表
     vim /etc/hosts  
    192.168.1.100 master (本地主机ip)
     192.168.1.101 slave (本地主机ip)
(4)检测master和slave是否网络连接正确
ping master
ping slave
5、配置jdk同slave节点
[zkpk@master ~]$ cd /home/zkpk/resources/software/jdk 
[zkpk@master jdk]$ mkdir /usr/java 
[zkpk@master jdk]$ mv ~/resources/software/jdk/jdk-7u71-linux-x64.gz /usr/java/  
[zkpk@master jdk]$ cd /usr/java 
[zkpk@master java]$ tar -xvf /usr/java/jdk-7u71-linux-x64.gz 
配置环境变量
[zkpk@master java 】 vim /home/zkpk/.bash_profile
  添加环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_71/ 
export PATH=$JAVA_HOME/bin:$PATH 
source  /home/zkpk/.bash_profile
java -version查看命令生效出现版本号表示成功
6、免密钥登陆(zkpk)
(1)终端家目录下生成密钥
ssh-keygen -t rsa
ll
会出现id_rsa 和id_rsa.pub把id_rsa.pub发送到slave节点的zkpk家目录下并重命名authorized_  keys
id_rsa.pub的权限为chmod 600 ~/.ssh/id_rsa.pub
在slave节点家目录同样生成密钥
在master节点传送到slave节点
s'cp ~/.ssh/id_rsa.pub  zkpk@slave:~/.ssh/authorized_keys(重命名)
(2)
验证免密钥登陆在master节点上
ssh slave
不用输入密码表示成功
7、Hadoop配置部署(zkpk)
(1)进入hadoop软件包解压
 cd /home/zkpk/resources/software/hadoop/apache 
复制并解压
[zkpk@master apache]$ cp ~//resources/software/hadoop/apache/hadoop-2.5.2.tar.gz ~/  
[zkpk@master apache]$ cd 
[zkpk@master ~]$ tar -xvf ~/hadoop-2.5.2.tar.gz 
[zkpk@master ~]$ cd ~/hadoop-2.5.2  
ll看见如下内容 表示解压成功

(2)配置环境变量hadoop-env.sh 
只要配置jdk
vim /home/zkpk/hadoop-2.5.2/etc/hadoop/hadoop-env.sh 
在文件的靠前的部分找到下面的一行代码: export JAVA_HOME=${JAVA_HOME} 
第3章  CentOS 6 安装 Hadoop    
 35   
将这行代码修改为下面的代码: export JAVA_HOME=/usr/java/jdk1.7.0_71/  
然后保存文件
(3) 配置环境变量 yarn-env.sh 
环境变量文件中,只需要配置 JDK 的路径。 
vim ~/hadoop-2.5.2/etc/hadoop/yarn-env.sh 
在文件的靠前的部分找到下面的一行代码: # export JAVA_HOME=/home/y/libexec/jdk1.6.0/  
将这行代码修改为下面的代码(将#号去掉): export JAVA_HOME=/usr/java/jdk1.7.0_71/ 
保存
(4)
 配置核心组件 core-site.xml 
vim  ~/hadoop-2.5.2/etc/hadoop/core-site.xml 
用下面的代码替换 core-site.xml 中的内容: <?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
<!-- Put site-specific property overrides in this file. -->  
<configuration> 
        <property> 
                <name>fs.defaultFS</name> 
                <value>hdfs://master:9000</value> 
        </property> 
        <property> 
                <name>hadoop.tmp.dir</name> 
                <value>/home/zkpk/hadoopdata</value> 
        </property> 
</configuration> 
(5)配置文件系统 hdfs-site.xml 
使用 gedit 编辑: [zkpk@master hadoop-2.5.2]$ gedit  ~/hadoop-2.5.2/etc/hadoop/hdfs-site.xml
用下面的代码替换 hdfs-site.xml 中的内容: <?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
<!-- Put site-specific property overrides in this file. -->  
<configuration> 
    <property> 
        <name>dfs.replication</name> 
        <value>1</value> 
    </property> 
</configuration>
(6) 配置文件系统 yarn-site.xml 
vim  ~/hadoop-2.5.2/etc/hadoop/yarn-site.xml
用下面的代码替换 yarn-site.xml 中的内容: <?xml version="1.0"?>  
<configuration> 
 <property> 
  <name>yarn.nodemanager.aux-services</name> 
  <value>mapreduce_shuffle</value> 
 </property> 
 <property> 
                <name>yarn.resourcemanager.address</name> 
                <value>master:18040</value> 
        </property> 
 <property> 
                <name>yarn.resourcemanager.scheduler.address</name> 
                <value>master:18030</value> 
        </property> 
 <property> 
                <name>yarn.resourcemanager.resource-tracker.address</name> 
                <value>master:18025</value> 
        </property> 
 <property> 
                <name>yarn.resourcemanager.admin.address</name> 
                <value>master:18141</value> 
        </property> 
 <property> 
                <name>yarn.resourcemanager.webapp.address</name> 
                <value>master:18088</value> 
        </property> 
</configuration> 
(7)配置计算框架 mapred-site.xml 
复制 mapred-site-template.xml 文件: [zkpk@master hadoop-2.5.2]$ cp ~/hadoop-2.5.2/etc/hadoop/mapred-site.xml.template  
~/hadoop-2.5.2/etc/hadoop/mapred-site.xml  
编辑 vim  ~/hadoop-2.5.2/etc/hadoop/mapred-site.xml
用下面的代码替换 mapred-site.xml 中的内容 <?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
<configuration> 
 <property> 
  <name>mapreduce.framework.name</name> 
  <value>yarn</value> 
 </property>  
</configuration> 
(8)在 master 节点配置 slaves 文件 
vim  ~/hadoop-2.5.2/etc/hadoop/slaves 
用下面的代码替换 slaves 中的内容: slave
(9)复制从节点
使用下面的命令将已经配置完成的 Hadoop 复制到从节点 HadoopSlave 上: [zkpk@master hadoop-2.5.2]$ cd 
[zkpk@master ~]$ scp -r hadoop-2.5.2 zkpk@slave:~/  
注意:因为之前已经配置了免密钥登录,这里可以直接远程复制
8、启动hadoop集群(zkpk)
(1) 配置 Hadoop 启动的系统环境变量 slave同
[zkpk@master hadoop-2.5.2]$ cd 
[zkpk@master ~]$ gedit ~/.bash_profile 
将下面的代码追加到.bash_profile 末尾: #HADOOP 
export HADOOP_HOME=/home/zkpk/hadoop-2.5.2 
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 
然后执行命令: [zkpk@master ~]$ source ~/.bash_profile 
(2)slave同该节的配置需要同时在两个节点(HadoopMaster 和 HadoopSlave)上进行操作。  
在 zkpk 的用户主目录下,创建数据目录,命令如下: [zkpk@master ~]$ mkdir /home/zkpk/hadoopdata  
(3)启动hadoop集群
        格式化命令如下,该操作需要在 HadoopMaster 节点上执行: [zkpk@master ~]$ hdfs namenode -format  
看到下图的打印信息表示格式化成功,如果出现 Exception/Error,则表示出问题: 
(2)、启动 Hadoop 
使用 start-all.sh 启动 Hadoop 集群,首先进入 Hadoop 安装主目录,然后执行启动命令: [zkpk@master ~]$ cd ~/hadoop-2.5.2  
[zkpk@master hadoop-2.5.2]$ sbin/start-all.sh 

(3)查看进程是否启动 
在 HadoopMaster 的终端执行 jps 命令,在打印结果中会看到 4 个进程,分别是 ResourceManager、Jps、 NameNode 和 SecondaryNameNode,如下图所示。如果出现了这 4 个进程表示主节点进程启动成功
在 HadoopSlave 的终端执行 jps 命令,在打印结果中会看到 3 个进程,分别是 NodeManager、DataNode 和 Jps,如下图所示。如果出现了这 3 个进程表示从节点进程启动成功。 
(4)、Web UI 查看集群是否成功启动 
在 HadoopMaster 上启动 Firefox 浏览器,在浏览器地址栏中输入输入 http://master:50070/,检查 namenode 和 datanode 是否正常。 

在 HadoopMaster 上启动 Firefox 浏览器,在浏览器地址栏中输入输入 http://master:18088/,检查 Yarn 是否正常,

(5)、运行 PI 实例检查集群是否成功 
cd 
[zkpk@master ~]$ cd ~/hadoop-2.5.2/share/hadoop/mapreduce/ 
[zkpk@master mapreduce]$ hadoop jar 
~/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar pi 10 10  


1 0