Hadoop集群配置部署

一、硬件需求

        三台虚拟机:ubuntu01 ubuntu02 ubuntu03

        vmware workstation 15上创建上面三台ubuntu server 18.04虚拟机

二、配置Spark账户互信,免密登陆

        1.rsa公钥加密密钥生成

                ssh-keygen -t rsa

            2.公钥分发到其他机器              

  ssh-copy-id liyuan@ubuntu02

  ssh-copy-id liyuan@ubuntu03

            3.在ubuntu02和03上分别执行1 - 2步骤,主机名要改成其他两台机器

            4.配置完成后可免密ssh登陆其他机器

三、安装jdk 和scala

            1.安装jdk

            jdk1.8 解压包后,拷贝到/usr/java/  目录需要自己创建

            

                    

            2.安装scala

            scala2.11.8解压包后,拷贝到/usr/scala/ 目录自己创建

 

        3.统一配置环境变量

           sudo root用户执行

            vim /etc/profile  编辑内容,在最后增加如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_162

export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin

export SCALA_HOME=/usr/scala/scala-2.11.8

export PATH=$PATH:$SCALA_HOME/bin

 

最后wq保存

source /etc/profile生效环境变量

4.执行java -version查看jdk环境配置是否成功,

5.执行scala 查看scala环境配置是否成功

6.在ubuntu02和03上安装jdk和scala,步骤同上

四、Hadoop 部署

       1.加压包并拷贝到/opt/spark目录

         2.配置HADOOP_HOME环境变量,HADOOP_CONF_DIR,vim /etc/profile,增加如下:

export HADOOP_HOME=/opt/spark/hadoop-2.7.7

export PATH=$PATH:$HADOOP_HOME/bin/

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

  3. cd /opt/spark/hadoop-2.7.7/etc/hadoop/修改如下文件

hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_162

core-site.xml        

    

        

                fs.defaultFS

                hdfs://ubuntu01

        

        

                hadoop.tmp.dir

                /home/tmp/hadoop

        

hdfs-site.xml





                    dfs.nameservices

                    hadoop-cluster

                

        

                dfs.datanode.data.dir

                file:///home/liyuan/hdfs/datanode

        

        

                dfs.namenode.name.dir

                file:///home/liyuan/hdfs/namenode

        

        

                dfs.name.checkpoint.dir

                file:///home/liyuan/hdfs/namesecondary

        

        

                dfs.replication

                2

        

 

yarn-site.xml





        

                yarn.nodemanager.aux-services

                mapreduce_shuffle

        

        

                yarn.resourcemanager.hostname

                ubuntu01

        



 

mapred-site.xml



        

                mapreduce.framework.name

                yarn

        

        

                mapreduce.jobtracker.staging.root.dir

                /home

        

        

                mapreduce.jobhistory.webapp.address

                ubuntu01:19888

        

master

ubuntu01

slaves

ubuntu01

ubuntu02

ubuntu03

4.格式化HDFS生成相应目录

master 节点上执行命令: hdfs namenode -format

5.分发拷贝到ubuntu02,ubuntu03相应目录/opt/spark/,同时要编辑/etc/profile配置HADOOP_HOME环境变量,类似第2步

6.启动集群:cd 到$HADOOP_HOME/sbin目录,./start-all.sh启动集群

7.在浏览器中输入url:http://192.168.0.110:50070,访问hadoop集群web页面,

端口要执行sudo ufw allow 50070/tcp 防火墙开启端口,或关闭防火墙,否则无法访问

五、Hive部署

        1.下载解压Hive包到/opt/spark目录下

           2.配置Hive环境变量

                编辑/etc/profile,并且source /etc/profile生效,增加如下:

                    export HIVE_HOME=/opt/spark/apache-hive-2.3.3-bin

                        export PATH=$PATH:$HIVE_HOME/bin/

            3.安装mysql

                1)到官网下载deb包名称类似:mysql-apt-config_0.8.10-1_all.deb

                2)sudo dpkg -i   xxx.deb  会出现UI提示界面,一步步确定即可,mysql 8.0会有个新的密码加密算法,选择传统的加密类型

                3)  执行sudo apt-get install mysql-server 开始安装,还有mysql-client ,安装完sudo apt-get update -y

         4)service mysql start 启动服务

    4.配置MySQL远程访问权限

      mysql -uroot -pxxx ,xxx为安装时设置的密码

 

mysql> update user set host = '%' where user = 'root';

注意:如果遇到这个错误,ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'。

select host, user from user;查看一下数据库host信息是否已经有了%这个值,如果有,直接运行下面命令。

mysql> select host, user from user;

mysql> flush privileges;(使修改生效)

 

 

     flush privileges;

        5.拷贝mysql-connector-java.jar到hive目录下lib/中,需要自己下载

    6.配置hive

           修改hive目录中conf/hive-default.xml.template文件为conf/hive-site.xml

    在conf目录中修改配置文件hive-site.xml  



     

       

         javax.jdo.option.ConnectionURL  

         jdbc:mysql://192.168.0.110:3306/hive  

       



       

         javax.jdo.option.ConnectionDriverName  

         com.mysql.jdbc.Driver  

      



       

         javax.jdo.option.ConnectionPassword 

         spark  

      

                    

                        javax.jdo.option.ConnectionUserName

                        root

                        Username to use against metastore database

                     

    7.初始化HIVE

            输入命令格式化数据库

    默认数据库  schematool -initSchema -dbType derby 

    mysql数据库 schematool -initSchema -dbType mysql

    8.终端执行命令:hive,进入数据hive数据仓库

六、Spark集群部署

 

            1.官网下载tgz压缩包,解压到/opt/spark

        2. 配置Spark,cp spark-env.sh.template spark-env.sh   编辑该文件增加:

 

export JAVA_HOME=/usr/java/jdk1.8.0_162

export SCALA_HOME=/usr/scala/scala-2.11.8

export HADOOP_HOME=/opt/spark/hadoop-2.7.7

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop/

export SPARK_MASTER_IP=192.168.0.110

#worker内存配置

export SPARK_WORKER_MEMORY=1g

#配置Spark可以将数据写入HDFS

export SPARK_DIST_CLASSPATH=$(/opt/spark/hadoop-2.7.7/bin/hadoop classpath)

 

 3.编辑/conf/slaves文件,增加:

    

ubuntu01

ubuntu02

ubuntu03

 

4.验证spark是否安装成功

    ./bin/run-example SparkPi 是否启动spark-shell并打印了Pi的值

 

    Pi is roughly 3.1379156895784477

5.拷贝该spark目录到其他节点,ubuntu02、ubuntu03

 

6.启动spark集群

    ./sbin/start-all.sh

    访问spark WebUI 页面

    http://192.168.0.110:8080/

7.启动Job-History

./sbin/start-history-server.sh

 

 

你可能感兴趣的:(Hadoop,Spark,Hive)