zoukankan      html  css  js  c++  java
  • 阿里云ECS大数据环境搭建

    背景

    原本自己都是使用笔记本的虚拟机来搭建大数据环境,调试代码,运行项目。但自己的笔记本是13寸的,屏幕很小,经常由于要打开多个终端,同时辅以网页,造成小小的屏幕里有很多窗口,体验极差。
    有想过通过外接大显示屏来解决,但显示屏固定连接了自己的游戏本。等于宿舍里操作游戏本,实验室操作台式机,平时背着轻薄本。3台电脑,通过MEGA来同步文件。但是大数据环境在虚拟机里,不可能同步,也没有软件来同步虚拟机。
    这使得我平时,都是显示屏开资料,13寸笔记本来操作。特别糟糕。

    在一次操作舍友的阿里云ECS后,就喜欢上了。我可以在三台不同的电脑,随地随时访问,操作同一个Ubuntu系统。而且阿里云有学生套餐,1核2G,配置有点低,但是便宜,学生的话114一年。(这样的配置只能单机版了,就用来跑代码,集群方面还是得用自己电脑跑)

    以下是自己从零搭建大数据环境的步骤。

    参考厦门大学数据库实验室的ECS搭建环境博客
    http://dblab.xmu.edu.cn/blog/1952-2/

    下面是伟敬的博客。
    https://www.cnblogs.com/beeblog72/p/13228754.html

    购买阿里云和从控制台访问系统

    http://dblab.xmu.edu.cn/blog/1953-2/
    http://dblab.xmu.edu.cn/blog/1993-2/

    添加用户

    我们最好不要用root来操作,权限过高。我们可以新创一个用户。

    # 创建用户名
    sudo useradd -m 用户名 -s /bin/bash
    # 设置密码
    sudo passwd 用户名
    # 赋予权限
    sudo adduser 用户名 sudo
    

    而后通过这个用户名和密码可以通过控制台的那个访问界面直接进入系统。

    apt安装各个软件

    这里一个点赞的地方是apt源直接是阿里云的。虽然这是应该的,但自己每次安装新的Ubuntu系统都得修改apt源,所以对这个点觉得很赞。

    # 更新apt-get
    sudo apt-get update
    
    sudo apt-get install vim
    

    也可以自己安装其他软件,自己习惯用的。

    安装Java

    这里我是通过FileZilla来传输文件到阿里云的系统。个人习惯用解压安装包来安装Java,其实也可以用apt来安装Java,具体步骤可以参考[http://dblab.xmu.edu.cn/blog/2013-2/]。

    启动FileZilla,主机就在阿里云网页上,用户名和密码就是上面自己所设,端口22,用的是SFTP协议。

    在hadoop目录下建一个Download目录,用来汇总传输文件和下载文件。

    cd /home/hadoop/
    sudo mkdir Download
    sudo chown -R hadoop:hadoop ./Download
    

    传输文件到Download

    # 建立存放Java的目录jvm
    cd /usr/lib/
    sudo mkdir jvm
    sudo chown -R hadoop:hadoop ./jvm
    cd ~/Download
    sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm/
    
    # 然后配置环境变量~/.bashrc或者/etc/profile
    sudo vim ~/.bashrc
    # 插入以下内容
    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    
    source ~/.bashrc
    

    Java就安装成功了。

    安装Hadoop

    我的Ubuntu是18.04,希望安装较新的Hadoop版本3.1.3.
    http://dblab.xmu.edu.cn/blog/2022-2/

    老规矩,上传hadoop-3.1.3.tar.gz

    cd ~/Download
    sudo tar -zxvf hadoop-3.1.3.tar.gz -C /usr/local/
    cd /usr/local
    sudo mv hadoop-3.1.3/ ./hadoop
    sudo chown -R hadoop:hadoop ./hadoop/
    

    配置成伪分布式,这个服务器配置较低,配置成单机或者伪分布式就好。

    • 配置/hadoop/etc/hadoop/core-site.xml
    • 配置/hadoop/etc/hadoop/hdfs-site.xml

    具体配置信息要根据自己的主机情况,可以参考
    http://dblab.xmu.edu.cn/blog/2022-2/

    配置完,格式化NameNode就结束了。

    cd /usr/local/hadoop
    ./bin/hdfs namenode -format
    

    启动Hadoop有NameNode进程、DataNode进程、SecondaryNameNode进程就成功了

    ./sbin/start-dfs.sh
    

    安装scala

    参考
    http://dblab.xmu.edu.cn/blog/2080-2/

    安装Anaconda3

    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.02-Linux-x86_64.sh

    剩下步骤参考
    http://dblab.xmu.edu.cn/blog/2575-2/

    配置Jupyter Notebook,并设置远程访问。我们就可以在本机的浏览器上直接访问服务器的jupyter Notebook,后面再配上spark环境,就可以很好进行程序调试。

    安装Spark

    http://dblab.xmu.edu.cn/blog/2081-2/

    解压压缩包,更改目录名字,赋予权限。

    修改Spark配置文件:

    • spark-env.sh
    export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
    

    Failed to construct terminal; falling back to unsupported遇到这个错误参考
    https://www.cnblogs.com/chenshaowei/p/13221821.html

    安装sbt

    步骤如下:

    • 建立目录sbt
    • 将sbt.launch.jar移到目录
    • 编辑sbt文件
    • 查看sbt版本,会下载很多东西
    sudo mkdir sbt
    sudo chown -R hadoop:hadoop ./sbt/
    sudo vim ./sbt
    sudo chmod u+x ./sbt
    
    ./sbt内容如下:
    #!/bin/bash
    SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
    java $SBT_OPTS -jar /usr/local/sbt/sbt-launch.jar "$@"
    
    cd /usr/local/sbt
    ./sbt sbt-version
    

    没有报错的话,就是安装成功了,sbt安装太难了。个人还是喜欢用maven打包。后面一些地方要用到sbt写依赖,参考资料也很少,还是maven多。

    这里安装的sbt版本是0.13.11,比较旧。新版本变化较大,安装也不一样,大家可以参考一下别人的。

    安装Kafka

    # 解压安装包
    sudo tar -zxvf kafka_2.11-0.10.2.0.tgz -C /usr/local/
    # 更改目录名,赋予权限
    sudo mv kafka_2.11-0.10.2.0/ ./kafka
    sudo chown -R hadoop:hadoop ./kafka/
    

    后面还会添加安装hive,hbase,flume,zookeeper,mysql等所有配置均是单机版或伪分布式,供学习和调试代码。

  • 相关阅读:
    css
    Git使用
    Github入门
    flask框架预备知识
    django框架预备知识
    JSON格式
    盒模型详解
    position属性详解
    float属性详解
    display属性详解
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/13230527.html
Copyright © 2011-2022 走看看