大数据基础环境搭建
浏览 346 | 评论 0 | 字数 260082
硝基苯
2024年03月24日
  • 由于基础环境搭建已经有很多成熟的脚本,因此笔者在这里也就只是复习一下并对一些命令进行解释,掌握即可

    在环境中,有一台master主服务器,以及两台slave从服务器

    1、修改主机名

    $master:hostnamectl set-hostname master
    $slave1:hostnamectl set-hostname slave1
    $slave2:hostnamectl set-hostname slave2

    这是将/etc/hostname的文件中的host进行了修改,当上述方法不生效,可采用下面的方法

    vi /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=master
    
    reboot

    可通过`hostname`查看是否生效

    2、更改hosts文件

    更改三台服务器的hosts文件,方便后续操作

    vi /etc/hosts
    192.168.3.129 master master.root
    192.168.3.130 slave1 slave1.root
    192.168.3.131 slave2 slave2.root

    2、关闭三台服务器防火墙

    systemctl stop firewalld
    //关闭防火墙
    systemctl status firewalld
    //查看防火墙状态

    3、免密登录ssh

    (一)master下生成公私钥

    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

    id_dsa.pub为公钥;id_dsa为私钥

    id_dsa id dsa. pub

    生成authorized_keys文件,以此来回环连接

    cat id_dsa.pub >> authorized_keys
    //复制文件
    systemctl restart sshd
    //重启ssh服务

    回环连接成功

    (二)免密登录salve机

    slave12执行

    scp master:~/.ssh/id_dsa.pub ~/.ssh/master_das.pub
    //利用ssh从远程复制到本地

    3、安装JDK(三台机器)

    可以通过配置好一台服务器后,通过scp将java传至其他机器,减少解压时间

    scp -r /usr/java/jdk.1.8.0_171 salve1:/sur/java/
    scp -r /usr/java/jdk.1.8.0_171 salve2:/sur/java/

    (一)创建/usr/java文件夹

    mkdir -p /usr/java

    (二)解压JDK压缩包

    tar -zxvf 压缩包路径 -C /usr/java/

    (三)设置JAVA环境变量

    vi /etc/profile
    export JAVA_HOME=/usr/java/jdk1.8.0_171
    export CLASSPATH=$JAVA_HOME/lib/
    export PATH=$PATH:$JAVA_HOME/bin
    export  PATH JAVA_HOME CLASSPATH

    加载profile文件并查看java版本(验证可行)

    source /etc/profie
    java -version

    4、安装zookeeper

    (一)创建zookeeper目录

    mkdir -p /usr/zookeeper

    (二)解压

    tar -zxvf 压缩包 -C /usr/zookeeper/

    (三)配置zoo.cfg文件

    进入conf目录

    cd /usr/zookeeper/zookeeper-3.4.10/conf

    复制zoo_sample.cfg文件

    cp zoo_sample.cfg zoo.cfg

    修改zoo.cfg文件

    vim zoo.cfg
    dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
    dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
    server.1 = master:2888:3888
    Server.2 =slave1:2888:3888

    (四)创建日志文件夹

    返回上一级目录

    cd ..

    创建文件夹

    mkdir zkdata
    mkdir zkdatalog

    进入zkdata文件夹创建myid

    master myid为1,slave1为2,slave2为3

    cd zkdata
    vi myid

    (五)拷贝到其他服务器

    scp -r /usr/zookeeper root@slave1:/usr/
    scp -r /usr/zookeeper root@slave2:/usr/

    更改slave1、2的myid

    vi /usr/zookeeper/zookeeper-3.4.10/zkdata/myid

    (六)设置zookeeper环境变量

    vi /etc/profile
    Export ZOOKEEPER_HOME=/user/zookeeper/zookeeper-3.4.10
    PATH=$PATH:$ZOOKEEPER_HOME/bin

    生效变量

    source /etc/profile

    (七)开启zookeeper

    1. /usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start
    2. /usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh status

    三台机子有一个为leader其余都会是follower

    5、安装hadoop

    (一)创建hadoop文件夹

    mkdir -p /usr/hadoop

    (二)解压文件

    tar -zxvf 压缩包 -C /usr/hadoop/

    (三)设置环境变量

    vim /etc/profile
    export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
    export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
    export PATH=$PATH:$HADOOP_HOME/bin

    (四)配置文件

    配置hadoop-env.sh

    vi hadoop-env.sh
    export JAVA_HOME=/usr/java/jdk1.8.0_171

    进入目录

    cd /usr/hadoop/hadoop-2.7.3/etc/hadoop

    编辑core-site.xml

    <configuration>
    <property>
        <name>fs.default.name</name>
         <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
         <value>/usr/src/hadoop-2.7.3/hdfs/tmp</value>
    <description>A base of other temporary directories</description>
    </property>
    <property>
        <name>io.file.buffer.size</name>
         <value>131072</value>
    </property>
    <property>
        <name>fs.checkpoint.period</name>
         <value>60</value>
    </property>
    <property>
        <name>fs.checkpoint.size</name>
         <value>67108864</value>
    </property>
    </configuration>

    编辑yarn-site.xml

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:18040</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:18030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:18025</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>master:18141</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:18088</value>
    </property>
    <property>
        <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

    配置hdfs-site.xml

    <property>
        <name>dfs.replication</name>
        <value>2</value>:
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/src/hadoop-2.7.3/hdfs/name</value>
    <final>ture</final>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9001</value>
    </property>
    <property>
        <name>dfs.webhdfs.enable</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.pemissions</name>
        <value>false</value>
    </property>

    配置mapred-site.xml

    <configuration>
    <property>
        <name>mapreduce.framework</name>
        <value>yarm</value>
    </property>
    </configuration>

    编辑slaves文件

    vi slaves
    slave1
    slave2

    编辑master文件

    vi master
    master

    (五)分发给其他服务器

    scp -r /usr/hadoop root@slave1:/usr/
    scp -r /usr/hadoop root@slave2:/usr/

    (六)格式化hadoop

    hadoop namenode -format

    开启或关闭hadoop的hdfs网页管理界面

    /usr/hadoop/hadoop-2.7.3/sbin/start-all.sh
    /usr/hadoop/hadoop-2.7.3/sbin/stop-all.sh

    输入jps可以查看状态

    master有
    SecondaryNameNode
    ResourceManager
    NameNode
    slave上
    DataNode
    Nodemanager

    5、安装mysql(slave2)

    (一)安装mysql

    yum -y install mysql-community-server
    systemctl start mysqld                                 //开启MYSQL
    systemctl enable mysqld                               //开机自启

    (二)配置mysql

    查找初始密码并登录

    grep "temporary password" /var/log/mysqld.log
    mysql -u root -p        

    设置密码

    set global validate_password_policy=0                                             //设置密码强度为低级
    set global validate_password_length=4                                             //设置密码长度
    alter user 'root'@'localhost' identified by '123456';     //修改本地密码为123456
    \q;   退出

    授权及生效

    mysql -u root -p123456  //重新登陆
    create user 'root'@'%' identified by '123456';      //创建用户
    grant all privileges on *.* to 'root'@'%' with grant option;    //允许远程连接
    flush privileges;                                                      //刷新权限

    6、安装hive(master和slave1)

    (一)master上

    创建文件夹

    mkdir -p /usr/hive

    解压

    tar -zxvf /opt/soft/apache-hive-2.1.1-bin.tar.gz -C/usr/hive/

    进入目录

    cd /usr/hive/apache-hive-2.1.1-bin/conf

    配置环境变量

    vi /etc/profile
    export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
    export PATH=$PATH:$HIVE_HOME/bin
    source /etc/profile

    修改hive-env.sh

    cp hive-env.sh.template hive-env.sh
    vi hive-env.sh
    HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
    export HIVE_CONF_DIR=/usr/hive/apache-hive-2.1.1-bin/conf
    export HIVE_AUX_JARS_PATH=/usr/hive/apache-hive-2.1.1-bin/lib

    发送给slave1

    scp -r /usr/hive root@slave1:/usr/

    (二)元数据配置

    (a)slave1上

    安装mysql的JDBC驱动包

    cp /usr/hive/apache-hive-2.1.1-bin/lib http://mysql-connector-java-5.1.47-bin.jar    //安装mysql的JDBC驱动包
    或 
    scp /opt/software/mysql-connector-java-5.1.47-bin.jar root@slave1:/usr/hive/apache-hive-2.1.1-bin/lib/

    进入目录

    cd /usr/hive/apache-hive-2.1.1-bin/conf

    修改hive-site.xml文件

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
         <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
        </property>
    
        <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://slave2: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>123456</value>
        </property>
    </configuration>
    (b)master上

    解决jline版本冲突问题

    find ../ -name  jline*      //查找jline
    cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/

    进入文件夹

    cd /usr/hive/apache-hive-2.1.1-bin/conf

    编辑hive-site.xml

    vi hive-site.xml
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
         <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
        </property>
    
        <property>
        <name>hive.metastore.local</name>
        <value>false</value>
        </property>
    
        <property>
        <name>hive.metastore.uris</name>
        <value>thrift://slave1:9083</value>
        </property>
    </configuration>
    (c)启动hive
    schematool -dbType mysql -initSchema                   //初始化数据库(slave1)
    hive --service metastore &                                         //启动hive server(slave1)
    hive                                                                                 //启动客户 (master)
    本文作者:硝基苯
    本文链接:https://www.c6sec.com/index.php/archives/953/
    最后修改时间:2024-03-24 22:45:47
    本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
    评论已关闭
    评论列表
    暂无评论
    arrow_back 上一篇
    [BJDCTF2020]Mark loves cat
    arrow_forward 下一篇
    没有了