zoukankan      html  css  js  c++  java
  • Hadoop+Hbase完全分布式安装部署

    软件下载:链接:https://pan.baidu.com/s/1pMHeC0MPsdY3wdVmNji8yg 
    提取码:q2vi 

    1、需要准备3linux x64 服务器,一台作为master2台作为prepare备份机

         master     192.168.213.132
              prepare1  192.168.213.133
              prepare2  192.168.213.134

    2、配置所有机器的hostnamehosts

     [root@master~]: vim /etc/sysconfig/network    

    HOSTNAME=master

    然后prepare1,prepare2服务器修改为

    HOSTNAME=prepare1、HOSTNAME=prepare2 重启后生效

    3、修改3台服务器hosts

        [root@master~]:vi /etc/hosts

                          增加如下内容:

                           192.168.213.132    master 
                 192.168.213.133    prepare1 
                    192.168.213.134    prepare2 

       在prepare1  ,prepare2  上做相同操作

    4、SSH三台机器之间免密码登录

    (1)Linux 默认没有开启ssh无密登录,依次编辑每台服务器上 vi  /etc/ssh/sshd_config,

         去掉以下两行注释,开启Authentication免登陆。

           #RSAAuthentication yes   有些系统是没有,需要手动添加
               #PubkeyAuthentication yes

           如果是root用户下进行操作,

                 还要去掉 #PermitRootLogin yes注释,允许root用户登录。

    分发给两台备份机

    scp -r /etc/ssh/sshd_config root@192.168.213.133:/etc/ssh/sshd_config

    scp -r /etc/ssh/sshd_config root@192.168.213.134:/etc/ssh/sshd_config

    (2)输入命令,ssh-keygen -t rsa,生成key,一直按回车,

       就会在/root/.ssh生成: id_rsa.pub   id_rsa 二个文件,

        这里要说的是,为了各个机器之间的免登陆,在每一台机器上都要进行此操作。

    (3) 接下来,在master服务器,合并公钥到authorized_keys文件,

         进入/root/.ssh目录,需要在master主机上输入以下命令

              cat id_rsa.pub>> authorized_keys    把master公钥合并到authorized_keys 中

           ssh root@192.168.213.133 cat ~/.ssh/id_rsa.pub>> authorized_keys    

           ssh root@192.168.213.134 cat ~/.ssh/id_rsa.pub>> authorized_keys

            以上操作需要输入服务器root密码

           把prepare1  、prepare2  公钥合并到master主服务的 authorized_keys 中

                  完成之后输入命令,把mester 服务器上的authorized_keys文件远程copy到prepare1  和prepare2 之中

          scp ~/.ssh/authorized_keys root@192.168.213.133:/root/.ssh/authorized_keys
          scp ~/.ssh/authorized_keys root@192.168.213.134:/root/.ssh/authorized_keys
         最好在每台机器上进行chmod 600  authorized_keys操作,使当前用户具有 authorized_keys的读写权限。

        拷贝完成后,在每台机器上进行 service sshd restart  操作, 重新启动ssh服务。

    之后在每台机器输入 ssh 192.168.213.134/133/132, 或 ssh master/ssh prepare1/ssh prepare2测试能否无需输入密码连接另外两台机器。 

    5、安装jdk,配置环境变量

    jdk可以去网上自行下载,jdk-8u191-linux-x64.tar.gz

    环境变量如下:

     编辑  vi  /etc/profile 文件,添加如下内容:

        export JAVA_HOME=/usr/local/java/jdk-8u191(填写自己的jdk安装路径)
        export PATH=$PATH:$JAVA_HOME/bin

       输入命令,source /etc/profile  使配置生效

       分别输入命令,java 、 javac 、 java -version,查看jdk环境变量是否配置成功

    分发给两台备份机

    scp -r /usr/local/java/jdk-8u191 root@192.168.213.133:/usr/local/java/jdk-8u191

    scp -r /usr/local/java/jdk-8u191 root@192.168.213.134:/usr/local/java/jdk-8u191

    6、上传hadoop 安装包解压

    修改Hadoop环境变量,HADOOP_HOME、hadoop-env.sh、yarn-env.sh

    (1)配置HADOOP_HOME,编辑  vi  /etc/profile 文件,添加如下内容:

        export HADOOP_HOME=/usr/local/java/hadoop-2.7.3 (Hadoop的安装路径)

        export PATH=$PATH:$HADOOP_HOME/sbin

          export PATH=$PATH:$HADOOP_HOME/bin    

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

     (2)配置hadoop-env.sh、yarn-env.sh,在Hadoop安装目录下

        编辑  vi etc/hadoop/hadoop-env.sh  

         加入export JAVA_HOME=/usr/local/java/jdk-8u191(jdk安装路径)

       编辑  vim etc/hadoop/yarn-env.sh  

         加入export JAVA_HOME=/usr/local/java/jdk-8u191(jdk安装路径)

        保存退出

     配置core-site.xml、hdfs-site.xml、mapred-site.xml、mapred-site.xml

      修改core-site.xml,在Hadoop安装目录下 编辑  vi etc/hadoop/core-site.xml

        <configuration>
          <property> 
            <name>fs.defaultFS</name>
                    <value>hdfs://master:9000</value> 
                </property>
                <property> 
                    <name>hadoop.tmp.dir</name>
                    <value>/usr/local/java/hadoop-2.7.3/temp</value> 
                </property>
        </configuration>

    修改hdfs-site.xml,在Hadoop安装目录下 编辑  vi etc/hadoop/hdfs-site.xml

    <configuration>

          <property> <!--namenode持久存储名字空间及事务日志的本地文件系统路径--> 
            <name>dfs.namenode.name.dir</name> 
            <value>/usr/local/java/hadoop-2.7.3/dfs/name</value> 

             <!--目录无需预先创建,会自动创建-->
          </property> 
          <property>  <!--DataNode存放块数据的本地文件系统路径--> 
            <name>dfs.datanode.data.dir</name>
            <value>/usr/local/java/hadoop-2.7.3/dfs/data</value> 
           </property> 
          <property>  <!--数据需要备份的数量,不能大于集群的机器数量,默认为3-->
            <name>dfs.replication</name>
            <value>2</value> 
          </property>

          <property> 
            <name>dfs.namenode.secondary.http-address</name> 
            <value>master:9001</value> 
          </property>  
          <property>  <!--设置为true,可以在浏览器中IP+port查看--> 
            <name>dfs.webhdfs.enabled</name>
            <value>true</value> 
          </property> 
        </configuration>

    修改mapred-site.xml,在Hadoop安装目录下 编辑  vi etc/hadoop/mapred-site.xml

    <configuration>

       <property> <!--mapreduce运用了yarn框架,设置name为yarn--> 
          <name>mapreduce.framework.name</name> 
          <value>yarn</value> 
        </property> 
        <property> <!--历史服务器,查看Mapreduce作业记录--> 
          <name>mapreduce.jobhistory.address</name> 
          <value>master:10020</value> 
        </property> 
        <property> 
          <name>mapreduce.jobhistory.webapp.address</name> 
          <value>master:19888</value> 
        </property> 
      </configuration>

    修改yarn-site.xml,在Hadoop安装目录下 编辑 vi etc/hadoop/yarn-site.xml

    <configuration>

        <property> <!--NodeManager上运行的附属服务,用于运行mapreduce--> 
          <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> <!--ResourceManager 对客户端暴露的地址--> 
          <name>yarn.resourcemanager.address</name> 
          <value>master:8032</value> 
        </property> 
        <property> <!--ResourceManager 对ApplicationMaster暴露的地址-->  
          <name>yarn.resourcemanager.scheduler.address</name> 
          <value>master:8030</value> 
        </property> 
        <property> <!--ResourceManager 对NodeManager暴露的地址--> 
          <name>yarn.resourcemanager.resource-tracker.address</name>  
          <value>master:8031</value> 
        </property> 
        <property> <!--ResourceManager 对管理员暴露的地址--> 
          <name>yarn.resourcemanager.admin.address</name>   
          <value>master:8033</value> 
        </property> 
        <property> <!--ResourceManager 对外web暴露的地址,可在浏览器查看-->   
          <name>yarn.resourcemanager.webapp.address</name> 
          <value>master:8088</value> 
        </property>
      </configuration>

    7、配置slaves文件

    在Hadoop安装目录下,编辑vim etc/hadoop/slaves,

    删除默认的localhost,加入prepare1 、prepare2,保存退出。

    8、通过远程复制命令scp,mester将服务配置好的Hadoop复制到prepare1 、prepare2对应位置

    scp -r /usr/local/java/hadoop-2.7.3 root@192.168.213.133:/usr/local/java/hadoop-2.7.3

    scp -r /usr/local/java/hadoop-2.7.3 root@192.168.213.134:/usr/local/java/hadoop-2.7.3

    9Hadoop的启动与停止

      1、在Master服务器启动hadoop,从节点会自动启动,进入Hadoop目录下,

         输入命令,bin/hdfs namenode -format进行hdfs格式化

          输入命令,sbin/start-all.sh,进行启动

          也可以分开启动,sbin/start-dfs.sh、sbin/start-yarn.sh

          在master 上输入命令:jps, 看到ResourceManager、

          NameNode、SecondaryNameNode进程

             在prepare1 ,prepare12上输入命令:jps, 看到DataNode、NodeManager进程

          出现这5个进程就表示Hadoop启动成功。

         在浏览器中输入http://192.168.213.132:50070查看master状态(需先停止防火墙),

         输入http://http://192.168.213.132:8088查看集群状态

      2、停止hadoop,进入Hadoop目录下,输入命令:sbin/stop-all.sh,

          即可停止master和prepare集群的Hadoop进程

    10、Hbase安装部署
            首先下载hbase
            http://archive.apache.org/dist/hbase/1.2.6/hbase-1.2.6-bin.tar.gz   
            [root@master~]:tar –zxvf  hbase-1.2.6-bin.tar.gz

    1、在Hadoop配置的基础上,配置环境变量HBASE_HOME、hbase-env.sh

        编辑 vim /etc/profile  加入 

          export  HBASE_HOME=/usr/local/java/hbase-1.2.6 

             export  PATH=$HBASE_HOME/bin:$PATH

        编辑vi /usr/local/java/hbase-1.2.6/conf/hbase-env.sh  加入

          export JAVA_HOME=/usr/local/java/jdk1.8.0_191/(jdk安装路径)

        去掉注释 # export  HBASE_MANAGES_ZK=true,使用hbase自带zookeeper。

       2、配置hbase-site.xml文件 

        <configuration>

          <property> 
            <name>hbase.rootdir</name> <!-- hbase存放数据目录 -->
            <value>hdfs://master:9000/opt/hbase/hbase_db</value>

              <!-- 端口要和Hadoop的fs.defaultFS端口一致-->
          </property> 
          <property> 
            <name>hbase.cluster.distributed</name> <!-- 是否分布式部署 -->
            <value>true</value> 
          </property> 
          <property> 
            <name>hbase.zookeeper.quorum</name> <!-- list of  zookooper -->
            <value>master,prepare1,prepare2</value> 
          </property>     

           <property><!--zookooper配置、日志等的存储位置 -->
              <name>hbase.zookeeper.property.dataDir</name> 
              <value>/opt/hbase/zookeeper</value>
           </property>

        </configuration>

    3、修改regionservers

        编辑 vi /usr/local/java/hbase-1.2.6/conf/regionservers   删除默认的localhost,
         加入prepare1、prepare2,保存退出 

         然后把在master上配置好的hbase,分发到两台备份机上

       scp /usr/local/java/hbase-1.2.6 root@192.168.213.133:/usr/local/java/hbase-1.2.6

       scp /usr/local/java/hbase-1.2.6 root@192.168.213.134:/usr/local/java/hbase-1.2.6

    4、启动与停止Hbase

        1、在Hadoop已经启动成功的基础上,输入start-hbase.sh,过几秒钟便启动完成,

         输入jps命令查看进程是否启动成功,master上出现HMasterHQuormPeer

          prepare1上出现HRegionServer、HQuorumPeer,就是启动成功了。

         2、输入hbase shell 命令 进入hbase命令模式

      输入命令进入 ./hbase shell

  • 相关阅读:
    A1042 Shuffling Machine (20)
    【SSM 4】Mybatis逆向生成工具
    【SSM 4】Mybatis逆向生成工具
    【SSM 3】Mybatis应用,和Hibernate的区别
    【SSM 3】Mybatis应用,和Hibernate的区别
    【SSM 2】spring常用注解
    【SSM 2】spring常用注解
    【SSM 1】SpringMVC、Spring和Struts的区别
    【SSM 1】SpringMVC、Spring和Struts的区别
    【java基础 5】树形结构数据加载的思考
  • 原文地址:https://www.cnblogs.com/ypsy/p/9969286.html
Copyright © 2011-2022 走看看