• 正确搭建hbase完全分布式集群(一)


    在三台计算机上搭建 zookeeper 并正确运行

    1. 服务器准备

    1.1 服务器规划

    我在 windows 上安装了三台 centos7 虚拟机,分别命名为 centos/test/alpha(随便命名的,不用在意)

    计算机名IP 地址
    centos172.21.92.121
    test172.21.92.120
    alpha172.21.92.116
    ### 1.2 免密登陆

    选取 centos 作为hadoopnamenode,选择centos/test/alpha作为hadoop集群的datanode,并修改各自的/etc/hosts为以下内容

    172.21.92.121	centos
    172.21.92.120	test
    172.21.92.116	alpha
    
    #以centos为namenode,实现免密登录
    ssh-copy-id -i root@0.0.0.0
    ssh-copy-id -i root@test
    ssh-copy-od -i root@alpha
    

    上述搞定后,理论上就搞定了这一步的事儿

    2. hadoop 环境搭建

    2.1 下载 hadoop

    本例中我用到的是hadoop-2.7.7,具体下载地址可以看我自己在博客园上写的东西

    2.2 安装

    默认安装好了java并且配置好了JAVA_HOME环境变量,直接解压到/usr/local目录中,并重命名为hadoop(主要是我觉得这样比较好记-_-)。

    2.3 配置

    hadoop的安装目录添加到环境变量 path 中,如

    #/etc/profile中的最后的内容
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin;
    

    使用sh /etc/profile使环境变量生效

    再修改$HADOOP_HOME/etc/hadoop目录下如下 5 个文件:

    • hadoop-env.sh
    • core-site.xml
    • hdfs-site.xml
    • mapred-site.xml
    • yarn-site.xml
      hadoop-env.sh中主要配置一下JAVA_HOME的绝对路径就行了
      core-site.xml先简单配置如下:
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://centos:9000</value>
        </property>
    </configuration>
    

    hdfs-site.xml配置如下:

    <configuration>
    	<property>
    		<name>dfs.replication</name>
    		<value>3</value>
    	</property>
    </configuration>
    

    mapred-site.xml配置如下:

    <configuration>
    	<property>
    		<name>mapreduce.framework.name</name>
    		<value>yarn</value>
    	</property>
    </configuration>
    

    yarn-site.xml配置如下:

    <configuration>
    	<property>
    		<name>yarn.nodemanager.aux-services</name>
    		<value>mapreduce_shuffle</value>
    	</property>
    </configuration>
    

    2.4 格式化

    配置好hadoop后需要先格式化下子

    hdfs namenode -format
    

    2.5 测试

    本篇稿子是实践后写的,应该不会有问题,有问题再说吧

    3. zookeeper 环境搭建

    3.1 下载

    本例中选用的是zookeeper-3.4.14,可以到清华镜像中下载

    3.2 安装

    安装是很简单了,直接解压缩到/usr/local目录下

    tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local
    # 为方便我记忆,改名成zookeeper
    mv /usr/local/zookeeper-3.4.14 usr/local/zookeeper
    

    3.3 配置

    具体的配置可以参考分布式 Zookeeper 安装搭建详解,我就是这么弄的,我的/conf/zoo.cfg下如下那样儿

    #发送心跳的间隔时间,单位:毫秒
    tickTime=2000
    #zookeeper保存数据的目录
    dataDir=/usr/local/zookeeper/data
    #日志目录
    dataLogDir=/usr/local/zookeeper/dataLog
    #端口
    clientPort=2181
    #leader和follower初始化连接时最长能忍受多少个心跳时间的间隔数
    initLimit=10
    #leader和follower之间发送消息,请求和英达时间长度,最长不能超过多少个tickTime的时间长度
    syncLimit=5
    #zookeeper机器列表,server.order这里的Order依据集群的机器个数依次进行递增,这里的server1、server2、server3表示机器IP地址
    server.1=centos:2888:3888
    server.2=alpha:2888:3888
    server.3=test:2888:3888
    

    PS:上面的 data 目录和 dataLog 目录默认是没有的,需要自己预先建立好。并且真正用户开发环境的配置文件,尽量删除删掉上面的注释,以及多余的空白字符(划重点),有可能会造成 zookeeper 的读取失败
    在上述创建的/usr/local/zookeeper/data文件夹中创建myid文件,其内容填写 1

    3.4 将配置好的 zookeeper 分发到集群所有机器

    分发过程,你懂的,就是scp命令将文件考到其他机子上,再修改各机子上的/usr/local/zookeeper/data/myid文件,与配置文件中的 order 保持一致。

    3.5 测试

    分别在centos/test/alpha执行zkServer.sh start启动zookeeper服务端,再使用zkServer.sh status查看状态,结果如下:

    [root@alpha ~]#
    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
    Mode: follower
    
    [root@test ~]#
    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
    Mode: leader
    
    [root@test ~]#
    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
    Mode: follower
    

    上述结果表明zookeeper启动成功!

  • 相关阅读:
    洛谷 P1087 【FBI树】题解
    CF584D 【Dima and Lisa】题解
    洛谷 P1042 【乒乓球】题解
    洛谷 P2010 【回文日期】题解
    洛谷 P1233 【木棍加工】题解
    STM32嵌入式开发学习笔记(五):中断
    STM32嵌入式开发学习笔记(四):使用滴答计时器实现精准计时
    STM32嵌入式开发学习笔记(三):使用按键控制小灯
    STM32嵌入式开发学习笔记(二):将功能封装为库文件
    STM32嵌入式开发学习笔记(一)
  • 原文地址:https://www.cnblogs.com/hwang126/p/11032656.html
Copyright © 2020-2023  润新知