hadoop伪分布平台hive搭建

  • 版本信息:
  •                   linux 版本: Centos 6.5
  •                   hadoop版本:hadoop 2.7.3
  •                   jkd版本: jdk 1.8

一、配置linux系统:

       -》修改网卡文件
        - vi /etc/sysconfig/network-scripts/ifcfg-eth0
          vi /etc/sysconfig/network-scripts/ifcfg-ens33(centos 7)
            - ONBOOT=yes 表示开机自动启动网卡服务
            - BOOTPROTO=static    静态IP
            - IPADDR=192.168.109.12
            - NETMASK=255.255.255.0
            - DNS1=192.168.109.2
            - GATEWAY=192.168.109.2
        - 保存按住shift + zz
        - 重启网卡服务
            - service network restart
              systemctl restart network (centos 7)
    -》修改主机名文件
        - vi /etc/sysconfig/network
          vi /etc/hostname(centos7)
    -》配置ip映射
        - vi /etc/hosts

    -》用root用户创建一个普通用户,利用命令:  visudo   将用户添加到 sudo 列表中
    -》配置完以上信息使用reboot命令重启一下
    -》windows的hosts也要做一下ip映射

二、安装JDK:

hadoop伪分布平台hive搭建_第1张图片

hadoop伪分布平台hive搭建_第2张图片

    -》检查系统是否自带了oracle jdk,如果带了就删除掉
        - rpm -qa | grep 'java'    查询centos安装了哪些rpm软件包
        - rpm -e --nodeps ...        卸载rpm包,--nodeps是卸载的时候不考虑依赖
        - rpm -ivh    软件包的路径    安装rpm包
    -》sudo yum install -y lrzsz    安装上传下载工具,方便windows和linux之间的文件传输
                  -》使用rz命令把windows上的jdk软件包上传到linux系统
                  -》使用tar -zxvf jdk-8u151-linux-x64.tar.gz -C /opt/modules命令解压安装包
                  -》使用vi /etc/profile命令编辑这个文件,修改内容如下:
                       export JAVA_HOME=/opt/modules/jdk1.8.0_151
                       export PATH=$PATH:$JAVA_HOME/bin
                  -》使用shift + zz保存并退出 profile文件
                  -》使用source /etc/profile命令使profile文件生效

hadoop伪分布平台hive搭建_第3张图片

hadoop伪分布平台hive搭建_第4张图片

hadoop伪分布平台hive搭建_第5张图片

hadoop伪分布平台hive搭建_第6张图片

hadoop伪分布平台hive搭建_第7张图片

hadoop伪分布平台hive搭建_第8张图片

hadoop伪分布平台hive搭建_第9张图片

hadoop伪分布平台hive搭建_第10张图片


    -》使用java -version命令验证,如果显示如下,说明配置成功:
        java version "1.8.0_151"
        Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
        Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

hadoop伪分布平台hive搭建_第11张图片

三、安装hadoop平台:

    1、安装hadoop平台与HDFS分布式系统:

hadoop伪分布平台hive搭建_第12张图片

            1、解压Hadoop到指定目录下
                 tar -zxvf hadoop-2.5.0.tar.gz -C /opt/modules/

hadoop伪分布平台hive搭建_第13张图片

  
            2.     清理Hadoop的目录,将hadoop/share/doc目录删除,节省磁盘空间,通过这个命令查看df -h,第一次安装

                    不用考虑。
    
            3.     修改hadoop/etc/hadoop/hadoop-env.sh文件
                    修改hadoop/etc/hadoop/mapred-env.sh文件
                    修改hadoop/etc/hadoop/yarn-env.sh文件
                    指定Java安装路径
                    export JAVA_HOME=/opt/modules/jdk1.7.0_67         ---------------------- 根据自己的路径

hadoop伪分布平台hive搭建_第14张图片

hadoop伪分布平台hive搭建_第15张图片

hadoop伪分布平台hive搭建_第16张图片

hadoop伪分布平台hive搭建_第17张图片

hadoop伪分布平台hive搭建_第18张图片

            4.    注意:hadoop中的四个核心模块对应四个默认配置文件
                              指定默认的文件系统为HDFS,文件系统的访问入口,namenode所在的机器
                              9000端口是早期Hadoop 1.x使用的,现在Hadoop 2.x使用的是8020
                              端口号用于节点直接内部通信,使用RPC通信机制

            5.    在 /opt/modeules/hadoop   文件夹下创建 data/tmp 文件夹      ----------- HDFS的NameNode和

                    datanode的工作目录

hadoop伪分布平台hive搭建_第19张图片

                        修改hadoop/etc/hadoop/core-site.xml文件:
        
                fs.defaultFS
                hdfs://您的主机名:8020
        

        
              hadoop.tmp.dir
              /opt/modules/hadoop-2.7.3/data/tmp         
        

hadoop伪分布平台hive搭建_第20张图片


        
             6.    注意:/tmp表示临时存储目录,系统每次重启会按照脚本预先设置好的删除里面的文件
                              重新自定义系统生成的文件路径,/tmp会被清空,无法保证数据文件安全性
        
             7.    修改hadoop/etc/hadoop/hdfs-site.xml文件
                    指定HDFS文件存储的副本数个数,默认是3个,这里是单台机器就设置为1,这个数字要小于datanode的节点数
        
                dfs.replication
                1
        

hadoop伪分布平台hive搭建_第21张图片

             8.    修改hadoop/etc/hadoop/slaves文件
                     指定从节点的机器位置,添加主机名即可
                     hostname 比如本机名: coder

hadoop伪分布平台hive搭建_第22张图片

             9.    格式化namenode
                    bin/hdfs namenode -format     ----------- hadoop 文件夹下执行

hadoop伪分布平台hive搭建_第23张图片

 

             10.    启动命令
                     sbin/hadoop-daemon.sh start namenode
                     sbin/hadoop-daemon.sh start datanode

                     sbin/hadoop-daemon.sh start secondarynamenode

               11.    查看HDFS外部UI界面
                     bigdata-04或者IP地址 跟上50070端口号,外部通信http
                     dfs.namenode.http-address 50070

                    -------- 注意:如果无法打开 ?

                              请关闭 防火墙与防火墙的自启服务

               12.    测试HDFS环境
                     创建文件夹,HDFS中有用户主目录的概念,和Linux一样
                     bin/hdfs dfs -mkdir -p wordcount/iuput
         
                13.    上传文件到HDFS
                     bin/hdfs dfs -put etc/hadoop/core-site.xml /              ---------- 后面的  / 不能省略
        
                14.    读取HDFS的文件
                     bin/hdfs dfs -text /core-site.xml
        
                 15.    下载文件到本地(指定下载到哪里,同时可以重命名成get-site.xml)
                      bin/hdfs dfs -get /core-site.xml /home/beifeng/get-site.xml

    2、配置yarn资源管理器          

             1.    首先找到hadoop/etc/hadoop/mapred-site.xml.template文件,重名为mapred-site.xml
                    修改hadoop/etc/hadoop/mapred-site.xml文件
        
        
        
            mapreduce.framework.name
            yarn
        

hadoop伪分布平台hive搭建_第24张图片

            2.    修改hadoop/etc/hadoop/yarn-site.xml文件
    
        
        
            yarn.nodemanager.aux-services
            mapreduce_shuffle
        

    
        
        
            yarn.resourcemanager.hostname
            主机名
        
 

hadoop伪分布平台hive搭建_第25张图片

           3.    启动yarn
        sbin/yarn-daemon.sh start resourcemanager
        sbin/yarn-daemon.sh start nodemanager 

   hadoop伪分布平台hive搭建_第26张图片

         4、 查看yarn外部web界面
        bigdata-04或者IP地址 跟上8088端口号,外部通信http

                 例: http://ai07-server1:8088

 3、MapReduce  historyserver(历史服务)

1、历史服务器:查看已经运行完成的应用
       修改mapred-site.xml
	   指定historyserver的地址,内部和外部通信端口号,如果不指定默认是本机
	   historyserver是一个轻量级的服务,可以部署在任意一台节点上
2、配置(在mapred-site.xml中):
		注意:这里的端口号不能随便修改
		
		  mapreduce.jobhistory.address
		  主机名:10020
		
		
		  mapreduce.jobhistory.webapp.address
		  主机名:19888	  
		
3、 重新启动 yarn 平台服务( 关闭 > 启动 )

 

hadoop伪分布平台hive搭建_第27张图片

     4、日志聚合功能

    1.修改yarn-site.xml
		指定开启聚合功能
		指定日志存放在HDFS上的时间期限,一般建议3-7天左右,存放在HDFS的/tmp/logs/username之下
		
			yarn.log-aggregation-enable
			true
		
		
			yarn.log-aggregation.retain-seconds
			106800
		 
	2.重启yarn进程     sbin/yarn-daemon.sh .........
	3.启动历史日志服务命令: sbin/mr-jobhistory-daemon.sh start historyserver

       5、取消HDFS权限检测功能:根据情况

取消HDFS权限检测功能:让HDFS所有的用户都能访问所有的HDFS文件,默认是 true
	1.修改hdfs-site.xml
		
			dfs.permissions.enabled
			false
		

       6、ssh免密登陆:

                        https://blog.csdn.net/qq_16555103/article/details/87949563  ------------ 第二节

四、Hive的环境搭建与部署

1、必须要有Hadoop伪分布式环境
2、首先把hive的安装包上传到/opt/softwares/,并解压到/opt/modules/
3、复制一份 hive/conf目录 hive-env.sh.template文件,并重命名为 hive-env.sh,操作如下
	-》cp /etc/modules/hive-1.2.1-bin/conf/hive-env.sh.template /etc/modules/hive-1.2.1-bin/conf/hive-env.sh
4、配置hive-env.sh文件,内容如下:

	# Set HADOOP_HOME to point to a specific hadoop install directory
	HADOOP_HOME=/opt/modules/hadoop-2.7.3    # hadoop的目录路径

	# Hive Configuration Directory can be controlled by:
	export HIVE_CONF_DIR=/opt/modules/hive-1.2.1-bin/conf    # hive配置文件目录 conf 路径

hadoop伪分布平台hive搭建_第28张图片

hadoop伪分布平台hive搭建_第29张图片

 

5、接下来在HDFS上创建2个目录,命令如下:
   执行下面的命令,要启动下HDFS,使用命令:sbin/start-dfs.sh
bin/hdfs dfs -mkdir /tmp         -------- 目录已存在无需创建
bin/hdfs dfs -mkdir -p /user/hive/warehouse     --------- 创建Hive默认的工作目录

   下面命令在赋予文件的用户组写权限
bin/hdfs dfs -chmod -R g+w /tmp
bin/hdfs dfs -chmod -R g+w /user/hive/warehouse
6、设置hive显示当前使用的数据库,并打印表头等相关信息
永久生效:
   一、
    (1)进入hive安装目录的conf目录下,创建如下 .hiverc 隐藏文件。
    (2)编辑 .hiverc文件,输入如下命令:
        set hive.cli.print.current.db=true;
        set hive.cli.print.header=true;
    (3)重新启动 hive会话界面即可显示使用数据库名称 ,打印信息显示了相关字段。
   二、本章后面详情
     

 

hadoop伪分布平台hive搭建_第30张图片

 

启动hadoop:hadoop目录下
sbin/start-all.sh       ------ 需要ssh免密登陆
sbin/mr-jobhistory-daemon.sh start historyserver
启动Hive:Hive目录下
bin/hive

五、centos6.5 安装mysql、配置元数据库

               centos7安装mysql :   https://blog.csdn.net/qq_16555103/article/details/88076369

1、检查系统是否已经安装了mysql
	-》sudo rpm -qa | grep 'mysql'
2、如果已经安装了mysql,那么卸载掉
	-》sudo rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
3、从yum源安装mysql
	-》sudo yum install -y mysql-server
4、启动mysql服务进程
	-》sudo service mysqld start
	-》sudo chkconfig mysqld on	 设置mysql的服务开机自动启动
5、启动mysqld服务的时候,有以下提示信息:

	PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
	To do so, start the server, then issue the following commands:

	/usr/bin/mysqladmin -u root password 'new-password'
	/usr/bin/mysqladmin -u root -h ai7-server1 password 'new-password'
6、设置mysql的root用户的登录密码
	-》mysqladmin -u root password '123456'
7、登录mysql
	-》mysql -uroot -p123456
8、为mysql设置远程用户登录的权限
	-》show databases;
	-》use mysql;
	-》select user,host from user;
	-》grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
		任何节点以root用户身份都可以使用123456这个密码登录mysql,允许访问mysql下的任何库的任意表
	-》 delete from user where host='localhost';
		delete from user where host='ai7-server1';
		delete from user where host='127.0.0.1';
	-》删除后的结果:
		- select user,host from user;
			+------+------+
			| user | host |
			+------+------+
			| root | %    |
			+------+------+
			1 row in set (0.00 sec)
	-》刷新信息
		- flush privileges;
	-》mysql的服务重新启动
		- sudo service mysqld restart(在linux命令行使用,先退出mysql)
配置mysql为hive元数据库的原因:hive 默认将元数据存储到derby中,derby不支持所用户同时访问
配置MYSQL作为Hive的元数据库
-----------------------------------------------------------------
1、可以参考官网文档配置:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration
2、cd /opt/modules/hive-1.2.1-bin/conf 这个目录下
3、cp hive-default.xml.template hive-site.xml 复制文件并重命名
4、修改hive-site.xml配置文件,修改内容如下:
		
		
			javax.jdo.option.ConnectionURL
			jdbc:mysql://ai7-server1/meta?createDatabaseIfNotExist=true
		      ------- 其中 meta是mysql中管理元数据的库名,可以自定义
		
		
		
			javax.jdo.option.ConnectionDriverName
			com.mysql.jdbc.Driver
		
		
		
		
			javax.jdo.option.ConnectionUserName
			root
		
		
		
		
			javax.jdo.option.ConnectionPassword
			123456
		

        
	    
		    hive.cli.print.current.db
		    true
	    
	    
	    
		    hive.cli.print.header
		    true
	    

 

hadoop伪分布平台hive搭建_第31张图片

5、把MYSQL的驱动jar包放到/opt/modules/hive-1.2.1-bin/lib这个目录下
	-》cp mysql-connector-java-5.1.27-bin.jar /opt/modules/hive-1.2.1-bin/lib/

 

hadoop伪分布平台hive搭建_第32张图片

6、配置hive log日志的目录
        -》创建log目录:hive目录下 mkdir logs
	-》cd /opt/modules/hive-1.2.1-bin/conf/
	-》cp hive-log4j.properties.template hive-log4j.properties
    修改 hive-log4j.properties 文件     -------- 指定logs的目录路径
	-》hive.log.dir=/opt/modules/hive-1.2.1-bin/logs

hadoop伪分布平台hive搭建_第33张图片

 

7、重启hive:   
    hive目录下:bin/hive
------------------------------------------------- 完全 卸载mysql ------------------------------------------------
完全卸载mysql步骤
	-》rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
	-》删除3个配置文件:
		- /var/lib/mysql
		- /usr/bin/mysql
		- /etc/my.cnf 

 

六、完全分布式创建

             注意:在搭建完 伪分布式的前提下

            https://blog.csdn.net/qq_16555103/article/details/88042766    

 

 

 

 

你可能感兴趣的:(AI_大数据)