文档章节

ZK Hadoop Hive 集群搭建

 奔跑的青蛙
发布于 2017/08/11 08:31
字数 879
阅读 1
收藏 0
点赞 0
评论 0

修改主机名
hostnamectl set-hostname servername

SSH免密登录
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 0600 ~/.ssh/authorized_keys


配置环境变量
    export JAVA_HOME=/opt/jdk
    export HIVE_HOME=/opt/hive
    export HADOOP_HOME=/opt/hadoop
    export ZOOKEEPER_HOME=/opt/zookeeper
 export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$HIVE_HOME/bin:$PATH
    
zoo.cfg
    ticktickTime=2000
    initLimit=10
    syncLimit=5
    clientPort=2181
    dataDir=/opt/zookeeper/data
    dataLogDir=/opt/zookeeper/logs  
    server.1=n103:2888:3888    
    server.2=n104:2888:3888    
    server.3=n105:2888:3888  
在dataDir下创建myid文件    

修改hadoop-env.sh export JAVA_HOME=/opt/jdk
    
core-site.html    
    <configuration>  
        <!-- 指定hdfs的nameservice为cluster -->  
        <property>  
            <name>fs.defaultFS</name>  
            <value>hdfs://cluster/</value>  
        </property>  
        <!-- 指定hadoop临时目录 -->  
        <property>  
            <name>hadoop.tmp.dir</name>  
            <value>/opt/workspace/hadoop/tmp</value>  
        </property>  
        <!-- 指定zookeeper地址 -->  
        <property>  
            <name>ha.zookeeper.quorum</name>  
            <value>N103:2181,N104:2181,N105:2181</value>  
        </property>  
    </configuration>

hdfs-site.xml
    <configuration>  
        <!--指定hdfs的nameservice为cluster,需要和core-site.xml中的保持一致 -->  
        <property>  
            <name>dfs.nameservices</name>  
            <value>cluster</value>  
        </property>  
        <!-- cluster下面有两个NameNode,分别是n101,n102 -->  
        <property>  
            <name>dfs.ha.namenodes.cluster</name>  
            <value>N101,N102</value>  
        </property>  
        <!-- n101的RPC通信地址 -->  
        <property>  
            <name>dfs.namenode.rpc-address.cluster.N101</name>  
            <value>N101:9000</value>  
        </property>  
        <!-- n101的http通信地址 -->  
        <property>  
            <name>dfs.namenode.http-address.cluster.N101</name>  
            <value>N101:50070</value>  
        </property>  
        <!-- n102的RPC通信地址 -->  
        <property>  
            <name>dfs.namenode.rpc-address.cluster.N102</name>  
            <value>N102:9000</value>  
        </property>  
        <!-- n102的http通信地址 -->  
        <property>  
            <name>dfs.namenode.http-address.cluster.N102</name>  
            <value>N102:50070</value>  
        </property>  
        <!-- 指定NameNode的元数据在JournalNode上的存放位置 -->  
        <property>  
            <name>dfs.namenode.shared.edits.dir</name>  
            <value>qjournal://N103:8485;N104:8485;N105:8485/cluster</value>  
        </property>  
        <!-- 指定JournalNode在本地磁盘存放数据的位置 -->  
        <property>  
            <name>dfs.journalnode.edits.dir</name>  
            <value>/opt/workspace/hadoop/journaldata</value>  
        </property>  
        <!-- 开启NameNode失败自动切换 -->  
        <property>  
            <name>dfs.ha.automatic-failover.enabled</name>  
            <value>true</value>  
        </property>  
        <!-- 配置失败自动切换实现方式 -->  
        <property>  
            <name>dfs.client.failover.proxy.provider.cluster</name>  
            <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>  
        </property>  
        <!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行-->  
        <property>  
            <name>dfs.ha.fencing.methods</name>  
            <value>sshfence</value>  
        </property>  
        <!-- 使用sshfence隔离机制时需要ssh免登陆 -->  
        <property>  
            <name>dfs.ha.fencing.ssh.private-key-files</name>  
            <value>/opt/.ssh/id_rsa</value>  
        </property>  
        <!-- 配置sshfence隔离机制超时时间 -->  
        <property>  
            <name>dfs.ha.fencing.ssh.connect-timeout</name>  
            <value>30000</value>  
        </property>
        <property>      
            <name>dfs.namenode.name.dir</name>      
            <value>file:///opt/workspace/hadoop/name</value>      
        </property>      
          
        <property>      
            <name>dfs.datanode.data.dir</name>      
            <value>file:///opt/workspace/hadoop/data</value>      
        </property>      
        <property>      
           <name>dfs.replication</name>      
           <value>3</value>      
        </property>    
    </configuration>  
    
yarn-site.xml
    <configuration>  
        <!-- 开启RM高可用 -->  
        <property>  
           <name>yarn.resourcemanager.ha.enabled</name>  
           <value>true</value>  
        </property>  
        <!-- 指定RM的cluster id -->  
        <property>  
           <name>yarn.resourcemanager.cluster-id</name>  
           <value>yrc</value>  
        </property>  
        <!-- 指定RM的名字 -->  
        <property>  
           <name>yarn.resourcemanager.ha.rm-ids</name>  
           <value>rm1,rm2</value>  
        </property>  
        <!-- 分别指定RM的地址 -->  
        <property>  
           <name>yarn.resourcemanager.hostname.rm1</name>  
           <value>N101</value>  
        </property>  
        <property>  
           <name>yarn.resourcemanager.hostname.rm2</name>  
           <value>N102</value>  
        </property>  
        <!-- 指定zk集群地址 -->  
        <property>  
           <name>yarn.resourcemanager.zk-address</name>  
           <value>N103:2181,N104:2181,N105:2181</value>  
        </property>  
        <property>  
           <name>yarn.nodemanager.aux-services</name>  
           <value>mapreduce_shuffle</value>  
        </property>  
    </configuration>

mapred-site.xml
    <configuration>
     <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      <property>
              <name>mapreduce.jobhistory.address</name>
              <value>N101:10020</value>
      </property>
      <property>
              <name>mapreduce.jobhistory.address</name>
              <value>N101:19888</value>
      </property>
    </configuration>
    
在所有zookeeper上执行 zkServer.sh start
在所有journalnode上执行 hadoop-daemons.sh start journalnode
在一台namenode上执行 hdfs namenode -format 然后执行 hadoop-daemon.sh start namenode 
在另一台namenode上执行 hdfs namenode -bootstrapStandby
在一台namenode上执行 hdfs zkfc -formatZK
在一台namenode上执行 start-dfs.sh

安装mysql yum install mysql-server 
    systemctl enable mysql 添加服务
    systemctl start mysql    启动
    systemctl stop mysql    停止
    systemctl restart mysql    重启
    grant all privileges on *.* to root@'%'  identified by 'root' with grant option;
    use mysql;
    delete from user where host != '%';
    flush privileges;
    create database hive;

修改hive-env.sh
    export JAVA_HOME=/opt/jdk
    将mysql驱动包放到HIVE_HOME/lib
    替换HADOOP_HOME/share/hadoop/yarn/lib/jline-x.x.x.jar
    
hive-config.sh
    export JAVA_HOME=/opt/jdk
    export HADOOP_HOME=/opt/hadoop

hive-site.xml 服务端
    <configuration>
        <property>
            <name>hive.metastore.warehouse.dir</name>
            <value>/hive</value>
        </property>
        <property>
            <name>hive.metastore.local</name>
            <value>true</value>
        </property>
        <property>  
           <name>hive.metastore.schema.verification</name>  
           <value>false</value>  
        </property> 
        <property> 
           <name>javax.jdo.option.ConnectionURL</name> 
           <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value> 
        </property> 
        <property> 
           <name>javax.jdo.option.ConnectionDriverName</name> 
           <value>com.mysql.jdbc.Driver</value> 
        </property>
        <property> 
           <name>javax.jdo.option.ConnectionUserName</name> 
           <value>root</value> 
        </property> 
        <property> 
           <name>javax.jdo.option.ConnectionPassword</name> 
           <value>root</value> 
        </property> 
    </configuration>
    
    hive --service metastore
    
hive-site.xml 客户端
    <configuration>
        <property>
            <name>hive.metastore.warehouse.dir</name>
            <value>/hive</value>
        </property>
        <property>
            <name>hive.metastore.local</name>
            <value>true</value>
        </property>
        <property>
            <name>hive.metastore.uris</name>
            <value>thrift://N102:9083</value>
        </property>
        
    </configuration>


ss -lnp|grep 2181 查看端口

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 1
码字总数 879
作品 0
长春
程序员
ZooKeeper一二事 - 搭建ZooKeeper伪分布式及正式集群 提供集群服务

集群真是好好玩,最近一段时间天天搞集群,redis缓存服务集群啦,solr搜索服务集群啦,,,巴拉巴拉 今天说说zookeeper,之前搭建了一个redis集群,用了6台机子,有些朋友电脑跑步起来,有点...

风间影月
2016/05/02
0
0
大数据学习系列之五 ----- Hive整合HBase图文详解

  引言   在上一篇大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)和之前的大数据学习系列之二 ----- HBase环境搭建(单机)中成功搭建了Hive和HBase的环境,并进行了相应的测...

大数据头条
2017/12/19
0
0
Hive从入门到实战视频教程【40讲全】

1、Hive是什么,Hive的体系结构,Hive和Hadoop的关系 2、Hive的元数据存储、Hive的数据存储、Hive和RDBMS的区别 3、JDK安装 4、Hadoop集群搭建-1 5、Hadoop集群搭建-2 6、Hadoop集群搭建-3 ...

tom先生
2014/11/26
48
0
hbase高可用集群部署(cdh)

一、概要 本文记录hbase高可用集群部署过程,在部署hbase之前需要事先部署好hadoop集群,因为hbase的数据需要存放在hdfs上,hadoop集群的部署后续会有一篇文章记录,本文假设hadoop集群已经部...

navyaijm2012
2017/05/10
0
0
面试问题

358、你们的集群规模? 开发集群:10台(8台可用)8核cpu 359、你们的数据是用什么导入到数据库的?导入到什么数据库? 处理之前的导入:通过hadoop命令导入到hdfs文件系统 处理完成之后的导...

HIVE
2016/07/05
464
2
视频jourk--hadoop2.x介绍与安装

一、 hadoop介绍 1.hadoop的由来:(google三篇论文) (2003)GFS --> HDFS (2004)MapReduce --> MapReduce (2006)BigTable --> HBase(Hadoop DataBase) 2.hadoop的著名案例 Facebook : HiveQ......

一枚Sir
2014/08/14
0
0
hadoop2.x常用端口、定义方法及默认端口、hadoop1.X端口对比

问题导读: 1.DataNode的http服务的端口、ipc服务的端口分别是哪个? 2.NameNode的http服务的端口、ipc服务的端口分别是哪个? 3.journalnode的http服务的端口、ipc服务的端口分别是哪个? ...

我的代码不生虫
2017/10/19
0
0
hbase 集群环境搭建

一、首先要装好zookeeper集群和hadoop集群 具体安装参考 1、hadoop集群环境搭建 https://my.oschina.net/xiaozhou18/blog/787902 2、zookeeper集群环境搭建 https://my.oschina.net/xiaozho...

xiaozhou18
2016/12/02
35
0
ZooKeeper安装配置

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运...

jiejie2050
2016/11/11
28
0
基于Flume+Kafka+Spark-Streaming的实时流式处理完整流程

基于Flume+Kafka+Spark-Streaming的实时流式处理完整流程 1、环境准备,四台测试服务器 spark集群三台,spark1,spark2,spark3 kafka集群三台,spark1,spark2,spark3 zookeeper集群三台,spa...

闪电
2016/06/28
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c++ qt 组播总结

每个人都有不同的认知规律和习惯, 有的人喜欢搞一套严密的大理论, 论述起来滔滔不绝, 不管自己懂不懂, 反正读者/听者是没搞懂。 有的人喜欢从实践出发, 没看到代码, 不运行一下, 不看...

backtrackx
12分钟前
0
0
Sublime text2安装json格式化插件SublimePrettyJson[Windows]

一、下载SublimePrettyJson插件包 https://github.com/dzhibas/SublimePrettyJson 二、将下载的文件解压放到在package目录下面 C:\Users\lucky\AppData\Roaming\Sublime Text 3\Packages 每个......

lazy~
12分钟前
0
0
安装vue-cli 报4058错误

1. 4058是网络代理错误。 安装淘宝源修改一下就可以了: npm --registry https://registry.npm.taobao.org info underscore 改为cnpm执行: cnpm install --global vue-cli 安装成功: 试试版...

MrBoyce
13分钟前
0
0
CPU飙升分析

1、top -----看具体的进程 2、top -H -p pid ------该进程的线程 3、printf 0x%x 15248 ------将线程改为16进制 4、jstack 进程...

北极之北
16分钟前
1
0
新生代Eden与两个Survivor区的解释

聊聊JVM的年轻代 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我...

浮躁的码农
17分钟前
0
0
【JVM】JSTATD结合Java VisualVM进行远程监控JVM运行情况(二)

内存泄露指的是程序中动态分配内存给一些临时对象,但是对象不会被GC(java垃圾回收机制gabage collection)所回收,它始终占用内存。即被分配的对象很大但已无用; 内存溢出指的是程序运行过...

大白来袭
21分钟前
2
0
聊聊ribbon的超时时间设置

序 本文主要研究一下ribbon的超时时间设置 配置 实例 ribbon: ReadTimeout: 10000 ConnectTimeout: 10000 MaxAutoRetries: 0 MaxAutoRetriesNextServer: 1 eureka: enabled: ......

go4it
29分钟前
0
0
一行代码结果叹为观止,能做到这么极致的也只有python了

Python 这门语言非常的有趣,不仅可以做高大上的人工智能、大数据、机器学习。还可以用来做 Web、爬虫。还有其它很多的应用。今天我就给大家展示下一行 Python 代码都可以做些什么。 一行打印...

猫咪编程
33分钟前
2
0
KingShard使用

对于kingshard的功能,在git中可以看到明确的功能说明 主要功能: 1. 基础功能 支持SQL读写分离。 支持透明的MySQL连接池,不必每次新建连接。 支持平滑上线DB或下线DB,前端应用无感知。 支...

mickelfeng
35分钟前
0
0
Linux 下 查找某个字符串

如果你想在当前项目下 查找 "test" 这个字符串,可以这样: grep -rn "test" * * : 表示当前目录所有文件,也可以是某个文件名-r 是递归查找-n 是显示行号-R ...

nsns
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部