基于 CentOS 7 构建完全分布式大数据平台

    xiaoxiao2024-05-30  101

    文章目录

    1. 环境2. 网络3. 目标4. 安装包列表5. 准备工作5.1 传输安装包5.2 配置 yum 源5.3 安装 GCC GCC-C++5.4 yum 加速5.5 主机名 与 IP 映射 6. 安装6.1 解压安装包6.2 安装 MySQL6.2.1 配置 MySQL6.2.2 MySQL 开启远程连接 6.3 配置 Hadoop6.4 配置环境变量6.5 免密码登录6.6 节点之间同步文件6.7 格式化 Hadoop 集群6.8 启动 Hadoop 集群并测试6.9 安装 Hive 参考网址

    1. 环境

    Windows 10 机器一台 Putty 64-bit(含 SSH、FTP 工具) 云服务器(三个节点)

    2. 网络

    主机名 与 IP 映射如下

    master.novalocal 192.168.72.126 slave1.novalocal 192.168.72.127 slave2.novalocal 192.168.72.128

    3. 目标

    分布式 Hadoop、单节点 Hive

    4. 安装包列表

    注: 注释中含'(必备)'的为构建环境必须的压缩包,不含必备的可自行选择

    # Hadoop 安装包(必备) hadoop-2.7.4.tar.gz # Hive 安装包(必备) apache-hive-2.1.1-bin.tar.gz # mysql 安装包(必备) mysql57-community-release-el7-8.noarch.rpm # mysql JDBC(必备) mysql-connector-java-5.0.4-bin.jar # JDK(必备) jdk-8u151-linux-x64.tar.gz # 阿里云开源镜像 Centos-7.repo # yum 加速 axel-2.4.tar.gz # 配置 yum 加速需要的文件 axelget.conf # 配置 yum 加速需要的文件 axelget.py

    5. 准备工作

    注:从步骤 5 开始到 6.4 之前只在 master 节点执行

    5.1 传输安装包

    通过 Putty 下的 FTP 工具传输安装包列表中的所有安装包到 master 服务器中 放一张导入所有安装包后的图

    5.2 配置 yum 源

    # 备份原有的 yum 源 mv /etc/yum.repos.d/CentOS-Base.repo CentOS-Base.repo.cp # 配置阿里云镜像源 cp Centos-7.repo /etc/yum.repos.d/ # 生成新的 yum 缓存 yum makecache

    5.3 安装 GCC GCC-C++

    yum install gcc gcc-c++

    5.4 yum 加速

    参考文章:Linux 软件下载速度优化

    5.5 主机名 与 IP 映射

    将 IP 与 主机名映射配置好

    # 主机名 与 IP 映射配置文件 vi /etc/hosts

    配置结果如下所示

    6. 安装

    6.1 解压安装包

    # 解压 JDK 安装包 tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/ # 解压 Hadoop 安装包 tar -zxvf hadoop-2.7.4.tar.gz -C /usr/local/ # 解压 Hive 安装包 tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/local/

    6.2 安装 MySQL

    参考文章:Linux 常用软件管理

    6.2.1 配置 MySQL

    # 开启 MySQL 服务 systemctl start mysqld.service # 查看初始密码 grep 'temporary password' /var/log/mysqld.log # 使用初始密码登录 mysql -u root -p # 修改 root 用户密码, PASSWORD 为指定密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';

    注:修改密码时注意对应 MySQL 版本对应的密码安全检查插件

    6.2.2 MySQL 开启远程连接

    参考文章:Tips —— MySQL

    6.3 配置 Hadoop

    Hadoop 配置文件目录:HADOOP_DIR/etc/hadoop/ core-site.xml

    <configuration> <property> <name>fs.default.name</name> <value>hdfs://master.novalocal:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop-2.7.4/tmp</value> </property> </configuration>

    hdfs-site.xml

    <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop-2.7.4/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop-2.7.4/tmp/dfs/data</value> </property> </configuration>

    yarn-site.xml

    <configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master.novalocal:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master.novalocal:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master.novalocal:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master.novalocal:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master.novalocal:8088</value> </property> </configuration>

    mapred-ste.xml

    # 生成该配置文件 cp mapred-site.xml.template mapred-site.xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master.novalocal:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master.novalocal:19888</value> </property> </configuration>

    slaves

    slave1.novalocal slave2.novalocal

    hadoop-env.sh

    # 在该文件中加入如下内容 export JAVA_HOME=/usr/local/jdk1.8.0_151

    6.4 配置环境变量

    # /etc/profile 为配置文件 # 加入如下内容 export JAVA_HOME=/usr/local/jdk1.8.0_151 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export HADOOP_HOME=/usr/local/hadoop-2.7.4 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 使配置文件立即生效 source /etc/profile

    6.5 免密码登录

    #每个节点都执行 cd ~/.ssh/ # 生成密钥 ssh-keygen # 在 slave1 和 slave2 两个节点上分别执行 scp ~/.ssh/id_rsa.pub root@192.168.72.126:~/id_rsa.pub.1 scp ~/.ssh/id_rsa.pub root@192.168.72.126:~/id_rsa.pub.2 # 在 master 节点上执行 cat ~/id_rsa.pub.1 >> .ssh/authorized_keys cat ~/id_rsa.pub.2 >> .ssh/authorized_keys cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys scp ~/.ssh/authorized_keys root@slave1.novalocal:~/.ssh/ scp ~/.ssh/authorized_keys root@slave2.novalocal:~/.ssh/

    6.6 节点之间同步文件

    需要同步的文件共有下列文件:

    /etc/hosts/etc/profile/usr/local/jdk1.8.0_151/usr/local/hadoop-2.7.4 # 在 master 节点执行如下命令 # 拷贝 主机名 IP 映射文件 scp /etc/hosts root@slave1.novalocal:/etc/ scp /etc/hosts root@slave2.novalocal:/etc/ # 拷贝环境变量配置文件 scp /etc/profile root@slave1.novalocal:/etc/ scp /etc/profile root@slave2.novalocal:/etc/ # 拷贝 JDK scp -r /usr/local/jdk1.8.0_151/ root@slave1.novalocal:/usr/local/ scp -r /usr/local/jdk1.8.0_151/ root@slave2.novalocal:/usr/local/ # 拷贝 Hadoop scp -r /usr/local/hadoop-2.7.4/ root@slave1.novalocal:/usr/local/ scp -r /usr/local/hadoop-2.7.4/ root@slave2.novalocal:/usr/local/ # 在两个 slave 节点上执行如下命令 source /etc/profile

    6.7 格式化 Hadoop 集群

    # 在 master 节点上执行如下命令 hdfs namenode -format

    6.8 启动 Hadoop 集群并测试

    # 在 master 节点上执行如下命令 start-all.sh # 三个节点上执行 jps 查看进程状态 jps

    master slave1 slave2 打开网页访问 http://192.168.72.126:50070 DataNode 存活数量与实际情况一致, Hadoop 集群构建结束

    6.9 安装 Hive

    参考文章:基于 Centos 7 伪分布式大数据环境构建

    参考网址

    Hadoop安装教程_单机/伪分布式配置 完全分布式安装

    最新回复(0)