一、准备工作

1.安装好虚拟机VMware .Pro

2.安装好操作系统CentOS 

CentOS的安装_编程届的学渣的博客-CSDN博客

3.安装好远程控制虚拟机的终端Finallshell

下载地址:

http://www.hostbuf/t/988.html

虚拟机输入ifconfig查找IP地址

远程连接

连接成功。如果再次登录时无法连接,可能是IP地址发生改变,改一下自己的IP地址即可 

二、Hadoop安装

准备工作

1.准备三台虚拟机,至少也需要两台,如果懒得再次安装,可以直接克隆现有的虚拟机

选中需要克隆的虚拟机,右键,找到“管理”->“克隆”,下一步

下一步

 选择“创建完整克隆”,下一页

 给克隆机取名,选择安装位置

 等待克隆

重复此操作再克隆机子即可。

2.给多台机器取名 vim /etc/hostname,修改完毕后需要重启 reboot

第一台机器  hadoop101

第二台机器 hadoop102

第三台机器  hadoop103

3.配置多台机器的别名

因为我的IP地址目前配置的动态IP的,所以可能我的IP地址会变化。如果我的IP地址因为我的位置的变动发生了变化,我只需要修改/etc/hosts里面的IP就可以了

vim  /etc/hosts

4.配置无密码访问模式

ssh-keygen  生成一对公私钥(一直回车,遇到需要输入y的地方输一下)

设置免密(因为我已经配置过了,就不再演示了,跟着步骤走就行)

ssh-copy-id   hadoop101
ssh-copy-id   hadoop102
ssh-copy-id   hadoop103

 这里我们就可以实现 无密码登录

5.上传JDK,如果有就不用上传了(找到想要上传的目录,直接拖进去即可上传)

解压

tar -zxvf   jdk-8u161-linux-x64.tar.gz 

 6.配置环境变量

vim /etc/profile

export JAVA_HOME=/export/software/jdk1.8.0_161
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

 7.上传我们的Hadoop并解压

tar -zxvf hadoop-3.1.3.tar.gz

8.开始配置,配置需要寻找我们配置文件,hadoop的配置文件都在 hadoop的解压目录下etc/hadoop
修改hadoop.env环境变量

vim /software/hadoop-3.1.3/etc/hadoop/hadoop-env.sh

#修改第54行为:

9.配置系统的环境.

hadoop有一个bin目录和sbin目录,我们要启动hadoop就是启动sbin目录的程序

vim /etc/profile
export HADOOP_HOME=/software/hadoop-3.1.3
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

配置完毕之后 source /etc/profile  让其生效 

10.配置NameNode(core-site.xml)

cd /software/hadoop-3.1.3/etc/hadoop
vim core-site.xml

#在第19行下添加以下内容:

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop101:9820</value>
  <description>配置NameNode的URL</description>
</property>

11.配置HDFS路径(hdfs-site.xml)

得提前在/software/hadoop-3.1.3如果没有data 就自己创建一个data
cd /software/hadoop-3.1.3/etc/hadoop
vim hdfs-site.xml

#在第20行下添加以下内容:

<property>
  <name>dfs.namenode.name.dir</name>
<value>/software/hadoop-3.1.3/data/namenode</value>
  <description>NameNode存储名称空间和事务日志的本地文件系统上的路径</description>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/software/hadoop-3.1.3/data/datanode</value>
  <description>DataNode存储名称空间和事务日志的本地文件系统上的路径</description>
</property>

12.配置YARN(yarn-site.xml)

vim yarn-site.xml

#在第18行下添加以下内容:

<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.scheduler.minimum-allocation-mb</name>
  <value>512</value>
  <description>为每个容器请求分配的最小内存限制资源管理器(512M)</description>
</property>
<property>
  <name>yarn.scheduler.maximum-allocation-mb</name>
  <value>4096</value>
  <description>为每个容器请求分配的最大内存限制资源管理器(4G)</description>
</property>
<property>
  <name>yarn.nodemanager.vmem-pmem-ratio</name>
  <value>4</value>
  <description>虚拟内存比例,默认为2.1,此处设置为4倍</description>
</property>

13. 配置MapReduce(mapred-site.xml)
vim mapred-site.xml
#在第20行下添加以下内容:

<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  <description>执行MapReduce的方式:yarn/local</description>
</property>
<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

14.配置当前的分布式存储有几台机器
vim /software/hadoop-3.1.3/etc/hadoop/workers

# 删除第一行localhost,然后添加以下三行
hadoop101
hadoop102
hadoop103

15.将我们配置好的hadoop复制一份给其他的机器

cd /software/
scp -r jdk1.8.0_161 root@hadoop102:$PWD
scp -r jdk1.8.0_161 root@hadoop103:$PWD

scp -r hadoop-3.1.3 root@hadoop102:$PWD
scp -r hadoop-3.1.3 root@hadoop103:$PWD

scp /etc/profile root@hadoop102:/etc
scp /etc/profile root@hadoop103:/etc

 #在每个节点上执行
source /etc/profile

16.启动

cd sbin
./start-all.sh

如果提示错误:不允许使用root用户来启动HADOOP

修改一下vim  etc/hadoop/hadoop-env.sh

export HDFS_DATANODE_USER=root
export HDFS_NAMENODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

17.查看启动hadoop一共启动了多少个软件

jps

同时在hadoop102上
dataNode
NodeManager

在hadoop103上
dataNode
NodeManager

18.在window下C:\Windows\System32\drivers\etc 找到host,然后在最后加入以下内容:
192.168.149.137  hadoop101
192.168.149.138  hadoop102
192.168.149.139  hadoop103

http://hadoop101:9870  如果访问不了 说明开启防火墙  
把防火墙给关闭掉
systemctl stop firewalld
systemctl disable firewalld

一定要确保当前机器的时间是正确的时间
yum install ntpdate -y
ntpdate time.windows

成功

三、Mysql安装

1.下载mysql源

wget https://repo.mysql//mysql80-community-release-el7-7.noarch.rpm

 2.安装mysql源

yum localinstall mysql80-community-release-el7-7.noarch.rpm  (我的已经安装了,所以是这个页面)

3.安装成功(出现以下三个目录即是成功)

4.建立元数据缓存

5. 查询mysql是否存在

6.安装mysql服务器端服务

7. 启动mysql服务并查看初始密码  (如下图所示)     

  systemctl start mysql

vim /var/log/mysqld.log

8.安装向导修改密码

mysql_secure_installation

9.如果怎么输入初始密码都不对

运行 vim /etc/myf 找到mysqld, 在其后面添加skip-grant-tables,然后运行systemctl restart mysqld 重启mysql,此时直接输mysql即可登录, 登录mysql以后运行代码改密码,最后退出mysql将添加的免密段删除。

10.数据库安装成功

四、Hive安装

1.把Hive的安装包上传到服务器上/software    然后解压Hive  

tar -zxvf apache-hive-3.1.2-bin.tar.gz    

修改一个新名字  mv    apache-hive-3.1.2-bin  hive

2.存放一个MySQL的驱动包到咱们hive的lib目录下

cd /software/hive/lib      直接将jar包拖拽到lib目录

3.配置文件, hive的配置文件都在hive/conf目录下

改名,方便一些

mv  hive-env.sh.template  hive-env.sh

 vim  hive-env.sh

export HADOOP_HOME=/software/hadoop-3.1.3
export HADOOP_HDFS_HOME=/software/hadoop-3.1.3
export HADOOP_YARN_HOME=/software/hadoop-3.1.3
export HADOOP_MAPRED_HOME=/software/hadoop-3.1.3
export HADOOP_COMMON_HOME=/software/hadoop-3.1.3
export HIVE_CONF_DIR=/software/hive/conf
export HIVE_AUX_JARS_PATH=/software/hive/lib

source  hive-env.sh

vim hive-site.xml

<configuration>
    <!-- 存储元数据mysql相关配置 -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value> jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</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>Qwe123@ewq</value> <!--这里是mysql数据库的登录密码,请自行修改-->
    </property>
    <!-- H2S运行绑定host -->
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop102</value>
    </property>
    <!-- 远程模式部署metastore 服务地址 -->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://hadoop102:9083</value>
    </property>
    <!-- 关闭元数据存储授权  -->
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
    <!-- 关闭元数据存储版本的验证 -->
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
</configuration>  

  chmod 755 hive-site.xml  给这个文件配置权限   本来是-rw-r--r--,       修改之后变成-rwxr-xr-x

4.初始化元数据

cd   /software/hive/bin 

./schematool -initSchema -dbType mysql 

5.验证是否启动成功

mysql -u root -p 进入mysql数据库 show databases;

查看是否多出一个数据库 hive use hive;

  使用hive这个数据库 show tables; 查看hive数据库下的所有表 , 看是否存在74张表

 6.启动Hive

为了方便我们启动hive服务器,所以我们将hive配置到环境变量中去


   2个服务 metastore 元数据服务器
                 hiveserver2 hive的服务器
              nohup   hive --service metastore &


              nohup   hive --service hiveserver2 &

 

jps查看,启动成功

接下来就是需要在宝塔里面安装日志采集flume,期待下篇文章。

更多推荐

大数据环境搭建