1.1- vmware安装包,ubuntu系统 --> 搭建虚拟机环境 1.2- jdk --> 安装java环境 1.3- xshell --> 本机可以连接虚拟机,可选择其他 1.4- scala --> 虚拟机用到的编程环境,可选择其他 1.5- hadoop --> 搭建hadoop环境 1.6- spark --> 搭建spark环境 1.7- hbase --> 搭建hbase环境 1.8- zookeeper --> 搭建zookeeper环境 1.9- kafka --> 搭建kafka环境 注- (软件如有需,文章后面会有网盘链接) 流程大致说明:为了简化操作,选用了图形版ubuntu,spark环境最终形式,1个主机(master)2个从机(slave1,slave2),由于虚拟机支持克隆操作,可以先配置好master,然后进行克隆并修改相关目录以简化重复操作。
文件 --> 创建新虚拟机 编辑 --> 管理虚拟机的网络,ip等 虚拟机 --> 管理虚拟机的启动,挂起,安装vmware tools等
点击确定之后,需要重启客户机(虚拟机)。 重启查看是否可以安装vmware tools
这里需要设置一下主机名和ip的对应关系,使用‘ifconfig’命令查看主机和从机的ip:
补充 windows和ubuntu共享文件夹设置 右键点击虚拟机,选择‘设置’
点击‘选项’,找到‘共享文件夹’,选择‘总是开启’,选择自己要共享的windows文件夹,将ubuntu需要用的安装包全都存放在此目录。 使用‘cd’命令查看windows和ubuntu共享的文件夹
cd /mnt/hgfs/共享文件夹 ls #查看共享文件夹下的文件 pwd #当前目录的路径配置的内容如下(根据自己的文件夹修改目录):
#java conf export JAVA_HOME=/opt/jdk1.8.0_141 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH下方代码是打开环境变量编辑的文件
sudo vim /etc/bash.bashrc在环境变量文件中增加下面的一行,目录根据实际调整。
#scala conf export PATH=/usr/local/scala-2.13.3/bin:$PATH如无反应,建议重启再次查看
8.3.1 首先配置hadoop的环境变量,输入’sudo vim /etc/bash.bashrc’指令,在环境变量配置文件的顶端加入如下语句,目录根据实际调整。
#hadoop conf export HADOOP_HOME=/usr/local/hadoop-2.7.7 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH" export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop8.3.2 立即激活环境变量配置文件,输入指令source ~/.bashrc 8.3.3 修改hadoop配置文件core-site.xml 和 hdfs-site.xml ,照样使用vim进行编辑,打开文件之后,在下面寻找‘configuration’标签。在<configuration 这里需要修改 /configuration>,修改如图。
#对core-site.xml文件修改 core-site.xml :vim /usr/local/hadoop-2.7.7/etc/hadoop/core-site.xml <configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop-2.7.7/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> #对hdfs-site.xml文件修改 hdfs-site.xml:vim /usr/local/hadoop-2.7.7/etc/hadoop/hdfs-site.xml <configuration> <property> <name>dfs.http.address</name> <value>master:50070</value> <descriptipn>配置 HDFS 的 http 的访问位置</descriptipn> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>3</value> <descriptipn>配置文件块的副本数,不能大于从机的个数</descriptipn> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/sj/bigdata/work/name</value> <descriptipn>名字节点访问位置</descriptipn> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/sj/bigdata/work/data</value> <descriptipn>数据节点访问位置</descriptipn> </property> </configuration> #对Slaves文件修改 Slaves:vim /usr/local/hadoop-2.7.7/etc/hadoop/Slaves #设置从节点 hostname,一行一个 slave1 slave2 slave3对 yarn-env.sh (yarn 运行环境配置,修改如下位置)
export JAVA_HOME=/opt/jdk1.8.0_141对 yarn-site.xml 文件修改如下:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> </configuration>对 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>每台机器都要如上配置,克隆虚拟机可以简化操作,但涉及主机名和ip对应的地方请酌情修改
对namenode节点进行格式化处理,如下命令。
/usr/local/hadoop-2.7.7/bin/hdfs namenode -format开启节点进程。
/usr/local/hadoop-2.7.7/sbin/start-dfs.sh输入jps查看一下是否成功启动
如无反应,建议重启再次查看
使用户‘master’获取‘spark’文件夹的操作权限
sudo chown -R master /usr/local/spark-2.4.5-bin-hadoop2.7切换到spark的安装目录的‘conf’文件夹下,将‘spark-env.sh.template ’复制重名命‘spark-env.sh’,然后使用‘sudo vim spark-env.sh’ 进行相应配置。
cp /usr/local/spark-2.4.5-bin-hadoop2.7/conf/spark-env.sh.template /usr/local/spark-2.4.5-bin-hadoop2.7/conf/spark-env.sh使用vim配置spark环境
# 编辑spark的配置 sodu vim /usr/local/spark/conf/spark-env.sh配置如下:
#jdk path export JAVA_HOME=/opt/jdk1.8.0_141 #hadoop path export HADOOP_HOME=/usr/local/hadoop-2.7.7 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop #scala path export SCALA_HOME=/usr/local/scala-2.13.3 #spark path export SPARK_HOME=/usr/local/spark-2.4.5-bin-hadoop2.7 #spark master'ip, port, webui'port, core, instance,....... export SPARK_MASTER_IP=master export SPARK_MASTER_PORT=7077 export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/nativei export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop-2.7.7/bin/hadoop classpath)使用命令查看
/usr/local/spark/bin/spark-shell进入spark-shell里面看看,执行下行指令,效果如图。
在master机器上测试:
在slave1上测试:
如无反应,建议重启再次查看
使用‘cd’命令到zookeeper的‘bin’目录下后,使用下图中的命令开启zookeeper,并且查看zookeeper的状态。
四台机器上完全一样,只需要配置完成一台机器,再复制到其余三台机器上即可。文件全在$HBASE_HOME/conf 下。
cd /usr/local/hbase-2.1.9/conf在 ‘hbase-env.sh’中修改如下
#java conf and zk export JAVA_HOME=/opt/jdk1.8.0_141 export HBASE_MANAGES_ZK=false #使用独立的 Zookeeper 而不使用内置的在 ‘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> </configuration>在 ‘regionservers’ 中修改如下(根据实际机器修改)
slave1 slave2配置 backup Master,在 conf/目录下建立 backup-masters ,添加内容为
#新建文件 sudo vim backup-masters #内容 slave1在 master 主机上输入 jps:
在slave从机上输入 jps:
每台机器都要如上设置,或者克隆,请酌情修改主机名和ip对应位置
要将虚拟环境中全部的机器依次启动zookeeper,然后全部机器再依次启动kafka,接着在一台机器上启动生产者程序。有箭头标志出现后,可以进行发送数据,默认一行数据为一次发送。
最后,在一台机器或全部机器打开新的终端,运行消费者程序,进行接收消息。
至此,基本环境已经搭建好。
软件安装一共分为解压软件压缩包,配置环境变量,运行测试介个步骤。有的软件启动前需要将另外的软件先启动,比如,启动kafka之前要先启动zookeeper。 在运行测试环节,如果测试两次不成功建议重启虚拟机然后再进行测试;同时,运行测试时尽量在软件的根目录,比如 ‘ /usr/local/kafka_2.11-2.4.1’ 或者 ‘ /usr/local/kafka_2.11-2.4.1/bin ’目录下运行测试命令。 若有的命令没有权限,请在原命令最前方加上 ‘ sudo ’。一般涉及修改文件内容,命令都要加‘ sudo ’,通用格式 ‘ sudo vim xxxxx ’。