虚拟机、hadoop、hive本地安装

1.虚拟机本地部署安装

1.1准备文件

                     一个是虚拟机软件:VMwareWorkstation.rar

                     一个是要安装在虚拟机中的系统镜像文件:CentOS-7-x86_64-DVD-1908.iso

1.2虚拟机及系统安装

                     虚拟机的安装和系统的安装都是向导式的,不做记录。

1.3配置虚拟机的网络

    此处是虚拟机安装的重点,虚拟机新建并并关联镜像文件后,系统安装基本完成。网络处的配置主要是用NAT模式。

    安装完系统后,登录进去,编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,截图:

   这两个是修改的地方:

        ONBOOT=yes

         BOOTPROTO=static

    新添加内容:

        IPADDR=192.168.139.130   虚拟机ip

        NETMASK=255.255.255.0   默认子网掩码   

          GATEWAY=192.168.139.2   网关

       

   上面配置的参考依据是点击虚拟机主界面的编辑---虚拟网络编辑器,页面如下:

点击其中的NAT设置,其中的子网掩码和网关就是上面的设置的来源。其中静态ip设置的来源依据则是点击DHCP后,查看ip范围,下图可以看到是在128~254范围内即可。

配置完虚拟机这边的系统文件后,还需要配置本机的网络设置,在网络和共享中心,选择更改适配器可以看到下面页面:

红框标出的是我们需要配置的,选中右击选择属性

选中ipv4,在点击属性进行配置,ip只要是在刚才查看的范围即可。

置完成后,可以在虚拟机系统的命令行进行ping测试: ping www.baidu.com

 

2.Hadoop部署安装

2.1文件准备和环境准备(java)

              首先检测是否具备java环境

              java -version

             不具备下载安装jdk,文件以jdk-8u121-linux-x64.tar.gz为例

             解压命令:tar -zxvf  jdk-8u121-linux-x64.tar.gz

             解压后为jdk1.8.0_121,解压完毕后,配置环境变量

             命令:vi ~/.bash_profile

             添加内容(路径根据实际情况设定):

                   export JAVA_HOME=/root/java/jdk1.8.0_121

                   export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

                   export PATH=$JAVA_HOME/bin:$PATH

              

         

           添加以上内容后保存并执行

                  source ~/.bash_profile

            使文件立即生效。

            配置完毕,用java -version 命令检验,当出现如下截图时,表示java安装成功。

           

     

2.2文件以hadoop-2.6.5.tar.gz为例。具体步骤

解压文件

tar -zxvf hadoop-2.6.5.tar.gz

解压后文件为hadoop-2.6.5

配置环境变量:

export HADOOP_HOME=/root/java/hadoop-2.6.5

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

执行 source ~/.bash_profile  使文件立即生效。

配置文件配置

目录所在:hadoop-2.6.5下的 etc/hadoop/

  1. core-site.xml

fs. defaultFS: 默认文件系统的名称

hadoop.tmp.dir:是 hadoop文件系统依赖的基本配置,很多配置路径都依赖它,它的默认位置在/tmp/{$user}下面

io.file.buffer.size: 在读写文件时使用的缓存大小

hadoop.proxyuser.hadoop.hosts与hadoop.proxyuser.hadoop.groups

配置代理用户。当启用k8s认证的时候有用。

添加内容为:

<property>

        <name>fs.defaultFS</name>

        <value>hdfs://s204:9000</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>file:/root/hadoop/tmp</value>

    </property>

    <property>

        <name>io.file.buffer.size</name>

        <value>131702</value>

    </property>

     <property>

        <name>hadoop.proxyuser.hadoop.hosts</name>

        <value>*</value>

    </property>

    <property>

        <name>hadoop.proxyuser.hadoop.groups</name>

        <value>*</value>

    </property>

  1. hdfs-site.xml

dfs.namenode.name.dir:HDFS文件系统的元信息保存在什么目录

dfs.datanode.data.dir:HDFS文件系统的数据保存在什么目录

dfs.replication:分片数量也就是备份数

dfs.namenode.secondary.http-address:二级nameNode的web监控页面访问路径

dfs.webhdfs.enabled:提供HDFSRESTful接口,可通过此接口进行HDFS文件操作

配置内容:

<property>

        <name>dfs.namenode.name.dir</name>

        <value>file:/root/hadoop/hdfs/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>file:/root/hadoop/hdfs/data</value>

    </property>

    <property>

        <name>dfs.replication</name>

        <value>3</value>

    </property>

    <property>

        <name>dfs.namenode.secondary.http-address</name>

        <value>s204:9001</value>

    </property>

    <property>

            <name>dfs.webhdfs.enabled</name>

            <value>true</value>

     </property>

  1. mapred-site.xml

mapreduce.framework.name:mapreduce的管理框架用的是yarn

mapreduce.jobhistory.webapp.address:mapreduce执行历史记录的访问路径

mapreduce.jobhistory.address:

配置内容:

<property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.address</name>

            <value>s204:10020</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.webapp.address</name>

        <value>s204:19888</value>

    </property>

  1. yarn-site.xml

参考:https://www.cnblogs.com/yinchengzhe/p/5142659.html

配置内容:

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

    <property>

        <name>yarn.resourcemanager.address</name>

        <value>s204:8032</value>

    </property>

    <property>

        <name>yarn.resourcemanager.scheduler.address</name>

        <value>s204:8030</value>

    </property>

    <property>

        <name>yarn.resourcemanager.resource-tracker.address</name>

        <value>s204:8031</value>

    </property>

    <property>

            <name>yarn.resourcemanager.admin.address</name>

        <value>s204:8033</value>

    </property>

    <property>

        <name>yarn.resourcemanager.webapp.address</name>

        <value>s204:8088</value>

    </property>

    <property>

        <name>yarn.nodemanager.resource.memory-mb</name>

        <value>6078</value>

    </property>

  1. yarn-env.sh

编辑java地址 export JAVA_HOME=/usr/java/jdk1.8.0_121

找到JAVA_HEAP_MAX=-Xmx1000m

改为 JAVA_HEAP_MAX=-Xmx1024m

  1. slaves

清空添加 s205

              s206

  1. 配置好后,然后克隆到其他两台机器上,唯一区别的配置在

<property>

    <name>dfs.datanode.data.dir</name>

    <value>file:/root/hadoop/hdfs/data</value>

</property>

不同机器上改路径不能一样;

file:/root/hadoop/hdfs/data

file:/root/hadoop/hdfs/data/205

file:/root/hadoop/hdfs/data/206

  1. 启动(都是在master主机下操作即可)

执行编译在hadoop根目录下

./bin/hdfs namenode –format

 

结果倒数第五行出现

Exiting with status 0 则为成功

然后启动

./sbin/start-all.sh

 

启动成功的截图:

主机s204执行jps

S205执行jps

s206同上。

启动成功后,主要的web页面访问:

Yarn管理界面

s204:8088/

Hdfs页面:

http://s204:50070

点击最后一个菜单,可以看到hdfs系统的目录文件的具体情况,文件也可下载。

 

3.Hive部署安装

Hive需要依赖hadoop存在,所以在安装前部署前需要保证hadoop环境已具备,此外hadoop还需要本地数据库用来存储元数据,可以是mysql,oracle等。

3.1Mysql安装

3.1.1安装mysql

                     1.安装前先检查是否有安装的mysql,有则清除,具体步骤参考

                       https://www.cnblogs.com/sky-cheng/p/10564604.html

                     2.准备rpm文件:mysql-community-release-el7-5.noarch.rpm

                     3.安装步骤:

                            --执行命令 rpm -ivh  mysql-community-release-el7-5.noarch.rpm

                            --执行命令:yum -y install mysql-community-server

3.1.2设置root用户密码和权限

                     1.设置root密码

                            登录到mysql,依次执行以下命令:

                            use mysql;

                            update user set password=password('123') where user='root' and host='localhost'; 

                            flush privileges;

                           

                     2.授权

                            登录到mysql,依次执行以下命令:

                            GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'  WITH GRANT OPTION;

                            flush privileges;

3.1.3创建hive用户,并授权

1.CREATE USER 'hive' IDENTIFIED BY 'hive';
2.GRANT ALL PRIVILEGES ON *.* TO 'hive'@'master' WITH GRANT OPTION;
3.flush privileges;

3.1.4登录hive用户,并创建hive专用的hive数据库。

                     登录命令:mysql -u hive -p  回车输入密码再回车即可。

                     创建数据库:create database hive;

3.2Hive安装

              1.文件准备

                     文件:apache-hive-2.3.6-bin.tar.gz

              2.安装

                     解压:tar -zxvf apache-hive-2.3.6-bin.tar.gz

                     配置环境变量:vim ~/.bash_profile

                     添加内容:

                     export HIVE_HOME=/root/java/apache-hive-2.3.6-bin

                     export PATH=$PATH:$HIVE_HOME/bin

                     执行source ~/.bash_profile 立即生效。

              3.文件配置

                     配置conf/hive-site.xml

                     <property>

                            <name>javax.jdo.option.ConnectionURL</name>

                           <value>jdbc:mysql://master:3306/hive?characterEncoding=UTF-8</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>

                       <property>
                             <name>hive.metastore.uris</name>
                              <value>thrift://s204:9083</value>
                      </property>

 

                  编辑conf/hive-env.sh

                   添加以下内容:

                        export JAVA_HOME=/root/java/jdk1.8.0_121 ##Java路径

                          export HADOOP_HOME=/root/java/hadoop-2.6.5 ##Hadoop安装路径

                          export HIVE_HOME=/root/java/apache-hive-2.3.6-bin ##Hive安装路径

                          export HIVE_CONF_DIR=$HIVE_HOME/conf

              编辑bin/hive-config.sh

                     

              4.将本地数据库的驱动包放到lib目录下,以mysql为例,则驱动jar包为

                     mysql-connector-java-5.1.44.jar

              4.初始化hive相关数据表

                         在bin目录下执行命令:schematool -dbType mysql -initSchema

              5.启动(执行目录在bin下)

                     启动metastore远程:hive --service metastore  &

                     进入hive,执行输入hive

                           

 

===========================安装中的问题=======================

  1. 虚拟机配置中,其中有个ifcfg-lo文件,千万不要动。
  2. 第一个就是没有执行namenode –format的命令导致hadoop启动失败。
  3. 对于查看mapreduce执行历史记录的s204:19888进不去。

                这是因为查看历史的模块还需要单独启动个脚本。

           执行目录是在sbin下

                  ./mr-jobhistory-daemon.sh start historyserver

            停止:

                  ./mr-jobhistory-daemon.sh stop historyserver

   4. Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

         这种错误是因为没有启动metastore

   5.出现如下图,执行insert … select …时候卡死

               

               这时需要查看下slave节点上的nodemanger是否正常。

              查看命令jps

            

       重新启动hadoop,保证nodemanager正常即可。

    6.Linux上hive命令行写错不能使用Backspace,设置

     

 

7.Hadoop启动时一直需要输入密码,主要是因为ssh没有做免密登录设置。

 

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值