搭建大数据开发环境【AutoDL容器】

这篇具有很好参考价值的文章主要介绍了搭建大数据开发环境【AutoDL容器】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

租用AutoDL容器

  • 注意:结束实验时记得将数据库数据转移存储

使用Docker实现本地IDEA连接AutoDL

  • @后为ssh服务器地址
  • 用户名为@前的
  • 端口号
  • ssh密码为用户密码

安装基础工具

  • 更新apt
apt-get update
  • 更新vim/gedit
apt-get install vim
  • 安装sudo
apt-get install sudo 
  • 安装
sudo apt-get install coreutils

创建新用户

  • 不能使用root用户启动Hadoop集群
  • 创建hadoop用户
useradd -m hadoop -s /bin/bash
  • 设置用户密码
sudo passwd hadoop
  • 增加管理员权限
adduser hadoop sudo

安装ssh、配置ssh无密码登录

  • Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server
sudo apt-get install openssh-server

使用命令登陆本机

ssh localhost
  • 如果有提示,按照提示输入yes回车
  • 退出刚才的 ssh,回到原先的终端窗口,利用 ssh-keygen 生成密钥,并将密钥加入到授权中
exit                           # 退出刚才的 ssh localhost
cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权
  • 此时再用 ssh localhost 命令,无需输入密码就可以直接登陆

安装JDK

压缩包安装

  • Java下载地址:Oracle Java Download(hadoop不指定特定版本java)

  • JDK1.8版本下载地址

  • 解压安装

这里安装的是1.8完整版(jdk1.8.0_381)

cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~ #进入hadoop用户的主目录
cd Downloads  #注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u162-linux-x64.tar.gz上传到该目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解压到/usr/lib/jvm目录下
  • 配置环境变量
cd ~
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_351	# 自己安装java的位置
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source ~/.bashrc
  • 查看是否生效
java -version

安装Hadoop

Hadoop常见基本操作

  • hadoop下载地址
  • 解压安装
sudo tar -zxf ~/下载/hadoop-3.3.4.tar.gz -C /usr/local    # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-3.3.4/ ./hadoop            # 将文件夹名改为hadoop
# 修改文件权限
sudo chown -R hadoop ./hadoop    
sudo chmod -R 777 ./hadoop		# 常用这个命令改变权限   
  • 检查是否可用
cd /usr/local/hadoop
./bin/hadoop version

hadoop伪装分布式

  • Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中
  • 伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml
  • 修改配置文件 core-site.xml
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/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
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>
  • 配置hadoop环境变量
export HADOOP_HOME=/usr/local/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$HOME/bin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
  • 在hadoop-env.sh中重新声明JAVA_HOME
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH:$HOME/bin
  • 配置完成后,执行 NameNode 的格式化
cd /usr/local/hadoop
./bin/hdfs namenode -format
  • 开启 NameNode 和 DataNode 守护进程
cd /usr/local/hadoop
./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格

安装MySQL

MySQL常见基本操作


安装Spark

Spark常见基本操作

  • Spark官方下载地址

  • 清华镜像

  • 解压安装

sudo tar -zxf ~/下载/spark-1.6.2-bin-without-hadoop.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-1.6.2-bin-without-hadoop/ ./spark
sudo chown -R hadoop:hadoop ./spark          # 此处的 hadoop 为你的用户名
  • 修改~/.bashrc中的配置文件
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
  • 修改Spark的配置文件spark-env.sh
cd /usr/local/spark
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
# 编辑spark-env.sh文件(vim ./conf/spark-env.sh),在第一行添加以下配置信息:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
  • 通过运行Spark自带的示例,验证Spark是否安装成功
cd /usr/local/spark
bin/run-example SparkPi
# 可以通过 grep 命令进行过滤
bin/run-example SparkPi 2>&1 | grep "Pi is"

简单项目开发–物流管理系统

前端设计

后端开发

数据处理

数据清洗
数据来源网上,主要利用爬虫方式进行处理数据,对于这些数据则可能发生,字段丢失,或者重复爬取等情况。需要针对于数据进行处理。
本次项目中选用spark进行数据简单处理
准备工作:

  • 启动hadoop中分布式文件系统
start-dfs.sh  
  • 启动spark-shell
spark-shell
  • 上传初始化源文件

Hadoop的基本指令文章来源地址https://www.toymoban.com/news/detail-821649.html

hadoop fs -mkdir -p /douban/input
hadoop fs -put /soft/movie_info.csv /douban/input/
hadoop fs -put /soft/movie_rating.csv /douban/input/
  • 查看文件

  • 启动spark-shell进行数据处理
scala> val movieInfo=sc.textFile("hdfs://192.168.91.199:9000/douban/input/movie_info.csv")
scala> val movieRating=sc.textFile("hdfs://192.168.91.199:9000/douban/input/movie_rating.csv")
  • 数据的去重工作:
scala> val rdd1 = movieInfo.distinct()
scala> val rdd2 = movieRating.distinct()
  • 保存到文件中:
scala> rdd1.repartition(1).saveAsTextFile("hdfs://192.168.91.199:9000/douban/output/out1")

scala> rdd2.repartition(1).saveAsTextFile("hdfs://192.168.91.199:9000/douban/output/out2")
  • 数据清洗:去除无效数据------每个数据文件中标头
scala> val rdd3 = movieInfo.filter(!_.contains("电影"))
rdd3: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[23] at filter at <console>:26
scala> val rdd4 = movieRating.filter(!_.contains("电影"))
rdd4: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[24] at filter at <console>:26
  • 保存本地文件
scala> rdd3.repartition(1).saveAsTextFile("hdfs://192.168.91.199:9000/douban/output/out3")
scala> rdd4.repartition(1).saveAsTextFile("hdfs://192.168.91.199:9000/douban/output/out4")

虚拟机常见错误

  • 基础指令无法使用
# 暂时恢复正常
export PATH=/usr/bin:/usr/sbin:/bin:/sbin

补充操作

本地Python通过paramiko对云服务器操作

  • 列出hadoop上的文件
import paramiko

# 云服务器的SSH连接信息
host = 'connect.bjb1.seetacloud.com'
port = 40180
username = 'hadoop'
password = '123'

# 创建SSH客户端
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接到云服务器
client.connect(host, port, username, password)

# 执行HDFS命令(例如,列出根目录)
hdfs_command = 'hdfs dfs -ls /'
stdin, stdout, stderr = client.exec_command(hdfs_command)

# 输出命令执行结果
print(stdout.read().decode())

# 关闭SSH连接
client.close()
  • 文件传输
import paramiko
from scp import SCPClient

# 云服务器的SSH连接信息
host = 'your_server_ip'
port = 22
username = 'your_ssh_username'
password = 'your_ssh_password'

# 创建SSH客户端
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接到云服务器
client.connect(host, port, username, password)

# 通过SCP传输本地文件到云服务器上的HDFS
local_file_path = 'path/to/local/file.txt'
remote_hdfs_path = '/path/in/hdfs/'

# 使用SCPClient传输文件
with SCPClient(client.get_transport()) as scp:
    scp.put(local_file_path, remote_hdfs_path)

# 关闭SSH连接
client.close()

到了这里,关于搭建大数据开发环境【AutoDL容器】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Autodl+Pycharm远程连接+虚拟环境设置

    c站上参考了许多帖子,但自己实践后发现仍有些小问题需要注意,尤其是连接远程服务器后虚拟环境的设置。 目录 一、算力租用 第一步:根据计算量的大小,参考autodl帮助文档里面选择合适的算力进行租用。   第二步:将算力的“登录指令”和“密码” 保存下来。 第三

    2024年01月18日
    浏览(35)
  • 【ChatGLM3】(7):在autodl上,使用A50显卡,使用LLaMa-Factory开源项目对ChatGLM3进行训练,非常方便的,也方便可以使用多个数据集

    https://www.bilibili.com/video/BV1GN411j7NP/ 大模型训练利器,使用LLaMa-Factory开源项目,对ChatGLM3进行训练,特别方便,支持多个模型,非常方方便 更多ChatGPT技术文章: https://blog.csdn.net/freewebsys/category_12270092.html 项目地址: https://github.com/hiyouga/LLaMA-Factory LLaMA Board: 通过一站式网页界面

    2024年02月05日
    浏览(42)
  • Dreambooth Stable Diffusion始化训练环境(AutoDL)

            以下代码源自:赛博华佗——秋叶:          Akegarasu 环境选择 Miniconda : Miniconda是一个轻量级的Conda环境管理系统。它包含了conda、Python和一些常用的包,以及能够管理安装其他包的能力。Miniconda是Anaconda的一个简化版,Anaconda是一个流行的Python科学计算发行版。 c

    2024年01月18日
    浏览(76)
  • AutoDL从0到1搭建stable-diffusion-webui

      AI绘画当前非常的火爆,随着Stable diffusion,Midjourney的出现将AI绘画推到顶端,各大行业均受其影响,离我们最近的AI绘画当属Stable diffusion,可本地化部署,只需电脑配备显卡即可完成AI绘画工作,此篇文章将以AUTODL从0到1云部署stable-diffusion-webui。 打开AutoDL,点击立即注册

    2024年02月14日
    浏览(72)
  • 【autodl/linux配环境心得:conda/本地配cuda,cudnn及pytorch心得】-未完成

    都是因为国内的网络环境以及墙的问题,导致我们服务器使用了源,或conda使用了源的问题。 使用命令: conda install ,提示找不到包,很可能是因为我们使用了源,然后源里没存那个包。 使用命令: conda search cudatoolkit,找不到包,那其实是这个源里没这个包,不是说conda真的

    2024年02月09日
    浏览(46)
  • AutoDL算力平台租用GPU服务器+VSCode远程开发同步代码

    理由: 便宜好用,性价比高 https://www.autodl.com/market/list 按量计费:就可以理解成按小时计费,不管你用没用GPU,只要开机,就按照小时收钱。 按量计费如果关机后,其他人可能会用卡,也就意味着,其他人把这台服务器的卡全占了,你就不能开机了。 按量计费关机之后再开机

    2024年02月01日
    浏览(62)
  • 【autodl/linux配环境心得:conda/本地配cuda,cudnn,gcc,g++及pytorch心得】

    都是因为国内的网络环境以及墙的问题,导致我们服务器使用了源,或conda使用了源的问题。 使用命令: conda install ,提示找不到包,很可能是因为我们使用了源,然后源里没存那个包。 使用命令: conda search cudatoolkit,找不到包,那其实是这个源里没这个包,不是说conda真的

    2024年02月04日
    浏览(48)
  • AutoDL使用百度网盘来进行数据的交互

    AutoDL上面其实是可以直接使用百度网盘、阿里云盘等公共网盘的,这样传资料的时候就不用通过Xshell慢悠悠的传输了,如果有百度网盘会员的话,甚至可以实现大文件的秒传 其原理可以从下面的这张图上面看出,首先,需要在AutoDL安装一个第三方网盘客户端 AutoPanel,和官方

    2024年02月08日
    浏览(57)
  • 使用code-server为Docker容器搭建在线开发环境

    Code-server是一个基于服务端的开源VSCode。只要服务器端配置好code-server,就可以在任何浏览器上使用VScode访问服务器的代码进行编程。(GitHub地址:https://github.com/cdr/code-server) Docker是一个开源的Linux容器引擎。我们在日常的开发任务中可以利用Docker容器快速地搭建实验环境或

    2023年04月08日
    浏览(46)
  • 【大模型研究】(1):从零开始部署书生·浦语2-20B大模型,使用fastchat和webui部署测试,autodl申请2张显卡,占用显存40G可以运行

    https://www.bilibili.com/video/BV1pT4y1h7Af/ 【大模型研究】(1):从零开始部署书生·浦语2-20B大模型,使用fastchat和webui部署测试,autodl申请2张显卡,占用显存40G可以运行 https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-chat-20b/summary InternLM2 开源了一个 200 亿参数的基础模型和一个针对

    2024年01月22日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包