大数据集群本地虚拟机安装方法

大数据集群本地安装方法

1、使用Vmware安装Linux系统

请自行下载,并安装。至少安装两台(这里以安装三台为例)

2、 安装xshell和xftp

安装xshell和xftp主要主要是方面后面传文件、写命令等操作。

(注意,xshell和xftp的版本一定要一致,不然安装xftp可能会有问题)

3、 配置虚拟机IP

A、 每台虚拟机都用root账号登录

a、  编辑hosts文件(使用以下命令)

sudo vi /etc/hosts

添加以下内容

192.168.79.131 master

192.168.79.132 slave1

192.168.79.133 slave2

         B、修改主机名

                   分别修改三台主机/etc/hostname的内容为master、slave1、slave2

如果没有/etc/hostname目录文件,则自己新建一个。

注意主机名和hosts文件中设置的名称应当保持一致,否则会产生意外的错误

 

注意:1、安装大数据齐群,一定要把虚拟机的防火墙都关掉。

  

      关闭防火墙:systemctl stop firewalld.service

      禁用防火墙:systemctl disable firewalld.service

      查看防火墙状态:firewall-cmd --state

      重启机器: reboot

2、每次换了网络时看看虚拟机的ip地址是否发生变化,如果发生变化,记得修改相应的地方(最好设定固定ip,配置VMnet8)

3、配置集群直接免密码登录

  https://www.cnblogs.com/zml-java/p/9448281.html

4、新建安装目录,最好每台机器建同一目录方便后面的操作

sudo mkdir -p /data/install 

5、安装JDK

1、下载好的tar包放在 /data/install/java 目录并解压:

tar -xvf jdk-7u80-linux-x64.tar.gz
配置环境变量 
首先进入编辑Linux配置环境变量的文件:
sudo vi /etc/profile

在里面添加如下内容:

export JAVA_HOME=/data/install/java/jdk1.7.0_80

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib4、使环境变量立刻生效:

source /etc/profile

 

使用java -version校验

6、hadoop的安装和配置

注:这里只需要配置一台(master),配置好之后,把配置好的hadoop-2.7.3文件夹考到另外几台机子即可,后面的Zookeeper、Hbase,spark也是一样的

首先到Apache官网(http://www.apache.org/dyn/closer.cgi/hadoop/common/)复制下载地址,然后进入 /data/install/apache 目录下面执行以下命令直接进行下载:

 

wget http://mirror.bit.edu.cn/apache/hadoop/common/stable/hadoop-2.7.3.tar.gz

下载完成后进行解压:

tar -xvf hadoop-2.7.3.tar.gz

A、 配置Hadoop

进入hadoop的配置目录:

cd /data/install/apache/hadoop-2.7.3/etc/hadoop/

需要修改的配置文件为:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、slaves、hadoop-env.sh、yarn-env.sh

core-site.xml(master也可以写成ip地址。目录换成自己对应的目录)

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/data/install/apache/hadoop-2.7.3/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>
</configuration>

 

hdfs-site.xml(先在/hadoop-2.7.3文件夹下创建hdfs文件夹,然后在hdfs文件夹下创建name和data文件夹

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/data/install/apache/hadoop-2.7.3/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/data/install/apache/hadoop-2.7.3/hdfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9001</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
        <value>false</value>
    </property>
</configuration>

mapred-site.xml(好像没有这个文件)

通过mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml创建etc/hadoop/mapred-site.xml,内容改为如下:

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

slaves文件(删除原来的localhost)

slave1
slave2

hadoop-env.shyarn-env.sh(一定要改成自己的java安装目录,原本是个变量)

export JAVA_HOME=/data/install/java/jdk1.7.0_80

配置文件修改完以后,将master下hadoop文件夹复制到slave1和slave2中

 

scp -r /data/install/apache/hadoop-2.7.3 root@slaver:/data/install/apache/
 
scp -r /data/install/apache/hadoop-2.7.3 root@slave2:/data/install/apache/

 

C、运行hadoop

启动hadoop的命令都在master上执行

 

(1)初始化hadoop(清空hdfs数据):

rm -rf /data/install/apache/hadoop-2.7.3/hdfs/*
rm -rf /data/install/apache/hadoop-2.7.3/tmp/*
/data/install/apache/hadoop-2.7.3/bin/hdfs namenode -format(只有第一次启动的时候执行。多次执行会有问题。后面hadoop启动之后,每次关掉就行,不用每次启动hadoop都去format)

 

启动hadoop(每台机器都要启动)

/data/install/apache/hadoop-2.7.3/sbin/start-dfs.sh

(注:停止语句)

/data/install/apache/hadoop-2.7.3/sbin/stop-dfs.sh

验证是否启动成功,在master输入 jps,应当存在namenode和secondary namenode

在slave1和slave2输入jps,应当存在datanode

 

进一步验证,访问:http:// 192.168.79.131:50070/dfshealth.html(192.168.79.131是master的ip),如图:

 

(3)启停yarn

/data/install/apache/hadoop-2.7.3/sbin/start-yarn.sh
/data/install/apache/hadoop-2.7.3/sbin/stop-yarn.sh

在master输入 jps,应当存在resourcemanager

 

在slave1和slave2输入jps,应当存在nodemanager

 

访问:http:// 192.168.79.131:8088/cluster

 

注意:如果安装不成功,或者出现各种问题。建议删除hadoop,然后重新解压配置master,然后将配置好的文件发送到slave1和slave2,这样比解决问题还快些

  很多问题都是多次格式化namenode 或者  没有创建data和name文件造成的。

参考:https://blog.csdn.net/reblue520/article/details/70888850

  https://www.linuxidc.com/Linux/2017-12/149906.htm

6、zookeeper集群的安装配置

1、下载 
http://apache.fayea.com/zookeeper/stable/下载安装包并解压:

wget http://apache.fayea.com/zookeeper/stable/zookeeper-3.4.9.tar.gz

2、配置

(1)建立数据目录

mkdir /data/install/apache/zookeeper-3.4.9/data

(2)进入conf目录创建并修改zoo.cfg文件

cp zoo_sample.cfg zoo.cfg

修改以后的内容为:

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/data/install/apache/zookeeper-3.4.9/data

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

#maxClientCnxns=60

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

server.0=master:2888:3888

server.1=slave1:2888:3888

server.2=slave2:2888:3888

这里还需要在数据目录/data/install/apache/zookeeper-3.4.9/data下面新建名为myid的文件,各个主机对应的内容是不同的,master的内容是0,slave1的内容是1,slave2的内容是2,分别对应server.x中的x

(3)设置环境变量:/etc/profile添加如下内容

export ZOOKEEPER_HOME=/data/install/apache/zookeeper-3.4.9

export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

别忘了source一下让环境变量生效

source /etc/profile

3、启停zookeeper

在各个节点执行以下命令:

/data/install/apache/zookeeper-3.4.9/bin/zkServer.sh start

/data/install/apache/zookeeper-3.4.9/bin/zkServer.sh stop

输入jps检测一下:

 

查看各个主机的状态:

sh bin/zkServer.sh status

 

这里如果报错:

bin/zkServer.sh: 81: /data/install/apache/zookeeper-3.4.9/bin/zkEnv.sh: Syntax error: "(" unexpected (expecting "fi")

看这篇文章的解决方法:http://blog.csdn.net/lcdcxy/article/details/50393363

10 hbase的安装和配置

 

1、下载 
首先到http://apache.fayea.com/hbase/stable/下载稳定版安装包并解压:

wget http://apache.fayea.com/hbase/stable/hbase-1.2.4-bin.tar.gz

2、配置

主要修改conf目录下的三个文件:hbase-env.sh、hbase-site.xml、regionservers

hbase-env.sh

export JAVA_HOME=/data/install/java/jdk1.7.0_80

export HBASE_MANAGES_ZK=true

export HBASE_LOG_DIR=/data/install/apache/hbase-1.2.4/logs

hbase-site.xml

<configuration>

    <property>

        <name>hbase.rootdir</name>

        <value>hdfs://master:9000/hbase</value>

    </property>

    <property>

        <name>hbase.cluster.distributed</name>

        <value>true</value>

    </property>

    <property>

        <name>hbase.zookeeper.quorum</name>

        <value>master,slave1,slave2</value>

    </property>

    <property>

        <name>hbase.master.maxclockskew</name>

        <value>180000</value>

        <description>Time difference of regionserver from master</description>

    </property>

</configuration>

regionservers

slave1

slave2

2016.11.25更新:还需要同步集群时间,否则有的从节点无法启动,在每个节点上运行ntp即可

ntpdate asia.pool.ntp.org

3、启停hbase

/data/install/apache/hbase-1.2.4/bin/start-hbase.sh

/data/install/apache/hbase-1.2.4/bin/stop-hbase.sh

master输入jps:

 

slave1和slave2输入jps:

 

访问:http://192.168.79.131:16010

 

4、hbase的一些基本命令

名称

命令表达式

创建表

create ‘表名称’, ‘列名称1’,’列名称2’,’列名称N’

添加记录

put ‘表名称’, ‘行名称’, ‘列名称:’, ‘值’

查看记录

get ‘表名称’, ‘行名称’

查看表中的记录总数

count ‘表名称’

删除记录

delete ‘表名’ ,’行名称’ , ‘列名称’

删除一张表

disable ‘表名称’
drop ‘表名称’

查看所有记录

scan “表名称”

首先进入hbase shell

./bin/hbase shell

(1)创建表

create 'test1','address1'

(2)添加记录

put'test','row1','address:province','zhejiang'

put 'test','row2','address:city','hangzhou'

(3)查看记录

get 'test','row1'

(4)查看表中的记录总数

count 'test'

(5)删除记录

delete 'test','row1','address'

(6)删除一张表

disable 'test'

drop 'test'

(7)查看所有记录

scan 'test'

11 spark的安装和配置

1、下载 
首先在http://spark.apache.org/downloads.html下载指定hadoop版本的安装包,然后解压缩

2、配置

创建并修改conf目录下的配置文件 spark-env.sh,slaves

spark-env.sh

cp spark-env.sh.template spark-env.sh

修改内容为:

export JAVA_HOME=/data/install/java/jdk1.7.0_80

export HADOOP_HOME=/data/install/apache/hadoop-2.7.3

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export HBASE_HOME=/data/install/apache/hbase-1.2.4

#如果ssh端口非22

export SPARK_SSH_OPTS="-p 22022"

slaves

cp slaves.template slaves

修改内容为:

slave1

slave2

3、启停spark

/data/install/apache/spark-2.0.0-bin-hadoop2.7/sbin/start-all.sh

/data/install/apache/spark-2.0.0-bin-hadoop2.7/sbin/stop-all.sh

在master上输入jps:

 

在slave1和slave2上输入jps:

 

访问:http://192.168.79.131:8080/

 

 

 

问题解决:

  在安装过程中也遇到了相当多的问题,下面对相关问题进行对应的解决。

1、启动hadoop的时候要确定master和slave上的的节点是不是启动了,master上面输入jps应出现namenode的字样,slave上应有datanode。如果启动不成功可尝试删除hdfs-site.xml 配置文件里面 dfs.data.dir 的值,找到路径对应的文件夹,把里面name和data下面的文件全部删除,再初始化hadoop环境就能成功启动hadoop。

2、启动zookeeper的时候注意要将机器的防火墙关闭,不然会导致集群机器之间无法连接,启动hbase的时候也会报错。

3、hbase启动的时候要注意网络是否正常,如果网络有波动,会导致集群机器的ip发生变化。从而导致莫名其妙地hbase就无法链接zookeeper导致出现问题。

4、在Windows下面链接hbase的时候按照官网的方法进行连接即可:http://hbase.apache.org/book.html#_examples。(注意Windows下要安装winutils.exe解决方法查看:http://bbs.csdn.net/topics/390951960?page=1)

posted @ 2017-03-16 15:38  zouminglan  阅读(321)  评论(0编辑  收藏  举报