大数据集群安装教程及文件配置

mav本地源

  • l 发信号给yum进程:pkill -9 yum
  • l 进入yum源配置文件:cd /etc/yum.repos.d
  • l 删除所有文件:rm -rf *
  • l 下载yum源:wget http://10.10.88.2:8000/bigdata/repofile/bigdata.repo
  • l 清除YUM缓存:yum clean all

下载ifconfig命令

  1. 先查看是否因为环境变量没有ifconfig。ls /sbin/ifconfig
  2. yum -y install net-tools

安装vimshh

  • yum -y install vim

安装ntp服务

yum install -y ntp

systemctl enable/disable ntpd.service

master 配置/etc/ntp.conf

server 127.127.1.0
fudge 127.127.1.0

slave手动同步时间

ntpdate master

crontab -e 定时任务

*/10 * * * * usr/sbin/ntpdate master

安装rsync服务

安装

  1. yum -y install rsync
  2. systemctl start rsyncd.service
  3. systemctl enable rsyncd.service
  4. netstat -lnp|grep 873 查看

配置

vim /etc/rsyncd.conf

 uid = root                              
 # //设置运行rsync 进程的用户
 gid = root
 use chroot = no
 max connections = 4
# pid file = /var/run/rsyncd.pid        
#//CentOS7中yum安装不需指定pid file 否则报错
 lock file=/var/run/rsyncd.lock
 log file = /var/log/rsyncd.log     
 # //此文件定义完成后系统会自动创建
 exclude = lost+found/
 transfer logging = yes
 timeout = 900
 ignore nonreadable = yes         
 # //同步时跳过没有权限的目录
 dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2          

编写远程同步脚本(xsync)

  • 安装前需要有rsync服务
  • 在bin目录下创建xsync文件
  • chmod 777 xsync
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录的真实绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=103; host<201; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -alv $pdir/$fname $user@hadoop$host:$pdir
done

mysql安装

下载安装包

官网下载红帽安装

依次安装下列组件

必须依次安装

可能遇到错误红帽安装 Centos安装yum有旧版本的GPJ keys造成;
解决 --force --nodeps

解决:卸载冲突rpm组件

  • rpm -qa | grep postfix
  • rpm -qa | grep mariadb
  • rpm -ev postfix-2.10.1-6.el7.x86_64
  • rpm -ev mariadb-libs-5.5.52-1.el7.x86_64

安装依赖

  • yum -y install libaio
  • yum -y install net-tools
  • yum -y install perl

centos6.5问题

参考:https://blog.csdn.net/wyl9527/article/details/78256066?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

https://blog.csdn.net/whatday/article/details/84304677

  1. 首先安装mysql-community-common(服务器和客户端库的公共文件),使用命令:

    rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
    
  2. 其次安装mysql-community-libs(MySQL数据库客户端应用程序的共享库),使用命令

    rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
    
    
  3. 之后安装mysql-community-libs-compat(MySQL之前版本的共享兼容库),使用命令:

    rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm 
    
    
  4. 之后安装mysql-community-client(MySQL客户端应用程序和工具),使用命令:

    rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm 
    
    
  5. 最后安装mysql-community-server(数据库服务器和相关工具),使用命令:

    rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm 
    
    

初始化数据库

安装好MySQL后,我们需要初始化数据库,初始化和启动数据库时最好不要使用root用户,或者使用MySQL用户启动。

/usr/sbin/mysqld --initialize-insecure --user=mysql

启动MySQL服务

&后台执行

/usr/sbin/mysqld --user=mysql &

登录mysql

mysql -uroot

重置MySQL密码

alter user 'root'@'localhost' identified by '123456';

修改完成 后 exit 重新登录

mysql -uroot -p123456

增加远程登录权限

mysql> use mysql;  # 切换成mysql数据库
mysql> select user,host from user; # 查询用户信息
mysql> update user set host='%' where host='localhost';
mysql> flush privileges;

jdk安装

查看当前是否存在jdk

  • java -version
  • rpm -qa | grep java

删除当前jdk

rpm -qa | grep java | xargs sudo rpm -e --nodeps

解压jdk

tar -zxvf jdkname -C /opt/module

配置环境变量

vim /etc/profile

最后一行添加

export JAVA_HOME=/opt/module/jdk
export PATH=$PATH:$JAVA_HOME/bin

文件生效 source /etc/profile

集群同步

xsync jdk
xsync /etc/profile

同步完成后各个机器,执邢文件生效

hadoop安装hdfs的配置

解压hadoop

tar -zxvf hadoop -C /opt/module

配置环境变量

vim /etc/profile

最后一行添加

export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP/sbin

文件生效 source /etc/profile

配置core-site.xml

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://ysy101:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/hadoop/hdfs/tmp</value>
        </property>
        <property>
                <name>fs.checkpoint.period</name>
                <value>3600</value>
        </property>
</configuration>

配置hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <property>
                <name>dfs.namenode.dir</name>
                <value>file:/usr/hadoop/hdfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.dir</name>
                <value>file:/usr/hadoop/hdfs/data</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>ysy102:50090</value>
        </property>
        <property>
                <name>dfs.webhdfs.enabled</name>
                <value>true</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.resourcemanager.hostname</name>
                <value>ysy101</value>
        </property>
</configuration>

配置mapred-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>ysy101:10020</value>
        </property>
        <property>               	<name>mapreduce.jobhistory.webapp.address</name>
                <value>ysy101:19888</value>
        </property>
</configuration>

配置slaves

添加结点地址

slave1
slave2
slave3

配置hadoop-env.sh 和yarn-env.sh

在文件中添加

export JAVA_HOME=/opt/module/jdk

启动与停止

命令功能
start-dfs.sh群启hdfs集群
stop-dfs.sh停止hdfs集群
start-yarn.sh启动yarn服务
stop-yarn.sh停止yarn服务
hadoop-daemon.sh start namenode启动NN
hadoop-daemon.sh start secondarynamenode启动SN
yarn-daemon.sh start resourcemanager启动rm
yarn-daemon.sh start nodemanager启动NM
mr-jobhistory-daemon.sh start historyserver启动历史服务器

zookeeper安装配置

解压zookeeper

tar -zxvf zookeeper -C /opt/module

配置服务器编号

  1. ​ 在zookeeper目录下创建zkData mkdir zkData
  2. ​ 在zkData上常见myid编写对应编号 vim myid
  3. ​ 每台积极的myid里写一个对应的id 1

配置zoo.cfg

  1. cd conf
  2. mv zoo_sample.cfg zoo.cfg
  3. vim zoo.cfg
  4. 增加如下配置
dataDir=/opt/module/zookeeper-3.4.10/zkData
#######################cluster########################## 
server.2=hadoop102:2888:3888 
server.3=hadoop103:2888:3888 
server.4=hadoop104:2888:3888

配置参数解读:

server.A=B:C:D。 

**A**是一个数字,表示这个是第几号服务器;

集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,

Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。 

**B**是这个服务器的ip地址;

**C**是这个服务器与集群中的Leader服务器交换信息的端口;

**D**是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就

是用来执行选举时服务器相互通信的端口。

同步zoo.cfg配置文件

同步集群

xsync zookeeper

注意:每个机器的myid内容不同

启动与停止

命令功能
bin/zkServer.sh start群启zookeeper服务
bin/zkServer.sh stop停止zookeeper服务

HIVE安装配置

参考:https://www.cnblogs.com/dxxblog/p/8193967.html

下载地址:http://mirror.bit.edu.cn/apache/hive/

下载安装包

解压安装包

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

将mysql驱动拷贝

到${HIVE_HOME}/lib目录下

驱动包myqsql-connector-java-5.1.47-bin.jar

配置环境变量

# 配置Hive的安装目录   
export HIVE_HOME=/root/software/apache-hive-2.3.4-bin  
# 在原PATH的基础上加入Hive的bin目录  
export PATH=$PATH:$HIVE_HOME/bin

hive --version 检测

修改配置hive-env.sh

  • cp hive-env.sh.template hive-env.sh
  • vim hive-env.sh
# 配置Hadoop安装路径  
HADOOP_HOME=/opt/module/hadoop
# 配置Hive配置文件存放路径  
export HIVE_CONF_DIR=/opt/module/hive/conf  
# 配置Hive运行资源库路径  
export HIVE_AUX_JARS_PATH=/opt/module/hive/lib

配置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>
      <description>location of default database for the warehouse</description>
  </property>
    <!--客户端显示当前数据库信息-->
  <property>
        <name>hive.cli.print.current.db</name>
        <value>true</value>
        <description>Whether to include the current database in the Hive prompt.</description>
   </property>
    <!--客户端查询显示表头信息	-->
   <property>
         <name>hive.cli.print.header</name>
         <value>true</value>
         <description>Whether to print the names of the columns in query output.</description>
    </property>

</configuration>

Hive元数据配置到MySQL

在conf目录下创建

  • touch hive-site.xml
  • vim hive-site.xml

参考官方文档配置https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration

<configuration>  
<!--配置hive元数据存储路径 -->
<property>
<name>hive.metastore.warehouse.dir</name>    
<value>/opt/module/hive-2.1/warehouse</value>
</property>
      <!--客户端显示当前数据库信息-->
  <property>
        <name>hive.cli.print.current.db</name>
        <value>true</value>
        <description>Whether to include the current database in the Hive prompt.</description>
   </property>
    <!--客户端查询显示表头信息	-->
   <property>
         <name>hive.cli.print.header</name>
         <value>true</value>
         <description>Whether to print the names of the columns in query output.</description>
    </property>
<!--连接元数据库的链接信息 -->    
<property>  
<name>javax.jdo.option.ConnectionURL</name>  
<value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>  
<description>JDBC connect string for a JDBC metastore</description>  
</property>  
<property>  
<!--连接数据库驱动 -->   
<name>javax.jdo.option.ConnectionDriverName</name>  
<value>com.mysql.jdbc.Driver</value>  
<description>Driver class name for a JDBC metastore</description>  
</property>  
<!--连接数据库用户名称 -->    
<property>  
<name>javax.jdo.option.ConnectionUserName</name>  
<value>root</value>  
<description>username to use against metastore database</description>  
</property>  
<!--连接数据库用户密码 -->   
<property>  
<name>javax.jdo.option.ConnectionPassword</name>  
<value>123456</value>  
<description>password to use against metastore database</description>  
</property>  
</configuration>

自动覆盖默认值

hive -hiveconf 属性=值

进入hive客户端

可以直接set 属性=值

初始化元数据库

  • schematool -dbType mysql -initSchema

  • schematool -dbType derby -initSchema

    需要 将metastore_db更名为:metastore_db.tmp

内嵌模式使用自带数据库

若是出现“ schemaTool complete”则初始化成功。

启动hive server

  • hive --service metastore &

蜂巢链接

  • hive
    或者
    hive --service cli
  • exit;

HBaes安装配置

解压安装包

配置hbase-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144 export HBASE_MANAGES_ZK=false #若不设置成false,则使用自带的ZooKeeper

如果使用jdk1.8注释掉以下俩行

#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m - XX:MaxPermSize=128m" #export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m - XX:MaxPermSize=128m"

配置hbase-site.xml

<configuration>
    <property> <!-- 指定Hbase的数据放到HDFS的哪个目录下 --> 		  		  <name>hbase.rootdir</name> 		 	  		 	  		  <value>hdfs://hadoop102:9000/HBase</value>
    </property> 
    <property>
   	  <name>hbase.cluster.distributed</name>              		<value>true</value> 
    </property> 
    <!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 --> 		<property>
    <name>hbase.master.port</name>
    <value>16000</value> 
    </property>
    <property> 
        <name>hbase.zookeeper.quorum</name>     		 	    	  <value>hadoop102,hadoop103,hadoop104</value>
    </property> 
    <property> 
        <name>hbase.zookeeper.property.dataDir</name> 	          	<value>/opt/module/zookeeper-3.4.10/zkData</value> 	</property> 
</configuration>

配置regionservers

ysy101
ysy102
ysy103

将Hadoop得配置文件软连接到HBase

ln -s opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml /opt/module/hbase/conf/core-site.xml 
ln -s opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml /opt/module/hbase/conf/hdfs-site.xml

同步到集群

xsync hbase

启动与停止

  • bin/hbase-daemon.sh start master
  • bin/hbase-daemon.sh start regionserver
  • bin/start-hbase.sh
  • bin/stop-hbase.sh

web端口号:16010

SPARK安装配置

解压安装包

tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/module
mv spark-2.1.1-bin-hadoop2.7 spark

Standlone模式配置

端口:8080

配置slaves,添加work结点

mv slaves.ttemplate slaves

vim slaves

hadoop102
hadoop103
hadoop104

配置spark-env.sh

vim spark-env.sh

SPARK_MASTER_HOST=hadoop101
SPARK_MASTER_PORT=7077
export SPARK_MASTER_IP=hadoop100
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORDER_INSTANCES=1
export SPARK_WORKER_MEMORY=3g
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=hdfs://hadoop100:9000/directory"

配置sbin/spark-config.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144
export SCALA_HOME=/opt/module/scala

JobHistoryServer配置

  1. 修改spark-default.conf.template名称

    [atguigu@hadoop102 conf]$ mv spark-defaults.conf.template spark-defaults.conf
    
  2. 修改spark-default.conf文件,开启Log:

    [atguigu@hadoop102 conf]$ vi spark-defaults.conf
    spark.eventLog.enabled           true
    spark.eventLog.dir               hdfs://hadoop102:9000/directory
    

    注意:HDFS上的目录需要提前存在。

    [atguigu@hadoop102 hadoop]$ hadoop fs –mkdir /directory
    
  3. 修改spark-env.sh文件,添加如下配置:

    [atguigu@hadoop102 conf]$ vi spark-env.sh
    
    export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 
    -Dspark.history.retainedApplications=30 
    -Dspark.history.fs.logDirectory=hdfs://hadoop102:9000/directory"
    

    参数描述:

    spark.eventLog.dir:Application在运行过程中所有的信息均记录在该属性指定的路径下;

    spark.history.ui.port=18080 WEBUI访问的端口号为18080

    spark.history.fs.logDirectory=hdfs://hadoop102:9000/directory 配置了该属性后,在start-history-server.sh时就无需再显式的指定路径,Spark History Server页面只展示该指定路径下的信息

    spark.history.retainedApplications=30指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。

  4. 分发配置文件

    [atguigu@hadoop102 conf]$ xsync spark-defaults.conf
    [atguigu@hadoop102 conf]$ xsync spark-env.sh
    
  5. 启动历史服务

    [atguigu@hadoop102 spark]$ sbin/start-history-server.sh
    
  6. 再次执行任务

    [atguigu@hadoop102 spark]$ bin/spark-submit \
    --class org.apache.spark.examples.SparkPi \
    --master spark://hadoop102:7077 \
    --executor-memory 1G \
    --total-executor-cores 2 \
    ./examples/jars/spark-examples_2.11-2.1.1.jar \
    100
    
  7. 查看历史服务

    hadoop102:18080

HA配置

  1. zookeeper正常安装并启动

  2. 修改spark-env.sh文件添加如下配置:

    [atguigu@hadoop102 conf]$ vi spark-env.sh
    
    注释掉如下内容:
    #SPARK_MASTER_HOST=hadoop102
    #SPARK_MASTER_PORT=7077
    添加上如下内容:
    export SPARK_DAEMON_JAVA_OPTS="
    -Dspark.deploy.recoveryMode=ZOOKEEPER 
    -Dspark.deploy.zookeeper.url=hadoop102,hadoop103,hadoop104 
    -Dspark.deploy.zookeeper.dir=/spark"
    
  3. 分发配置文件

    [atguigu@hadoop102 conf]$ xsync spark-env.sh
    
  4. 在hadoop102上启动全部节点

    [atguigu@hadoop102 spark]$ sbin/start-all.sh
    
  5. 在hadoop103上单独启动master节点

    [atguigu@hadoop103 spark]$ sbin/start-master.sh
    
  6. spark HA集群访问

    /opt/module/spark/bin/spark-shell \
    --master spark://hadoop102:7077,hadoop103:7077 \
    --executor-memory 2g \
    --total-executor-cores 2
    

Yarn模式配置

  1. 修改hadoop配置文件yarn-site.xml,添加如下内容:

            <!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
            <property>
                    <name>yarn.nodemanager.pmem-check-enabled</name>
                    <value>false</value>
            </property>
            <!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
            <property>
                    <name>yarn.nodemanager.vmem-check-enabled</name>
                    <value>false</value>
            </property>
    
    
  2. 修改spark-env.sh,添加如下配置:

    [atguigu@hadoop102 conf]$ vi spark-env.sh
    
    YARN_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop
    
  3. 分发配置文件

    [atguigu@hadoop102 conf]$ xsync /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml
    [atguigu@hadoop102 conf]$ xsync spark-env.sh
    
  4. 执行一个程序

    [atguigu@hadoop102 spark]$ bin/spark-submit \
    --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --deploy-mode client \
    ./examples/jars/spark-examples_2.11-2.1.1.jar \
    100
    

    注意:在提交任务之前需启动HDFS以及YARN集群。

    ./spark-shell --master spark://master:7077
    ./spark-shell --master yarn
    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值