一. 前置准备

  • 配置oracle-jdk:

先去下载jdk,然后解压

  sudo tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local

然后sudo vim /etc/profile末尾加上以下几行修改环境变量

  export JAVA_HOME=/usr/local/jdk1.8.0_171
  export JRE_HOME=$JAVA_HOME/jre
  export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
  export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile使之立即生效

使用update-alternatives 命令维护系统的软连接

  sudo update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 2
  sudo update-alternatives --install /usr/bin/javac javac $JAVA_HOME/bin/javac 2

使用update-alternatives 命令选择默认的java和javac命令目录

  sudo update-alternatives --config java
  sudo update-alternatives --config javac

两条都选择刚才配置好的两个目录即可

  • 安装ssh
  sudo apt install openssh-server

利用 ssh-keygen 生成密钥,并将密钥加入到授权中,实现免密码登录

  ssh-keygen -t rsa
  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

二. 安装与配置Hadoop、HBase

  sudo tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local
  sudo tar -zxvf hbase-1.2.6-bin.tar.gz -C /usr/local
  cd /usr/local
  sudo chown -R {你的用户名} ./hadoop-2.7.6 # 修改文件权限
  sudo chown -R {你的用户名} ./hbase-1.2.6

然后sudo vim /etc/profile末尾加上以下几行修改环境变量

  export HADOOP_HOME=/usr/local/hadoop-2.7.6
  export HBASE_HOME=/usr/local/hbase-1.2.6
  export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin

source /etc/profile使之立即生效

若重启后发现$HADOOP_HOME等环境变量失效可以sudo vim ~/.bashrc末尾添加source /etc/profile使之每次开机自动执行

  • 配置hdfs伪分布式
  cd $HADOOP_HOME/etc/hadoop

vim hadoop-env.sh添加以下信息

  export JAVA_HOME=/usr/local/jdk1.8.0_171

vim core-site.xml编辑以下信息

  <configuration>
      <property>  
          <name>fs.defaultFS</name>   
          <value>hdfs://localhost:9000</value>  
      </property>       
      <property>  
          <name>hadoop.tmp.dir</name>
          <value>file:/usr/local/hadoop-2.7.6/tmp</value>  
      </property>
  </configuration>

vim hdfs-site.xml编辑以下信息

  <configuration>
      <property>
          <name>dfs.replication</name>
          <value>1</value>
      </property>
      <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:/usr/local/hadoop-2.7.6/dfs/name</value>
      </property>
      <property>
          <name>dfs.datanode.data.dir</name>
          <value>file:/usr/local/hadoop-2.7.6/dfs/data</value>
      </property>
      <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>localhost:9001</value>
      </property>
  </configuration>

执行格式化命令,以初始化HDFS

  hdfs namenode -format

开启NameNode和DataNode的守护进程

  $HADOOP_HOME/sbin/start-dfs.sh     #stop-dfs.sh可关闭进程

若出现如下SSH提示,输入yes即可。

启动完成后,输入命令 jps 来查看相关进程情况,若NameNode,DataNode,SecondaryNameNode三项都有显示则配置成功,若有错误请自查前面的操作

同时,Web 界面 http://localhost:50070 可以查看Node相关信息及HDFS 中文件

  • 配置hbase伪分布式:
  cd $HBASE_HOME/conf

vim hbase-env.sh添加以下信息

  export JAVA_HOME=/usr/local/jdk1.8.0_171

vim hbase-site.xml编辑以下信息,value里的端口号按需修改

  <configuration>
      <!--HBase 数据存放到 hdfs上-->
      <property>
          <name>hbase.rootdir</name>
          <value>hdfs://localhost:9000/hbase</value>
      </property>
      <!--开启集群分布式模式-->
      <property>
          <name>hbase.cluster.distributed</name>
          <value>true</value>
      </property>
      <!--hbase web ui端口配置-->
      <property>
          <name>hbase.master.info.port</name>
          <value>60010</value>
      </property>
  </configuration>  

执行start-hbase.sh运行

可通过stop-hbase.sh结束

同理启动完成后,输入命令 jps 来查看相关进程情况,若HMaster,HQuorumPeer,HRegionServer三项都有显示则配置成功,若有错误请自查前面的操作

同时,Web 界面 http://localhost:60010 可以查看Hbase相关信息

三. 安装与配置Scala、Spark

  sudo tar -zxvf scala-2.11.12.tgz -C /usr/local

然后sudo vim /etc/profile末尾加上以下几行修改环境变量

  export SCALA_HOME=/usr/local/scala-2.11.12
  export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin

source /etc/profile使之立即生效

  sudo tar -zxvf spark-1.6.3-bin-without-hadoop.tgz -C /usr/local
  cd /usr/local
  sudo mv spark-1.6.3-bin-without-hadoop spark-1.6.3
  sudo chown -R {你的用户名} ./spark-1.6.3 # 修改文件权限

然后sudo vim /etc/profile末尾加上以下几行修改环境变量

  export SPARK_HOME=/usr/local/spark-1.6.3
  export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$SPARK_HOME/bin

source /etc/profile使之立即生效

cd $SPARK_HOME/conf切换到spark配置目录并vim spark-env.sh编辑配置文件如下

  export JAVA_HOME=/usr/local/jdk1.8.0_171
  export SCALA_HOME=/usr/local/scala-2.11.12
  export HADOOP_HOME=/usr/local/hadoop-2.7.6 
  export HADOOP_CONF_DIR=/usr/local/hadoop-2.7.6/etc/hadoop
  export SPARK_MASTER_IP=localhost
  export SPARK_LOCAL_IP=localhost
  export SPAPK_LOCAL_DIRS=/usr/local/spark-1.6.3
  export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop-2.7.6/bin/hadoop classpath)

vim slaves接着编辑以下内容

  localhost

cp log4j.properties.template log4j.properties然后vim log4j.properties修改日志输出级别以免运行时输出太多不重要日志,将该行

  log4j.rootCategory=INFO, console

修改为

  log4j.rootCategory=WARN, console

最后执行$SPARK_HOME/sbin/start-all.sh运行

可通过$SPARK_HOME/sbin/stop-all.sh结束

同理启动完成后,输入命令 jps 来查看相关进程情况,若Master,Worker两项都有显示则配置成功,若有错误请自查前面的操作

同时,Web 界面 http://localhost:8080 可以查看Spark相关信息

四. 其它

  • 编辑一键运行及一键结束shell脚本

vim start-all.sh输入以下内容:

  #!/bin/bash
  #
  $HADOOP_HOME/sbin/start-dfs.sh
  start-hbase.sh
  $SPARK_HOME/sbin/start-all.sh
  echo -e "The list of your jps should include:\nNameNode,DataNode,SecondaryNameNode\tfor HDFS\nHMaster,HRegionServer,HQuorumPeer\tfor HBase\nMaster,Worker\tfor Spark"
  jps

vim stop-all.sh输入以下内容:

  #!/bin/bash
  #
  $SPARK_HOME/sbin/stop-all.sh
  stop-hbase.sh
  $HADOOP_HOME/sbin/stop-dfs.sh
  jps

将文件放在你喜欢的地方,以后在该目录下执行sh start-all.shsh stop-all.sh就能一键启动或关闭所有服务了