吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 571|回复: 16
收起左侧

[学习记录] Hadoop集群部署

[复制链接]
001user 发表于 2024-11-14 21:18
本帖最后由 001user 于 2024-11-17 19:38 编辑

Hadoop集群部署(用到的教材Hadoop平台搭建与应用【人民邮电出版社-米洪 张鸰主编】)

  • 准备三个节点(Centos 6.7)root用户
    • 典型,内存2GB,处理器 2,硬盘30G
    • 互相能ping通,都能上网
    • 设置IP地址(设置为虚拟网络编辑器中NAT型网络的网段)
      • System->Preferences->Network Connections
      • System eth0 ->IPv4 settings -> Method ->Manual 【address】:x.x.x.x 【Netmask】:x.x.x.x 【Gateway】:x.x.x.2   -Apply
    • 关闭防火墙
      • System->Administration->Firewall
  • 三个节点
    • /etc/hosts文件最后面 添加:        
        192.168.214.131 hadoop01
        192.168.214.132 hadoop02
        192.168.214.133 hadoop03
    • (设置主机名称为)修改/etc/sysconfit/network 文件,
      (hadoop01)添加内容hadoop01  
      ***(hadoop02)添加内容hadoop02 (hadoop03)添加内容hadoop03 ***
    • 建目录:/export/servers
    • 建目录:/export/software
    • 把:“jdk-8u202-linux-x64.tar.gz”,“hadoop-2.7.4.tar.gz”,这两个文件,
      拷贝到:/export/software目录下。
    • 解压缩:tar -zxvf /export/software/jdk-8u202-linux-x64.tar.gz -C /export/servers/
      解压缩:tar -zxvf /export/software/hadoop-2.7.4.tar.gz -C /export/servers/
  • WinSCP
    • 会使用WinSCP工具,能在Linux和windows之间互传文件
  • 三个节点
    • 修改文件名:mv /export/servers/jdk1.8.0_202/ /export/servers/jdk
    • 修改该文件内容:
      /etc/profileexport JAVA_HOME=/export/servers/jdk
      export PATH=$PATH:$JAVA_HOME/bin
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    • 终端执行:source /etc/profile(每次更改/etc/profile文件后都需要source /etc/profile)
    • 执行:java -version
    • ‘‘‘解压缩: tar -zxvf /export/software/hadoop-2.7.4.tar.gz -C /export/servers/’’’
    • 在/etc/profile文件最后面,添加内容:
      export HADOOP_HOME=/export/servers/hadoop-2.7.4
      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • 执行:source /etc/profile
    • 执行: hadoop version
  • 辅助:Hadoop/JDK
    • hadoop官网:https://archive.apache.org/dist/hadoop/common/
    • JDK官网:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
  • 三个节点
    • 把国内镜像源文件:“Centos-vault-6.10.repo”,
      拷贝到/etc/yum.repos.d/目录下
    • 把yum.repos.d目录中原来的5个文件放到/export/目录
    • 编辑文件:/etc/yum.conf,
      在最下面加上一行:sslverify=false
  • Hadoop01
    • 终端执行:yum repolist allyum clean allyum makecache
    • 安装MySQL:yum install mysql mysql-server mysql-devel -y
    • (启动:MySQL)/etc/init.d/mysqld start
    • 连接mysql:用mysql命令
    • (输入命令:USE mysql)选择数据库服务器中的mysql数据库,为当前数据库。
    • 输入命令:UPDATE user SET Password=PASSWORD('123456') WHERE user='root';(设置root用户的密码为:123456)
    • 输入命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;(允许root用户,从远程进行登录)
    • 输入命令:FLUSH PRIVILEGES;刷新权限,使刚刚设置的权限,生效
  • 三个节点
    • 时钟同步:
      # 安装
      ntpdatesudo yum install ntpdate -y
      # 时间同步
      sudo ntpdate -u cn.pool.ntp.org
    • 服务器之间通过SSH互相访问:
      1)通过ssh-keygen 生成key  :ssh-keygen -t rsa
    • 2)通过ssh-copy-id将一台服务器的公钥拷贝到其他需要访问它的服务器上去。
      ssh-copy-id root@hadoop01
      ssh-copy-id root@hadoop02
      ssh-copy-id root@hadoop03
  • 免密失败,自检措施
    • 网络不通,可以检查:/etc/hosts/etc/sysconfig/network
    • 检查这个yum源的目录:/etc/yum.repos.d
      检查这个文件:/etc/yum.conf
    • 还有:防火墙
    • 还有虚拟网卡。(windows里面)
    • 还有检查:System--> Preferences--> Network Connections
  • 三个节点
    • 在这个文件里面:/export/servers/hadoop-2.7.4/etc/hadoop/hadoop-env.sh
      找到对应位置,修改值为export JAVA_HOME=/export/servers/jdk
    • 在这个文件里面:/export/servers/hadoop-2.7.4/etc/hadoop/core-site.xml
      完成对应配置:(将U盘中的core-site.xml替换掉文件中的相同文件)
      • 配置内容如下:
        <configuration>   
        <property>      
        <name>fs.defaultFS</name>        
        <value>hdfs://hadoop01:9000</value>   
        </property><property>        
        <name>hadoop.tmp.dir</name>        
        <value>/export/servers/hadoop-2.7.4/tmp</value>   
        </property></configuration>
    • 在这个文件里面;/export/servers/hadoop-2.7.4/etc/hadoop/hdfs-site.xml
      完成对应配置:(将U盘中的hdfs-site.xml替换掉文件中的相同文件)
      • 配置内容如下:
        <configuration>   
        <property>      
        <name>dfs.replication</name>      
        <value>3</value>   
        </property>   
        <property>      
        <name>dfs.namenode.secondary.http-address</name>        
        <value>hadoop02:50090</value>   
        </property>
        </configuration>
    • 在这个文件里面/export/servers/hadoop-2.7.4/etc/hadoop/mapred-site.xml
      完成对应配置:(将U盘中的mapred-site.xml替换掉文件中的相同文件)
      • 配置内容如下
        <configuration>   
        <!-- Site specific YARN configuration properties -->   
        <property>        
        <name>yarn.resourcemanager.hostname</name>      
        <value>hadoop01</value>   
        </property>  
          <property>      
        <name>yarn.nodemanager.aux-services</name>        
        <value>mapreduce_shuffle</value>   
        </property>   
        <property>           
        <name>yarn.nodemanager.resource.cpu-vcores</name>           
        <value>8</value>      
        </property>      
        <property>           
        <name>yarn.nodemanager.resource.memory-mb</name>         
        <value>8192</value>      
        </property>         
        <property>           
        <name>yarn.log.server.url</name>         
        <value>http://hadoop01:19888/jobhistory/logs/</value>      
        </property>   
        </configuration>
    • 在这个文件里面/export/servers/hadoop-2.7.4/etc/hadoop/yarn-site.xml
      完成对应配置:(将U盘中的yarn-site.xml替换掉文件中的相同文件)
      • 配置内容如下
        <configuration>   
        <property>      
        <name>mapreduce.framework.name</name>      
        <value>yarn</value>   
        </property></configuration>
  • 三个节点
    • 在这个文件里面/export/servers/hadoop-2.7.4/etc/hadoop/slaves完成对应配置:
      • 文件内容:hadoop01hadoop02hadoop03
  • Hadoop01
    • 终端执行:hdfs namenode -format
  • 三个节点
    • 终端输入 cd /export/servers/hadoop-2.7.4/sbin
      • ./start-dfs.sh
      • ./start-yarn.sh
      • 在火狐浏览器里输入URL:hadoop01:50070
      • 在火狐浏览器里输入URL:hadoop01:8088(成功出现网页)
    • 终端输入jps:看看节点数是否正常-Hadoop01:5个,Hadoop02:4个,Hadoop03:3个
  • 三个节点
    • 把“apache-hive-1.2.1-bin.tar.gz”这个文件,
      拷贝到:/export/software目录下。
    • 解压Hive, 命令如下:
      tar -zxvf /export/software/apache-hive-1.2.1-bin.tar.gz -C /export/servers/
  • hadoop01
    • 检查MySQL是否已经启动,如果未启动,则把MySQL启动起来:/etc/init.d/mysqld start
    • (三个节点)上传MySQL连接驱动包“mysql-connector-java-5.1.32.jar”到Hive安装目录下(/export/servers/)的lib文件夹下.
    • cd /export/servers/apache-hive-1.2.1-bin/bin启动hive:./hive
    • 在文件/etc/profile里的最后面,增加这两行:
      export HIVE_HOME=/export/servers/apache-hive-1.2.1-bin
      export PATH=$PATH:$HIVE_HOME/bin
    • source /etc/profile
  • hadoop01
    • 在目录/export/servers/apache-hive-1.2.1-bin/conf下创建文件,
      文件名为hive-env.sh,
      文件内容为export HADOOP_HOME=/export/servers/hadoop-2.7.4(可以从U盘中拷到目录中)
      (重要提示:如果扩展名为*.sh的文件,需设置文件属性为:可读、可写、可执行。)
    • 在目录/export/servers/apache-hive-1.2.1-bin/conf里,
      创建一个名称为:hive-site.xml的文件。(将U盘中的hive-site.xml放到目录下)
      • hive-site.xml配置文件源码:
        <configuration>   
        <property>        
        <name>javax.jdo.option.ConnectionURL</name>        
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>      
        <description>Mysql连接协议</description>   
        </property>   
        <property>      
        <name>javax.jdo.option.ConnectionDriverName</name>      
        <value>com.mysql.jdbc.Driver</value>        
        <description>JDBC连接驱动</description>   
        </property>   
        <property>        
        <name>javax.jdo.option.ConnectionUserName</name>      
        <value>root</value>        
        <description>用户名</description>   
        </property>   
        <property>        
        <name>javax.jdo.option.ConnectionPassword</name>        
        <value>123456</value>        
        <description>密码</description>   
        </property></configuration>
  • 辅助:Hive
    • Hive官网:网址,下载:http://archive.apache.org/dist/hive/hive-1.2.1/
  • Hadoop01
    • 切换到hive的bin目录里面去cd /export/servers/apache-hive-1.2.1-bin/bin
      启动hive: ./hive
    • Hive数据仓库的操作命令示例:show databases;
      //use weblog;
      show tables;
      • 创建数据库:CREATE DATABASE IF NOT EXISTS suying_01 COMMENT "This is suying_01 database" LOCATION '/hive_db/create_db/' WITH DBPROPERTIES ("creator"="suying_01", "date"="2024-10-18");
      • 创建:内部表:create table emp(empno int,ename string,job string,mgr int,hiredate string,sal double,comm double,deptno int) row format delimited fields terminated by '\t';
      • 创建:外部表:create external table emp_external(empno int,ename string,job string,mgr int ,hiredate string,sal double,comm double,deptno int) row format delimited fields terminated by '\t' location '/hive_external/emp/';
      • 创建:分区表:CREATE TABLE order_partition(orderNumber STRING,Event_time STRING) PARTITIONED BY (event_month string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
    • 知晓Hive的:分区表、分桶表、临时表、视图、索引。
  • 三个节点
    • 从ZooKeeper的官网,下载压缩包文件。https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/
      (从U盘里把文件zookeeper-3.4.13.tar.gz拷贝到:/export/software目录下。)
    • 解压:tar -zxvf /export/software/zookeeper-3.4.13.tar.gz -C /export/servers/
    • cd /export/servers/zookeeper-3.4.13/confcp zoo_sample.cfg zoo.cfg
    • 在zoo.cfg文件里面,编辑以下内容:将本来的dataDir=... 注释掉
      添加如下内容:
      dataDir=/export/data/zookeeper/zkdata
      server.1=hadoop01:2888:3888
      server.2=hadoop02:2888:3888
      server.3=hadoop03:2888:3888
    • 终端输入:mkdir -p /export/data/zookeeper/zkdata
      (创建目录/export/data/zookeeper/zkdata)
    • cd /export/data/zookeeper/zkdata
      (hadoop01里)echo 1 > myid
      ***(hadoop02里)echo 2 > myid
      (hadoop03里)echo 3 > myid***
    • 修改/etc/profile/文件,
      在最后面加上如下内容export ZK_HOME=/export/servers/zookeeper-3.4.10
      export PATH=$PATH:$ZK_HOME/bin
    • 终端输入:source /etc/profile
    • cd /export/servers/zookeeper-3.4.13/bin
      ./zkServer.sh start
      ./zkServer.sh status(查看zookeeper的状态)
      • 输入命令./zkCli.sh   进入zookeeper后,练习书上88页至90页的命令
  • 辅助:Hbase
    • HBase的下载网址:http://archive.apache.org/dist/hbase/http://archive.apache.org/dist/hbase/1.2.1/我们选择:1.2.1版本。
  • 三个节点
    • 将下载的hbase安装包文件上传到/export/software(从U盘中拷到目录中)
    • 解压缩:tar -zxvf /export/software/hbase-1.2.1-bin.tar.gz -C /export/servers/
    • 在/export/servers/hbase-1.2.1-bin./conf目录下,
      编辑hbase-env.sh文件在文件中找到合适位置 “#export JAVA_HOME=....user...“,
      在其下方加入内容:
      # 指定JDK安装目录。
      export JAVA_HOME=/export/servers/jdk
      # 指定不使用内置的ZooKeeper
      export HBASE_MANAGES_ZK=false
    • 在/export/servers/hbase-1.2.1-bin./conf目录下,配置hbase-site.xml文件:
      • 在<...> <...>之间加入一下内容
        <property >      
        <name>hbase.rootdir</name>      
        <value>hdfs://hadoop01:9000/hbase</value>
        </property>

        <property >     
        <name>hbase.cluster.distributed</name>      
        <value>true</value>
        </property>

        <property>     
        <name>hbase.zookeeper.quorum</name>     
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
        </property>
      • (重点注意:hdfs端口,在本实验系列中,设置在:9000端口。所以,上文的配置文件中,这句话,里面,有9000端口。<value>hdfs://hadoop01:9000/hbase</value>)
    • 配置/export/servers/hbase-1.2.1-bin./conf目录下的regionservers(没有的话自己创建)
      这个文件定义了:regionserver的主机名称。
      将文件regionservers中的内容改为hadoop02hadoop03(注释掉自带的 localhost)
    • 将 /export/servers/hadoop-2.7.4/etc/hadoop/目录下的文件core-site.xml和文件hdfs-site.xml ,
      复制到 /export/servers/hbase-1.2.1/conf/目录下
      (用于HBase启动时读取Hadoop的核心配置信息和HDFS配置信息。)
    • 配置/etc/profile文件,
      在文件末尾加如下内容:
      export HBASE_HOME=/export/servers/hbase-1.2.1
      export PATH=$PATH:$HBASE_HOME/bin
    • source /etc/profile
  • Hadoop01
    • 终端输入start-hbase.sh命令 ,启动HBase高可用集群
      • 在火狐浏览器中输入URL:hadoop01:16010 (成功结果:出现网页)
    • cd /export/servers/hbase-1.2.1/bin
      • 执行命令./hbase shell
      • 练习教材P114页(之后)的命令

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

dsh666 发表于 2024-11-14 21:55
不错不错,就是全部是文字有点单调
betcom 发表于 2024-11-14 22:28
paris1865 发表于 2024-11-14 22:30
yoga23 发表于 2024-11-14 22:32
老手艺了,部署操作还是有点繁琐的。
skywater 发表于 2024-11-14 22:48
受教了,有没有相关资料分享一下?
2315100220 发表于 2024-11-14 23:14
内容很不错,就是文字太紧凑了
Sandyang 发表于 2024-11-14 23:34
看来之1 这个集群针对是数据库,我还以为网站代码和数据库也可以直接
zhxiaoll 发表于 2024-11-15 07:11
如果是为了后续大数据的学习,建议直接使用尚硅谷提供的虚拟机或者docker搭建
自己搭建环境收益非常低
35925 发表于 2024-11-15 08:05
能贴图配文是最好的,感谢楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 13:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表