您的位置:首页 > 运维架构

如何配置Hadoop集群?(图片待补充)

2016-12-13 14:10 543 查看
一、    设置固定ip

(1)    重启服务

命令:service networkrestart

(2)    进入  /etc/sysconfig/network-scripts,修改ifcfg-eth0文件

命令:cd  /etc/sysconfig/network-scripts

vi ifcfg-eth0

文件修改如下:

DEVICE=eth0

HWADDR=00:0C:29:F2:9C:A3

TYPE=Ethernet

UUID=a9b1f622-8a95-4caf-b241-436faf17e469

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

 

IPADDR=192.168.128.134

NETMASK=255.255.255.0

GATEWAY=192.168.128.2

DNS1=192.168.128.2

图1  修改ifcfg-eth0文件中的内容

(3)    再次重启服务

命令:service networkrestart

图2  再次重启服务

( 4 )  查看ip

           命令:ifconfig

     是否成功:若IP显示与刚才ifcfg-eth0文件中设置的一致,则IP固定成功

图3 查看IP

附:IP固定好了,连上SSH方便下面操作:

图4  SSH操作界面

二、配置/etc/hosts

(1)  确认自己的hostname,以免出错

         命令:hostname

图5 查看hostname
(2)  修改 /etc/hosts文件内容

命令:vi /etc/hosts

内容修改如下:

192.168.128.134 LiShuangLiShuang.centos.com

 192.168.128.135LiShuang01  LiShuang01.centos.com
 192.168.128.136LiShuang02  LiShuang02.centos.com
192.168.128.137 LiShuang03 LiShuang03.centos.com

图6  修改 /etc/hosts文件内容
 

三、  配置yum源

(1)    进入 /etc/yum.repos.d

命令:cd/etc/yum.repos.d

(2)    删除CentOS-Base.repo   CentOS-Debuginfo.repo   CentOS-fasttrack.repo CentOS-Vault.repo,只留下Centos-Media.repo

命令:rm  -rf CentOS-Base.repoCentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Vault.repo

查看删除是否成功:若ls 后只剩CentOS_Media.repo,则删除成功

图7   删除CentOS-Base.repo    CentOS-Debuginfo.repo  

CentOS-fasttrack.repo    CentOS-Vault.repo

(3)    修改  Centos-Media.repo文件的内容

命令:vi CentOS-Media.repo

内容修改如下:

[c6-media]

name=CentOS-$releasever - Media

baseurl=file:///media/

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

图8 修改Centos-Media.repo文件

(4)    挂载

命令:mount/dev/dvd  /media/

查看是否成功:若ls /media/显示如下所示的文件,则挂载成功

图9  挂载

(5)    更新yum源

命令:yum clean all

图10  更新yum源
(6)    安装软件

命令:yum install –yvim zip openssh-server ntp

命令:yum installopenssh-clients

查看是否成功:

①  安装完成,出现Complete!标识;

②  在母机和克隆机分别输入date ,如果时间显示相同,则ntp配置成功;

ntp作用:使集群时间一致

图11 图12 使用yum源安装ntp

图13  图14  使用yum源安装openssh-clients

 

四、  安装jdk

(1)    上传jdk,

操作:打开SSH,CTRL+ALT+F,弹出文件传输框,把jdk-7u80-linux-x64.rpm上传到/opt上

图15  SSH传输新建文件窗口

(2)    进入/opt目录

命令:cd /opt

是否成功:进入/opt目录,① cd /opt ② ls,若jdk-7u80-linux-x64.rpm存在,则上传成功

图16 jdk上传成功

(3)    安装jdk

命令:rpm -ivh jdk-7u80-linux-x64.rpm

                                      图17 安装jdk

(4)    查看jdk版本

命令:java -version

图18   查看jdk版本

 

五、 hadoop配置

      (1)  上传hadoop-2.6.4.tar.gz到/opt目录

操作:打开SSH-窗口-传输新建文件,上传hadoop-2.6.4.tar.gz到Linux的 /usr/java/jdk1.7.0_80目录

是否成功:查看/usr/java/jdk1.7.0_80/目录下是否有hadoop-2.6.4.tar.gz

命令:cd  /usr/java/jdk1.7.0_80/

cd /opt

ls

图19 图20  查看hadoop是否上传成功

       (2)执行解压缩

              命令: cd  /opt  

                         tar –zxf hadoop-2.6.4.tar.gz –C /usr/local

是否成功:在/usr/local下查看解压后的文件,若hadoop-2.6.4存在,则解压成功

          图21 查看hadoop-2.6.4是否解压成功
(3)  参考hadoop配置,进行配置

①   进入目录:

命令:cd  /usr/local/hadoop-2.6.4/etc/hadoop/

②   依次修改下面的文件:

1.修改core-site.xml文件

命令:vim core-site.xml

添加内容如下:(红色为需修改地方)

<configuration>

<property>

<name>fs.defaultFS</name> 

  <value>hdfs://LiShuang:8020</value> 

  </property> 

<property>

         <name>hadoop.tmp.dir</name>

         <value>/var/log/hadoop/tmp</value>

    </property>

</configuration>

图22 core-site.xml

2.修改 hadoop-env.sh文件

    命令:vim  hadoop-env.sh

添加内容如下:(红色为需修改地方)

export JAVA_HOME=/usr/java/jdk1.7.0_80

图23  hadoop-env.sh

3.修改 hdfs-site.xml文件

命令:vim  hdfs-site.xml

添加内容如下:(红色为需修改地方)

<property>

   <name>dfs.namenode.name.dir</name>

   <value>file:///data/hadoop/hdfs/name</value>

</property>

<property>

   <name>dfs.datanode.data.dir</name>

   <value>file:///data/hadoop/hdfs/data</value>

</property>

<property>

     <name>dfs.namenode.secondary.http-address</name>

     <value>LiShuang:50090</value>

</property>

<property>

     <name>dfs.replication</name>

     <value>3</value>

</property>

图24  hdfs-site.xml

4.修改mapred-site.xml文件

命令:cp mapred-site.xml-template mapred-site.xml

vim mapred-site.xml

添加内容如下:(红色为需修改地方)

<property>

   <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>

 

<!-- jobhistoryproperties -->

<property>

   <name>mapreduce.jobhistory.address</name>

    <value>LiShuang:10020</value>

</property>

 

<property>

    <name>mapreduce.jobhistory.webapp.address</name>

     <value>LiShuang:19888</value>

</property>

图25  mapred-site.xml

5.修改 yarn-site.xml文件

命令:vim  yarn-site.xml

添加内容如下:(红色为需修改地方)

 <property>

    <na
4000
me>yarn.resourcemanager.hostname</name>

    <value>LiShuang</value>

  </property>   

 

  <property>

   <name>yarn.resourcemanager.address</name>

   <value>${yarn.resourcemanager.hostname}:8032</value>

  </property>

 

  <property>

    <name>yarn.resourcemanager.scheduler.address</name>

   <value>${yarn.resourcemanager.hostname}:8030</value>

  </property>

 

  <property>

   <name>yarn.resourcemanager.webapp.address</name>

   <value>${yarn.resourcemanager.hostname}:8088</value>

  </property>

 

  <property>

   <name>yarn.resourcemanager.webapp.https.address</name>

   <value>${yarn.resourcemanager.hostname}:8090</value>

  </property>

 

  <property>

   <name>yarn.resourcemanager.resource-tracker.address</name>

   <value>${yarn.resourcemanager.hostname}:8031</value>

  </property>

 

  <property>

   <name>yarn.resourcemanager.admin.address</name>

   <value>${yarn.resourcemanager.hostname}:8033</value>

  </property>

 

 

  <property>

   <name>yarn.nodemanager.local-dirs</name>

    <value>/data/hadoop/yarn/local</value>

  </property>

 

  <property>

   <name>yarn.log-aggregation-enable</name>

    <value>true</value>

  </property>

 

  <property>

   <name>yarn.nodemanager.remote-app-log-dir</name>

    <value>/data/tmp/logs</value>

  </property>

<property>

 <name>yarn.log.server.url</name>

 <value>http://LiShuang:19888/jobhistory/logs/</value>

 <description>URL for job historyserver</description>

</property>

<property>

  <name>yarn.nodemanager.vmem-check-enabled</name>

    <value>false</value>

  </property>

 <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>

  

图26 图27  yarn-site.xml

6.修改yarn-env.sh文件

     命令:vim yarn-env.sh

                           添加内容如下:(红色为需修改地方)

exportJAVA_HOME=/usr/java/jdk1.7.0_80

图28  yarn-env.sh

7.修改slaves文件

    命令:vim slaves

图29  slaves文件

                  图30 共修改7个文件 (vi第二遍为了检测)

( 4 ) 关机

       命令:poweroff

       目的:关机后才能执行下一步 —— 克隆

         
图31  关机
 

六、克隆LiShuang到LiShuang01、LiShuang02、

LiShuang03

(1)    回到桌面,右键-管理-克隆

 

图32 图33  克隆

(2)    启动LiShuang01

命令:service network restart

(3)    删除 /etc/udev/rules.d/70-persistent-net.rule (其包含复杂的不正确的映射关系,先删掉reboot后会重建)

命令:rm -rf /etc/udev/rules.d/70-persistent-net.rules

(4)  修改ip

命令:cd/etc/sysconfig/network-scripts

vi  ifcfg-eth0   

改动: ①改HWaddr(注:ifconfig -a 可以看到HWaddr的值,替换)

③  IP       ③注释掉UUID开头的行或者删除 (#UUID④改HWaddr)

图34  修改克隆机的IP

(5)  修改机器名

       命令:vim /etc/sysconfig/network

          内容修改如下:

 HOSTNAME=slave1.centos.com

图35 修改机器名

(6)输入reboot

(7)LiShuang02、LiShuang03执行与LiShuang01相同的上述(六、克隆LiShuang到LiShuang01、LiShuang02、LiShuang03)操作

(8)是否成功:在SSH中,在主机中ping子机的IP(ping192.168.128.135),若有返回则子机克隆成功

图36 图37 图38  在主机中ping子机IP
 

七、配置ssh无密码登录(主节点无密码直接登录子节点)

(1)输入命令:ssh-keygen -t rsa,接着按三次Enter键,如下

是否成功: cd /root/.ssh ,若有id_rsa文件,则配置成功

                 (文件路径:/root/.ssh/id_rsa)

(2)修改ip与hostname映射,修改 /etc/hosts(删除所有,只添加下面一行)

192.168.0.128 master

(3)输入命令:ssh-copy-id -i /root/.ssh/id_rsa.pub LiShuang,依次输入yes,123456(root用户的密码)

(1)    输入命令:ssh-copy-id -i /root/.ssh/id_rsa.pub LiShuang01

ssh-copy-id -i /root/.ssh/id_rsa.pub LiShuang02

ssh-copy-id -i /root/.ssh/id_rsa.pub LiShuang03

7.配置ntp局域网

(1)安装ntp 服务

yum install ntp

(2)假设局域网有master、slave1、slave2、slave3 节点,同时ip为192.168.0.0段

(3)在主节点master配置ntp server

       vim /etc/ntp.conf

#注释掉server开头的行,并添加

restrict192.168.0.0 mask 255.255.255.0 nomodify notrap

  server 127.127.1.0

  fudge 127.127.1.0 stratum 10

(4)在从节点配置ntp

vim/etc/ntp.conf

   #注释掉server开头的行,并添加

server master

 

永久关闭防火墙service iptables stop & chkconfig iptables off

(2)    启动

   在master节点执行:service ntpd start &chkconfig ntpd on

 在slave1、slave2、slave3上分别执行  ntpdate LiShuang

在 slave1、slave2、slave3上分别执行 service ntpd start & chkconfig ntpd on

查看所有节点是否同步:

六、格式化namenode

进入目录  /usr/local/hadoop-2.6.4

命令:cd  /usr/local/hadoop-2.6.4

          vi /etc/profile

修改内容如下:

exportHADOOP_HOME=/usr/local/hadoop-2.6.4

exportPATH=$HADOOP_HOME/bin:$PATH:/usr/java/jdk1.7.0_80/bin

 

执行source /etc/profile

执行hdfs namenode -format

七、启动集群

(1)进入目录

cd/usr/local/hadoop-2.6.4/sbin

(2)执行启动

./start-dfs.sh

在浏览器输入http://192.168.128.130:50070

./start-yarn.sh

./mr-jobhistory-daemon.shstart historyserver

在浏览器输入http://192.168.128.130:8088

(3)使用jps,查看进程

HDFS: DataNode、NameNode、SecondaryNameNode

YARN: ResourceManager、NodeManager

JobHistoryServer

(4)修改C:\Windows\System32\drivers\etc, 在文件末尾加入:

192.168.128.134LiShuang LiShuang.centos.com

192.168.128.135LiShuang01 LiShuang01.centos.com

192.168.128.136LiShuang02 LiShuang02.centos.com

192.168.128.137LiShuang03 LiShuang03.centos.com

 

 

#####出错需格式时的格式化路径:/data/hadoop/hdfs/name

1、        把hadoop-eclipse-plugin-2.6.0.jar复制在/dropins

Bin执行命令

Etc /hadoop配置文件

Logs日志文件

2.修改C:\Windows\System32\drivers\etc\hosts文件

在文件的末尾加入:

192.168.128.130 master master.centos.com

192.168.128.131 slave1 slave1.centos.com

192.168.128.132 slave2 slave2.centos.com

192.168.128.133 slave3 slave3.centos.com

 

 

 

 

八、hadop命令

 

1、在、opt下新建一个a.txt文件,并上传到HDFS

2、        运行hadoop jar命令

将本地wordcount.jar文件上传到/opt,并在终端执行

命令:hadoop jar/opt/suibianba_shiyan2.jar demo02.WcDriver /aa.txt /b.txt /lishuang_combiner01true

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: