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:

    -》检查系统是否自带了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文件生效


    -》使用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平台:

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

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

  
            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         ---------------------- 根据自己的路径

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

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

                    datanode的工作目录

                        修改hadoop/etc/hadoop/core-site.xml文件:
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://您的主机名:8020</value>
        </property>
        <property>
              <name>hadoop.tmp.dir</name>
              <value>/opt/modules/hadoop-2.7.3/data/tmp</value>         
        </property>


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

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

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

 

             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程序运行在yarn平台上-->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>

            2.    修改hadoop/etc/hadoop/yarn-site.xml文件
    
        <!--指定启动运行mapreduce上的nodemanager的运行服务-->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    
        <!--指定resourcemanager主节点机器,可选项,不一定要配置,默认是本机,但是指定了之后在其他机器上启动,就会报错-->
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>主机名</value>
        </property> 

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

   

         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中):
		注意:这里的端口号不能随便修改
		<property>
		  <name>mapreduce.jobhistory.address</name>
		  <value>主机名:10020</value>
		</property>
		<property>
		  <name>mapreduce.jobhistory.webapp.address</name>
		  <value>主机名:19888</value>	  
		</property>
3、 重新启动 yarn 平台服务( 关闭 > 启动 )

 

     4、日志聚合功能

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

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

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

       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 路径

 

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: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配置文件,修改内容如下:
		<!--指定MYSQL所在节点的地址-->
		<property>
			<name>javax.jdo.option.ConnectionURL</name>
			<value>jdbc:mysql://ai7-server1/meta?createDatabaseIfNotExist=true</value>
		</property>      ------- 其中 meta是mysql中管理元数据的库名,可以自定义
		
		<!--MYSQL驱动包的包名-->
		<property>
			<name>javax.jdo.option.ConnectionDriverName</name>
			<value>com.mysql.jdbc.Driver</value>
		</property>
		
		<!--MYSQL的用户名-->
		<property>
			<name>javax.jdo.option.ConnectionUserName</name>
			<value>root</value>
		</property>
		
		<!--设置MYSQL的密码-->
		<property>
			<name>javax.jdo.option.ConnectionPassword</name>
			<value>123456</value>
		</property>

        <!--显示正在使用的数据库-->
	    <property>
		    <name>hive.cli.print.current.db</name>
		    <value>true</value>
	    </property>
	    <!--显示表的列名-->
	    <property>
		    <name>hive.cli.print.header</name>
		    <value>true</value>
	    </property>

 

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/

 

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

 

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    

 

 

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Hadoop分布式搭建的步骤: 1.安装Java环境 2.下载Hadoop压缩包并解压 3.配置Hadoop环境变量 4.配置Hadoop的三个核心文件:core-site.xml、hdfs-site.xml、mapred-site.xml 5.格式化HDFS文件系统 6.启动Hadoop 具体步骤如下: 1.安装Java环境 Hadoop是基于Java开发的,因此需要先安装Java环境。可以通过以下命令安装: ```shell sudo apt-get update sudo apt-get install default-jdk ``` 2.下载Hadoop压缩包并解压 可以从Hadoop官网下载最新版本的Hadoop压缩包,也可以使用以下命令下载: ```shell wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz ``` 下载完成后,解压缩: ```shell tar -zxvf hadoop-3.3.1.tar.gz ``` 3.配置Hadoop环境变量 在.bashrc文件中添加以下内容: ```shell export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 然后运行以下命令使配置生效: ```shell source ~/.bashrc ``` 4.配置Hadoop的三个核心文件:core-site.xml、hdfs-site.xml、mapred-site.xml 在Hadoop的conf目录下,有三个核心文件需要配置:core-site.xml、hdfs-site.xml、mapred-site.xml。 core-site.xml的配置: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` hdfs-site.xml的配置: ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/path/to/hadoop/hadoop_data/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/path/to/hadoop/hadoop_data/hdfs/datanode</value> </property> </configuration> ``` mapred-site.xml的配置: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 5.格式化HDFS文件系统 在Hadoop的bin目录下,运行以下命令格式化HDFS文件系统: ```shell hdfs namenode -format ``` 6.启动HadoopHadoop的sbin目录下,运行以下命令启动Hadoop: ```shell start-all.sh ``` 以上是Hadoop分布式搭建的步骤,如果需要更详细的步骤和说明,可以参考Hadoop官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值