详细教你在Centos中搭hadoop2.7.3、jdk集群(新手必看),按照教程,就可以轻松搭成

              详细教你在Centos中搭hadoop2.7.3、jdk集群(一)

前提准备:三台创建好的Centos6.5服务器,主机名和ip地址分别为:master:192.168.152.137

                                                                                                        slave1:  192.168.152.138

                                                                                                        slave2:  192.168.152.139

建议修改完系统文件最好reboot(重启),eg:/etc/hosts  /etc/sysconfig/network修改主机名

           history,可以查找之前用过的命令

           $HADOOP_HOME,直接找到hadoop     eg:

一、建好虚拟机后的基本设置(三台虚拟机都做的相同的操作,如下两步)

1.先登陆root用户:useradd ding增加用户     passwd  ding  给ding用户设置密码


2.创建完立刻切换到ding用户,(因为安装集群除了一些配置文件用root其他都是普通用户),cd进入用户目录,再当前目录下创建一个名为app的文件夹:

3.关闭防火墙和SElinux
 查看防火墙的状态:
 chkconfig iptables --list
 chkconfig ip6tables --list
 永久关闭(指的是现在没关闭你重启之后是永久关闭的     我载到了这(写下面这两条别忘了重启)
 chkconfig iptables off

 chkconfig ip6tables off

所以你要立刻关闭防火墙用iptables -F

4.切换到root用户,vim  /etc/hosts增加,如下图的格式,插入,因为下图是我第二遍搭的集群,IP 有点不同

192.168.152.137 master
192.168.152.138 slave1
192.168.152.139 slave2



二、在master配置jdk环境

1.(别忘记切换到普通用户)先将jdk压缩包导入虚拟机中的/home/ding/app目录下(我用这个软件导的文件)(注意在官网下载的时候最好下载。tar.gz结尾的压缩包,.rpm是在root用户下才能用的)


2.[ding@master app]$tar -zxvf jdk-8u171-linux-x64.tar.gz,解压如下

3.用mv更改一下jdk解压包的名字为jdk,并用ln -s 创建一个软连接jdk.soft


4.切换到root用户下,vim /etc/profile,在文件中配置如下信息:

JAVA_HOME=/home/ding/app/jdk.soft
PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME PATH 

5.source  /etc/profile来更新配置文件,再切换ding用户下用java、javac来查看是否环境配置成功,成功后大概如下图所示:


6.当java -version 查看脚本时一般将获得如下信息:但是我装的时1.8.0的版本,所以将系统自带的删去

7.进一步查看JDK信息rpm -qa |grep java 结果如下:

8.用如下命令卸载系统自带的3个jdk    rpm -e  --nodeps

rpm -e --nodeps tzdata-java-2013g-1.el6.noarch

 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

卸载后java -version 效果如下:

三、安装和配置hadoop(hadoop2.7.3)

a.切换到普通用户在安装之前创建如下四个文件,

b.将 进入/home/ding/app/下   chmod -R a+w hadoop,修改一下hadoop权限

 1.切换到普通用户,将安装包加载到/home/ding/app

2.解压hadoop压缩包[ding@master app]$ tar -zxvf hadoop-2.7.3.tar.gz

3.更改解压缩包之后的名字为hadoop,并建立软连接hadoop.soft


4.开始配置hadoop的配置文件,修改7个配置文件(接下来的环节要细心配置)

①先切换到root用户下vim /etc/profile中添加如下信息

HADOOP_HOME=/home/ding/app/hadoop.soft
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

切换到普通用户ding下进入cd  /home/ding/app/hadoop/etc/hadoop/,ls查看配置文件如下:


②修改 vim core-site.xml 文件

<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/ding/app/hadoop.soft/tmp</value>
        <description>Abase for other temporary directories.</description>
  </property>
 <property>
         <name>fs.defaultFS</name>
         <value>hdfs://master:9000</value>
 </property>

③修改vim hadoop-env.sh 文件

# The java implementation to use.
export JAVA_HOME=/home/ding/app/jdk.soft

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/"

④修改vim hdfs-site.xml 文件

<property>
           <name>dfs.namenode.secondary.http-address</name>
           <value>master:50090</value>
</property>
<property>
            <name>dfs.replication</name>
 <value>1</value>
 </property>
 <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/home/ding/app/hadoop.soft/dfs/name</value>
 </property>

 <property>
                      <name>dfs.datanode.data.dir</name>
                     <value>file:/home/ding/app/hadoop.soft/dfs/data</value>
</property>
⑤修改vim yarn-site.xml 文件
 <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>

⑥先cp   mapred-site.xml.template   mapred-site.xml  再修改 mapred-site.xml 文件

<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>
⑦修改vim slaves 文件
slave1
slave2
四、ssh无密码登陆

  从master机器上登录连接slave1   或者slave2 

保证:机器之间可以ping通 

我们先连接一下slave1节点   ssh [email protected]退出用exit


1.获取密钥ssh-keygen  -t   rsa,一路回车下去,下图为产生密钥完成


可以去/home/ding目录下ls -a查看到.ssh文件的生成,cd  .ssh就会看到密钥

2.cp id_rsa.pub   authorized_keys,将公钥复制到authorized_keys文件中此时 ssh localhost就不需要密码了


3.我们需要将3个节点上创建文件.ssh在/home/ding目录下,并授权chmod 700 .ssh


4. 用超级复制 将master的公钥复制到slave1、slave2节点的.ssh文件上,

scp -r authorized_keys 192.168.152.139:/home/ding/.ssh/

scp -r authorized_keys 192.168.152.138:/home/ding/.ssh/
(authorized_keys,是系统自动调取的文件)

ssh 192.168.152.138,登陆的时候就不用密码了

机器之间相互连接一下

5.之前编辑的vim /etc/hosts,目的是ip地址和主机名可以转换了

6.如果你想多台主机相互无密码登陆你可以将其他文件的公钥追加到authorized_keys,cat  authorized_keys >>192.168.152.137:/home/ding/.ssh

五、将jdk、hadoop复制到slave1、slave2中

1.复制jdk:scp -r  jdk  192.168.152.138:/home/ding/app

           scp -r  hadoop 192.168.152.138:/home/ding/app

2.在slave1、slave2中不需要配置hadoop的6个环境配置,他们都只需要配置jdk、hadoop 的/etc/profile就可以(我栽到这了)vim  /etc/profile

#jdk环境配置
JAVA_HOME=/home/ding/app/jdk.soft
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH 
#hadoop环境配置
HADOOP_HOME=/home/ding/app/hadoop.soft
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

3.在slave1、slave2中分别切换到root用户下,执行source /etc/profile,将文件进行更新(source只是针对当前界面好用,另外再开一个虚拟机得重启才可以更新修改过的配置文件)

六、格式化文件系统

hdfs namenode -format //创建应用目录存数据

七、start-all.sh开启hadoop所有服务,如下图就成功了


查看jps

在浏览器上输入master主机的IP地址如:http://192.168.152.137:50090会出现类似下图的界面


master主机ip地址:50070



master主机ip地址:8088

























猜你喜欢

转载自blog.csdn.net/Aime123456789/article/details/80350852