• hdoop、hive、hbase部署


    HADOOP

    wmware pro 15.5

    CentOS-7-x86_64-DVD-2009.is

    jdk1.8.0_191

    hadoop-2.10.1

    安装依赖

    • 虚拟机软件

    wmware pro 15.5

    • 操作系统

    CentOS-7-x86_64-DVD-2009.iso

    ​ 1.使用ifconfig命令无效

    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    
    Onboot=yes  开启自启用网卡
    BOOTPROTO=static	静态获取ip地址  
    IPADDR=192.168.204.66  ip地址
    NETMASK=255.255.255.0  掩码
    GATEWAY=192.168.151.2	 网关地址,在虚拟网络编辑器中找
    DNS1=114.114.114.114  DNS服务器
    #注释掉uuid
    
    service network restart
    yum install net-tools
    再执行ifconfig验证ip
    
    • 配置ssh免密登录,见(linux配置文件)

    • 安装jdk

      #1.解压
      #2. /etc/profile
      export JAVA_HOME=/opt/java/jdk1.8.0_191
      export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib
      export PATH=$PATH:$JAVA_HOME/bin
      

    配置文件

    配置hadoop环境变量

    vi /etc/profile

    export HADOOP_HOME=/opt/hdp/hadoop-2.10.1
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    

    hadoop-env.sh 设置JAVA_HOME

    yarn-env.sh 设置JAVA_HOME

    core-site.xml 指定nameNode地址

    hdfs-site.xml 指定数据文件存放路径

    mapred-site.xml 指定mapreduce使用的调度框架yarn

    yarn-site.xml配置yarn

    slaves 指定salves

    • hadoop-env.sh

       cd /opt/hdp/hadoop-2.10.1/etc/hadoop/
      # 必须使用绝对路径。不能留空格
      export JAVA_HOME=/opt/java/jdk1.8.0_191
      
    • yarn-env.sh

      # 必须使用绝对路径。不能留空格
      export JAVA_HOME=/opt/java/jdk1.8.0_191
      
      
    • core-site.xml

      <configuration>
      <property>
              <name>fs.defaultFS</name>
              <value>hdfs://master:9000</value>
      </property>
      </configuration>
      
    • hdfs-site.xml

      <configuration>
      <!--副本个数-->
      <property>
              <name>dfs.replication</name>
              <value>3</value>
      </property>
      <!--保存FsImage镜像的目录,作用是存放hadoop的名称节点namenode里的metadata;-->
      <property>
              <name>dfs.namenode.name.dir</name>
              <value>/opt/hdp/hadoop-2.10.1/name</value>
      </property>
      <!--存放HDFS文件系统数据文件的目录,作用是存放hadoop的数据节点datanode里的多个数据块-->
      <property>
              <name>dfs.datanode.data.dir</name>
              <value>/opt/hdp/hadoop-2.10.1/data</value>
      </property>
      <!--Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
      -->
      <property>
              <name>dfs.namenode.secondary.http-address</name>
              <value>http://master:9001</value>
      </property>
      <property>
              <name>dfs.namenode.checkpoint.dir</name>
              <value>/opt/hdp/hadoop-2.10.1/secondary</value>
      </property>
      </configuration>
      
    • mapred-site.xml

      <configuration>
          <property>
          	<name>mapreduce.framework.name</name>
              <value>yarn</value>
          </property>
      </configuration>
      
    • yarn-site.xml

      <property>
       <name>yarn.resourcemanager.address</name>
         <value>master:18040</value>
       </property>
       <property>
         <name>yarn.resourcemanager.scheduler.address</name>
         <value>master:18030</value>
       </property>
       <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>master:18088</value>
       </property>
       <property>
         <name>yarn.resourcemanager.resource-tracker.address</name>
         <value>master:18025</value>
       </property>
       <property>
         <name>yarn.resourcemanager.admin.address</name>
         <value>master:18141</value>
       </property>
       <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
       </property>
       <property>
       <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
       </property>
      
    • slaves

      slave1
      slave2
      slave3
      

    将环境同步到slave

    ## 复制jdk和 hadooop
    scp -r /opt/java slave1:/opt
    scp -r /opt/hdp slave1:/opt
    
    scp -r /opt/java slave2:/opt
    scp -r /opt/hdp slave2:/opt
    
    scp -r /opt/java slave3:/opt
    scp -r /opt/hdp slave3:/opt
    # 将etc/profile里的java环境变量和hdp复制到slave
    

    初始化Hadoop

    hdfs namenode -format
    start-all.sh
    

    访问 master:50070 若不通则service firewalld stop

    HIVE2

    apache-hive-2.3.9-bin

    mysql-connector-java-5.1.17.jar

    创建hive元数据库

    create table  hive_metadata;
    
    grant all privileges on hive_metadata.* to 'hive'@'%' identified by 'hive'
    
    flush privileges;
    --grant all privileges on hive_metadata.* to 'hive'@'master' identified by 'hive'
    

    配置hive

    1.解压hive,将 mysql驱动包放入lib

    2.配置文件

    环境变量

    vi /etc/profile
    
    export HIVE_HOME=/opt/hive/apache-hive-2.3.9-bin
    export PATH=$PATH:$HIVE_HOME/bin
    
    source /etc/profile
    

    bin/hive-config.sh 设置JAVA_HOME、HADOOP_HOME、HIVE_HOME

    conf/hive-env.sh

    conf/hive-site.xml 指定元数据mysql库地址

    hive-config.sh

    export JAVA_HOME=/opt/java/jdk1.8.0_191
    export HADOOP_HOME=/opt/hdp/hadoop-2.10.1
    export HIVE_HOME=/opt/hive/apache-hive-2.3.9-bin
    

    hive-env.sh

    cp hive-env-template.sh hive-env.sh
    

    hive-site.xml

     cp hive-default.xml.template   hive-site.xml 
    
    <!--修改-->
    <property>
    	<name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://app:3306/hive_metadata</value>
    </property>
    
    <property>
    	<name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
    	<name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
    </property>
    <property>
    	<name>javax.jdo.option.ConnectionPassword</name>
        <value>hive</value>
    </property>
    
    
    <!--
    将所有 ${system:java.io.tmpdir} 替换成 /var/hive/tmp
    将所有 ${system:user.name}	替换成 root
    -->
    
    • 初始化hive
    #创建元数据表
    schematool -initSchema -dbType mysql
    #服务器命令行进入hive
    hive
    #测试-创建表
    create table t(id int)
    

    配置thrift认证hive

    hive默认没有用户,使用thrift认证

    1.服务端使用thrift代替认证hive,配置hive-site.xml

    <property>
            <name>hive.server2.authentication</name>
            <value>NONE</value>
    </property>
    <property>
            <name>hive.server2.thrift.bind.host</name>
            <value>master</value>
    </property>
    <property>
             <name>hive.server2.thrift.port</name>
             <value>10000</value>
             <description>TCP port number to listen on, default 10000</description>
     </property>
    
    <property>
            <name>hive.server2.thrift.http.port</name>
            <value>10001</value>
    </property>
    
    <property>
            <name>hive.server2.thrift.client.user</name>
            <value>hive</value>
            <description>Username to use against thrift client</description>
    </property>
    <property>
            <name>hive.server2.thrift.client.password</name>
            <value>hive</value>
            <description>Password to use against thrift client</description>
    </property>	
    	
    
    • 配置hadoop master的 core-site.xml添加如下,同时将其发送到其他slave
    <property>
            <name>hadoop.proxyuser.root.hosts</name>
            <value>*</value>
    </property>
    <property>
            <name>hadoop.proxyuser.root.groups</name>
            <value>*</value>
    </property>
    
    #将其发送到其他slave
    scp  .../hive-site.xml slave1:.../hive-site.xml
    #关闭hadoop后,再重启
    stop-all.sh
    start-all.sh
    

    作为服务启动hive

    nohup hive --service hiveserver2 & 	#不占用命令行启动
    hiveserver2 # 一直占用命令行
    # 关闭 
    ps -aux| grep hiveserver2
    kill [pid]
    # 10000 端口 jdbc连接
    # 10002 端口 UI界面
    
    • 在服务端使用beeline连接

      beeline
      !connect jdbc:hive2://localhost:10000/default
      

    HBASE

    前提:hadoop、zookeeper

    hbase-1.7.1

    解压hbase,配置HBASE_HOME并将其bin放入环境变量

    配置文件

    1.hbase-env.sh

    export JAVA_HOME=/opt/java/jdk1.8.0_191
    export HBASE_MANAGES_ZK=false
    export HBASE_CLASSPATH=/opt/hbase-1.7.1/conf
    

    2.hbase-site.xml

      
    	<property>
    		<name>hbase.cluster.distributed</name>
    		<value>true</value>
    	</property>
    
          <!--配置为core-site.xml 中的fs.defaultFS -->
    	
    	<property>  
    		<name>hbase.rootdir</name>  
    		<value>hdfs://master:9000/hbase</value>  
    	</property>
    	<property>  
    		<name>hbase.zookeeper.quorum</name>
    		<value>master</value>
    	</property>
      	<property>
            <name>hbase.zookeeper.property.clientPort</name>
            <value>2181</value>
        </property>
    
    
    

    3 .regionservers

    master
    slave1
    slave2
    slave3
    

    发送到slave并启动

    #将hbase发送到其他slave上
    scp 命令
    #启动
    start-hbase.sh
    #访问16010端口 :UI界面
    
    
  • 相关阅读:
    原生JS---2
    PHP中include和require绝对路径、相对路径问题
    魔方(小玩具)
    html5技术介绍
    苹果电脑 快捷键
    写代码的心得,怎么减少编程中的 bug?
    http状态代码含义表
    开源项目
    蓝牙 CoreBluetooth
    减小iOS应用程序的大小
  • 原文地址:https://www.cnblogs.com/mznsndy/p/16365345.html
Copyright © 2020-2023  润新知