hadoop生态的配置

    科技2022-07-11  106

    hadoop生态的配置

    1.linux端

    1.1 网络设置
    网关 子网掩码 网段 IP 网络设置 vi /etc/sysconfig/network-scripts/ifcfig-ens33 配置完输入ip addr测试 修改主机名和域名 etc/hosts 关闭并禁用windows和linux防火墙 配置秘钥 修改各自ip和主机名 此操作在克隆集群机器后修改防火墙设置 systemctl stop firewalld 停止 systemctl disable firewalld 禁用 systemctl status firewalld 查看状态* 设置windows端的主机名映射 C:\Windows\System32\drivers\etc下的hosts文件
    1.2 软件安装
    安装查看网络服务命令 yum -y install net-tools 查找上传软件 yum list | grep rz 并安装 时间同步命令 安装mysql

    yum -y install ntpdate.x86_64 ntpdate 0.asia.pool.ntp.org

    2. hadoop生态的软件安装与环境变量的配置

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201004105446554.png#pic_center

    2.1 HDFS 分布式文件系统 MapReduce 运算框架大数据集并行运算 Yarn 给分布式运算框架进行资源的调度和任务监控

    2.1.1 vi hadoop-env.sh

    export JAVA_HOME=/opt/apps/jdk1.8.0_261

    2.1.2 vi hadoop-site.xml

    <configuration> <!-- 集群的namenode的位置 datanode能通过这个地址注册--> <property> <name>dfs.namenode.rpc-address</name> <value>linux01:8020</value> </property> <!-- namenode存储元数据的位置 --> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hdpdata/name</value> </property> <!-- datanode存储数据的位置 --> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hdpdata/data</value> </property> <!-- secondary namenode机器的位置--> <property> <name>dfs.namenode.secondary.http-address</name> <value>linux02:50090</value> </property> </configuration>

    2.1.3 初始化namenode机器 !!!初始化在所有集群搭建起来后再做。

    bin/hadoop namenode -format

    2.1.4 一键启动

    1 ) 在配置文件的目录中修改workers配置文件 (启动的时候会读取这个文件 ,在配置的主机上分别启动datanode)

    vi workers

    2 ) 在hdfs启动和停止的脚本中添加如下配置

    vi sbin/start-dfs.sh | vi stop-dfs.sh

    HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root

    3)在yarn启动和停止的脚本中添加如下配置

    start-yarn.sh stop-yarn.sh YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root

    2.1.5 修改默认的操作路径为HDFS系统 core-site.xml

    <property> <name>fs.defaultFS</name> <value>hdfs://linux01:8020</value> </property>

    2.1.6 配置yarn的基本设置 vi yarn-site.xml

    <!-- resource,manager主节点所在机器 --> <property> <name>yarn.resourcemanager.hostname</name> <value>linux01</value> </property> <!-- 为mr程序提供shuffle服务 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 一台NodeManager的总可用内存资源 --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> <!-- 一台NodeManager的总可用(逻辑)cpu核数 --> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>4</value> </property> <!-- 是否检查容器的虚拟内存使用超标情况 --> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> <!-- 容器的虚拟内存使用上限:与物理内存的比率 --> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>2.1</value> </property>
    2.4 ZooKeeper 协调系统 协调关键共享状态

    2.4.1 在zookeeper下创建一个zkData文件夹 2.4.2 在conf文件夹中 修改文件名为zoo_sample.cfg --> zoo.cfg vi zoo.cfg

    dataDir=/opt/apps/zookeeper-3.4.6/zkData #Set to “0” to disable auto purge feature #autopurge.purgeInterval=1 server.1=linux04:2888:3888 server.2=linux05:2888:3888 server.3=linux06:2888:3888

    2.4.3 在zkDate中创建myid文件夹 并写入id号 初始化在所有集群搭建起来后再做 注:zookeeper中没有一键启动命令 需要每台机器单独启动。后续配置一键启动脚本

    2.6 Hbase 分布式数据库

    2.6.1 hbase-env.sh 修改内容

    export JAVA_HOME=/opt/apps/jdk1.8.0_261 查找命令 esc查看模式下 输入: /ZK export HBASE_MANAGES_ZK=false

    2.6.2 hbase-site.xml

    <configuration> <!-- 指定hbase在HDFS上存储的路径 --> <property> <name>hbase.rootdir</name> <value>hdfs://linux04:8020/hbase</value> </property> <!-- 指定hbase是分布式的 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> <!-- 指定zk的地址,多个用“,”分割 --> <property> <name>hbase.zookeeper.quorum</name> <value>linux04:2181,linux05:2181,linux06:2181</value> </property> </configuration>

    2.6.3 regionservers 配置 设置启动集群中的Regionserver机器

    2.7 Hive 基于HADOOP的数仓操作工具

    2.7.1 tar -zxf apache-hive-2.3.5.tar.gz

    2.7.2 vi hive-env.sh export HADOOP_HOME=/usr/apps/hadoop-2.8.5/ #Hive Configuration Directory can be controlled by: export HIVE_CONF_DIR=/usr/apps/hive-2.3.1/conf/

    2.7.3 vi hive-site.xml

    <configuration> <!-- 记录HIve中的元数据信息 记录在mysql中 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://linux04:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> </property> <!-- hive在hdfs中存储的数据路径 --> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>hive.exec.scratchdir</name> <value>/user/hive/tmp</value> </property> <property> <name>hive.querylog.location</name> <value>/user/hive/log</value> </property> <!-- shell客户端连接的端口 --> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.server2.thrift.bind.host</name> <value>0.0.0.0</value> </property> <property> <name>hive.server2.webui.host</name> <value>0.0.0.0</value> </property> <!-- hive服务的页面的端口 --> <property> <name>hive.server2.webui.port</name> <value>10002</value> </property> <property> <name>hive.server2.long.polling.timeout</name> <value>5000</value> </property> <property> <name>hive.server2.enable.doAs</name> <value>true</value> </property> <property> <name>datanucleus.autoCreateSchema </name> <value>false</value> </property> <property> <name>datanucleus.fixedDatastore </name> <value>true</value> </property> <property> <name>hive.execution.engine</name> <value>mr</value> </property> </configuration>

    2.7.4 vi hdp/ect/hadoop/core-site.xml 只修改hive服务安装的主机即可

    <property> <name>dfs.permissions.enabled</name> <value>false</value> </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>

    2.7.5 准备mysql的驱动包 拷贝一个mysql的jdbc驱动jar包到hive的lib目录中

    2.7.6 配置Hive环境变量 并且source /etc/profile

    2.7.7初始化 将hive的原数据信息初始化到mysql中

    ${HIVE_HOME}/bin/schematool -initSchema -dbType mysql

    Processed: 0.012, SQL: 8