前期服务器配置##

  1. 修改/etc/hosts文件,添加以下信息(如果正常IP)

    119.23.163.113 master

    120.79.116.198 slave1

    120.79.116.23 slave2

    如果安全组内的IP,通过ip a方式查询内部IP并添加到/etc/hosts;

  2. 确认三个服务器之间可以互相ping通

  3. 给三个机器生成密钥文件

    1. 三台机器上执行以下命令

      ssh-keygen
    2. 生成公共密钥,先在master服务器上生成,之后复制到其他两个服务器
      1. 以下为正常免密方式
      • touch /root/.ssh/authorized_keys
      • cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
      • vim /root/.ssh/authorized_keys
        • 将其他两个机器的/root/.ssh/id_rsa.pub的内容复制到authorized_keys文件中
      • chmod 600 /root/.ssh/authorized_keys
      • chmod 700 /root/.ssh/
      1. 以下为公司内安全组方式的互相免密方式
      • ssh-copy-id -i ~/.ssh/id_rsa.pub $ip
  4. 解压hadoop\zookeeper\hbase包

  5. 重命名解压后的文件名

    mv hadoop-2.6.0-cdh5.6.0/ hadoop/

    mv hbase-1.0.0-cdh5.6.0/ hbase

    mv zookeeper-3.4.5-cdh5.6.0/ zookeeper

  6. 安装Java环境

    1. 解压包
    2. 配置/etc/profile

      export JAVA_HOME=/opt/cdh/jdk1.8.0_144

      export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/

      export PATH=$PATH:$JAVA_HOME/bin
    3. 使生效 source /etc/profile
    4. 验证 java -version

hadoop分布式部署##

  1. 进入配置文件目录cd hadoop/etc/hadoop/,修改配置文件

    1. vim core-site.xml
	<property>
<name>hadoop.tmp.dir</name>
<value>/opt/cdh/hadoop-env/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
2. vim hadoop-env.sh
export JAVA_HOME=/opt/cdh/jdk1.8.0_144
3. vim hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>/opt/cdh/hadoop-env/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/cdh/hadoop-env/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>true</value>
<description>need not permissions</description>
</property>
4. cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
	<property>
<name>mapred.job.tracker</name>
<value>master:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/opt/cdh/hadoop-env/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5. vim slaves
	slave1
slave2
6. vim yarn-site.xml
   <property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<description>The http address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<description>The https adddress of the RM web application.</description>
<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>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>8182</value>
<discription>每个节点可用内存,单位MB,默认8182MB</discription>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8182</value>
</property>

zookeeper部署##

  1. 进入zookeeper配置目录cd /opt/cdh/zookeeper/conf

    • cp zoo_sample.cfg zoo.cfg
    • vim zoo.cfg
dataDir=/opt/cdh/zookeeper-env
dataLogDir=/opt/cdh/zookeeper-env/logs server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

2.. 配置各服务器zookeeperID

+ 进入每个服务器的dataDir,每个服务器ID不一样比如以下是echo 1,其他的就是echo 2或者echo 3

cd /opt/cdh/zookeeper-env

echo 1 > myid

hbase部署##

  1. 进入hbase配置目录cd /opt/cdh/hbase/conf

    1. vim hbase-env.sh
	export JAVA_HOME=/opt/cdh/jdk1.8.0_144
export HBASE_CLASSPATH=/opt/cdh/hbase/conf
export HBASE_MANAGES_ZK=false #此配置信息,设置由hbase自己管理zookeeper,不需要单独的zookeeper。
export HBASE_HOME=/opt/cdh/hbase
export HADOOP_HOME=/opt/cdh/hadoop
export HBASE_LOG_DIR=/opt/cdh/hbase-env/logs #Hbase日志目录
2. vim hbase-site.xml
   <property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>master:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>slave1,slave2</value>
</property>
3. vim regionservers
	slave1
slave2

启动集群##

  1. 启动hadoop,只在master上启动

    1. /opt/cdh/hadoop/bin/hadoop namenode -format
    2. /opt/cdh/hadoop/sbin/start-all.sh
  2. 启动zookeeper,现在slave服务器启动,再启动master上的zookeeper
    1. /opt/cdh/zookeeper/bin/zkServer.sh start
  3. 启动hbase,只在master启动
    1. /opt/cdh/hbase/bin/start-hbase.sh

hadoop+zookeeper+hbase分布式安装的更多相关文章

  1. hadoop生态圈安装详解(hadoop+zookeeper+hbase+pig+hive)

    -------------------------------------------------------------------* 目录 * I   hadoop分布式安装   * II zoo ...

  2. Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.服务器环境 主机名 IP 用户名 密码 安装目录 master188 192.168.29.188 hadoop hadoop /home/ha ...

  3. 大数据hbase分布式安装及其部署。

    大数据hbase分布式安装及其部署. 首先要启动Hadoop以及zookeeper,可以参考前面发布的文章. 将hbase的包上传至master节点 这里我使用的是1.3.6的版本,具体的根据自己的版 ...

  4. ZooKeeper完全分布式安装与配置

    Apache ZooKeeper是一个为分布式应用所设计开源协调服务,其设计目是为了减轻分布式应用程序所承担的协调任务.可以为用户提供同步.配置管理.分组和命名服务. 1.环境说明 在三台装有cent ...

  5. Hadoop开发第3期---Hadoop的伪分布式安装

    一.准备工作 1. 远程连接工具的安装 PieTTY 是在PuTTY 基础上开发的,改进了Putty 的用户界面,提供了多语种支持.Putty 作为远程连接linux 的工具,支持SSH 和telne ...

  6. zookeeper伪分布式安装

    本文介绍zookeeper伪分布式安装. 所谓 “伪分布式集群” 就是在1台PC中启动多个zookeeper的实例.“完全分布式集群” 是每1台PC启动1个ZooKeeper实例. 由于我的测试环境P ...

  7. Hadoop、Zookeeper、Hbase分布式安装教程

    参考: Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0   Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS ZooKeeper-3.3 ...

  8. mysql 和 hive 和分布式zookeeper和HBASE分布式安装教程

    一,mysql 安装mysql5.7完整教程1. yum -y install mysql-server直接执行语句后等待就好已安装: mysql-community-server.x86_64 0: ...

  9. hadoop +zookeeper + hbase 单节点安装

    项目描述: 今天花了680元买了阿里云的一台内存1G, 带宽1M 的云主机. 想以后方便测试用,而且想把自己的博客签到自己的主机上.所以自己就搭了一个测试的环境. 可以用来进行基本的hbase 入库, ...

随机推荐

  1. EasyUI_DataGrid数据操作

    1.html: <div style="width: 1100px;height: 350px ;overflow: scroll"> <table id=&qu ...

  2. C 中 char、signed char 和 unsigned char 的区别

    C 中 char.signed char 和 unsigned char 的区别 来源:http://bbs.chinaunix.net/thread-889260-1-1.html 参考:https ...

  3. std::list保存大量数据时,类型即是无析构函数,该list析构时会占用大量CPU

    std::list保存大量数据时,类型即是无析构函数,该list析构时会占用大量CPU

  4. JSP中的普通路径写法

    <% String path = request.getContextPath();     String basePath = request.getScheme()+"://&qu ...

  5. java9 新特征

    Java 平台级模块系统 java模块化解决的问题:减少Java应用和Java核心运行时环境的大小与复杂性 模块化的 JAR 文件都包含一个额外的模块描述器.在这个模块描述器中, 对其它模块的依赖是通 ...

  6. Java经典基础与高级面试36题和答案

    1.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实 ...

  7. postgres 表和库等信息大小统计

    一 .数据库大小的统计 1.单个库查询 select pg_database_size('zybdb'); 2.查询所有的库 方法一: select pg_database.datname, pg_s ...

  8. 【死磕 Java 集合】— ConcurrentSkipListMap源码分析

    转自:http://cmsblogs.com/?p=4773 [隐藏目录] 前情提要 简介 存储结构 源码分析 主要内部类 构造方法 添加元素 添加元素举例 删除元素 删除元素举例 查找元素 查找元素 ...

  9. 7.控制计划任务crontab命令

    at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的Linux 系统上面原本就有非常多的计划 性工作,因此这个系统服务是默认 ...

  10. 自动化测试 selenium 测试软件安装

      一.自动化测试优点 1.对程序的回归测试更方便.在程修改的比较平凡的时候,表现的更明显. 2.可以代替测试人员运行更繁琐的测试,也可以代替测试人员不可能完成的操作(比如连续点击50次) 3.更好的 ...