首页 文章 精选 留言 我的

精选列表

搜索[自部署],共10000篇文章
优秀的个人博客,低调大师

一键部署 spark

前言 Spark简介 Spark是整个BDAS的核心组件,是一个大数据分布式编程框架,不仅实现了MapReduce的算子map 函数和reduce函数及计算模型,还提供更为丰富的算子,如filter、join、groupByKey等。是一个用来实现快速而同用的集群计算的平台。 Spark将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。其底层采用Scala这种函数式语言书写而成,并且所提供的API深度借鉴Scala函数式的编程思想,提供与Scala类似的编程接口 1.准备工作 下载安装包 scala-2.9.3:一种编程语言 Scala下载地址:http://www.scala-lang.org/download/spark-1.4.0:必须是编译好的Spark,如果下载的是Source,则需要自己根据环境使用SBT或者MAVEN重新编译才能使用。 Spark下载地址:http://spark.apache.org/downloads.html。 如图所示: 2、安装scala-2.9.3 3、安装spark-1.4.0 4、修改Spark配置文件 在spark-env.sh末端添加如下几行: spark-defaults.conf中还有如下配置参数: 5、测试spark安装是否成功 6、使用wordcount例子测试,启动spark-shell之前先上传一份文件到hdfs 7、代码: valfile=sc.textFile("hdfs://hadoop.master:9000/data/intput/wordcount.data") valcount=file.flatMap(line=>(line.split(""))).map(word=>(word,1)).reduceByKey(_+_) count.collect() count.textAsFile("hdfs://hadoop.master:9000/data/output") 理解上面的代码你需要学习scala语言。 总结:山不厌高,海不厌深。

优秀的个人博客,低调大师

docker部署gitlab-runner

1、配置启动脚本 version: '3.1' services: gitlab-ce: image: 'gitlab/gitlab-ce:latest' container_name: gitlab-ce restart: always hostname: 'gitlab.localhost.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.31.109' # external_url是项目生成时的前缀域名 ports: - '80:80' - '443:443' - '10022:22' volumes: - '/root/gitlab-ce/home/config:/etc/gitlab' - '/root/gitlab-ce/home/logs:/var/log/gitlab' - '/root/gitlab-ce/home/data:/var/opt/gitlab' networks: - 'default' gitlab-runner: image: 'gitlab/gitlab-runner:latest' container_name: gitlab-runner depends_on: - 'gitlab-ce' restart: always volumes: - '/root/gitlab-ce/runnerconfig:/etc/gitlab-runner' - '/var/run/docker.sock:/var/run/docker.sock' networks: - 'default' links: - 'gitlab-ce:gitlab.localhost.com' networks: default: driver: 'bridge' 两个容器使用gitlab.localhost.com一个域名,以便在注册runner时可以访问网络 2、注册runner docker-compose exec gitlab-runner /bin/bash # 连接进入 gitlab-runner 容器 gitlab-runner register # 进入容器后执行的命令 Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/): http://gitlab.localhost.com # gitlab 的访问路径 Please enter the gitlab-ci token for this runner: JLP2Rk2qcUZEfs_WLrTv # 注册令牌,在 gitlab 中获取 Please enter the gitlab-ci description for this runner: [gitlab-runner]: test_runner # runner 的名字 Please enter the gitlab-ci tags for this runner (comma separated): test # runner 的 tag Registering runner... succeeded runner=JLP2Rk2q Please enter the executor: docker-ssh, parallels, docker+machine, docker-ssh+machine, docker, shell, ssh, virtualbox, kubernetes: docker # 使用 docker 作为输出模式 Please enter the default Docker image (e.g. ruby:2.1): alpine:latest # 使用的基础镜像 Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! ############################# 注册成功后会显示以上信息,然后执行下面的命令进行启动 ################################### gitlab-runner start # 启动该 runner 3、检查runner状态

优秀的个人博客,低调大师

containerd与kubernetes集成部署

概念介绍 cri (Container runtime interface) cri is a containerd plugin implementation of Kubernetes container runtime interface (CRI). cri是 kubernetes的容器运行时接口的容器插件实现。 containerd containerd is an industry-standard container runtime with an emphasis on simplicity, robustness and portability. containerd完全支持运行容器的的CRI运行时规范。 cri在containerd1.1以上的版本的原生插件。它内置于containerd并默认启用。 cri-o OCI-based implementation of Kubernetes Container Runtime Interface. kubernetes为了兼容cri和oci孵化了项目cri-o。为了架设在cri和oci之间的一座桥梁。由此cri-o既兼容cri插件实现又兼容oci的容器运行时标准。 oci (Open Container Initiative) oci是由多家公司成立的项目,并由linux基金会进行管理,致力于container runtime 的标准的制定和runc的开发等工作。 runc runc is a CLI tool for spawning and running containers according to the OCI specification. runc,是对于OCI标准的一个参考实现,是一个可以用于创建和运行容器的CLI(command-line interface)工具。 概述 由于docker嵌入了太多自身内容,为了减轻容器负担。此次选用containerd作为kubernetes的容器实现方案。本文将带大家讲述如何搭建一个集成了containerd的k8s集群。 环境准备 下载containerd二进制包。我这里已经编译并打包了好了,内含containerd、runc、crictl、ctr等。 下载链接:https://github.com/cuisongliu/containerd-dist/releases/download/v1.2.4/containerd-v1.2.4.tar.gz runc版本: 1.0.1-dev containerd版本: v1.2.4 安装containerd 解压二进制包并生成默认文件 tar -C /usr/local/bin -xzf containerd-v1.2.4.tar.gz chmod a+x /usr/local/bin/* containerd config default > /etc/containerd/config.toml 生成的默认配置文件注意 [grpc] 的 address 字段默认为 /run/containerd/containerd.sock 配置文件其他参数含义参照github地址: https://github.com/containerd/containerd/blob/master/docs/man/containerd-config.toml.5.md 在 /etc/systemd/system 目录下编写文件 containerd.service内容如下 [Unit] Description=containerd container runtime Documentation=https://containerd.io After=network.target [Service] ExecStartPre=/sbin/modprobe overlay ExecStart=/usr/local/bin/containerd Restart=always RestartSec=5 Delegate=yes KillMode=process OOMScoreAdjust=-999 LimitNOFILE=1048576 # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNPROC=infinity LimitCORE=infinity [Install] WantedBy=multi-user.target 启动containerd systemctl enable containerd systemctl restart containerd systemctl status containerd 看containerd启动状态如果是running就没有问题。下面我们测试拉取一下hub的镜像。 测试containerd ctr images pull docker.io/library/nginx:alpine 看到输出done,说明containerd运行一切正常。 使用crictl连接containerd,下一步我们使用crictl连接containerd。 修改crictl的配置文件,在 /etc/crictl.yaml 写入以下内容: runtime-endpoint: unix:///run/containerd/containerd.sock image-endpoint: unix:///run/containerd/containerd.sock timeout: 10 debug: false 这里注意runtime-endpoint 和image-endpoint 必须与/etc/containerd/config.toml中配置保持一致。 验证一下cri插件是否可用 crictl pull nginx:alpine crictl rmi nginx:alpine crictl images 其中 crictl images 会列出所有的cri容器镜像。 到此我们的cri + containerd已经完成整合了。下一步我们需要修改kubeadm配置进行安装。 导入kubenetes离线镜像包 这里我们就需要导入k8s的离线镜像包了。这里需要注意一下,kubernetes是调用的cri接口,所以导入时也需要从cri插件导入镜像。 cri导入镜像命令(cri导入镜像): ctr cri load images.tar containerd导入镜像命令(containerd导入镜像): ctr images import images.tar 修改kubelet配置和kubeadm安装时配置 在 kubelet配置文件 10-kubeadm.conf 的[Service] 结点加入以下配置: Environment="KUBELET_EXTRA_ARGS=--container-runtime=remote --runtime-request-timeout=15m --container-runtime-endpoint=unix:///run/containerd/containerd.sock" 在kubeadm配置文件 kubeadm.yaml 中加入 apiVersion: kubeadm.k8s.io/v1beta1 kind: InitConfiguration nodeRegistration: criSocket: /run/containerd/containerd.sock name: containerd 到此containerd和kubernetes的集成就完成了。下面可以直接安装即可。

优秀的个人博客,低调大师

Docker之2 安装部署

Docker的版本 Docker有两个版本:社区版(CE)Docker Community Edition(CE)非常适合希望开始使用Docker并尝试使用基于容器的应用程序的个人开发人员和小型团队。企业版(EE)Docker Enterprise Edition(EE)专为企业开发和IT团队而设计,他们在生产中大规模构建,发布和运行业务关键型应用程序。 Docker支持的平台 Docker可在多个平台上使用,桌面平台有Windows、MAC。服务器可以运行在CentOS、Debian、Ubantu等Linux操作系统上。以下实验我们已阿里云的ECS服务器进行安装。 Docker安装 # 阿里云的Docker RPM Repo wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 安装Docker yum -y install docker-ce 启动Docker service docker start 添加镜像代理 mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://5j55onw1.mirror.aliyuncs.com"] } EOF 重启Docker生效代理 systemctl daemon-reload systemctl restart docker 查看代理生效情况 docker info

优秀的个人博客,低调大师

Docker部署Elasticsearch的坑

Elasticsearch需要大量的机器,单机版上点数据就挂了,集群版本最少也是3台机器。 在Docker上可以轻松的模拟出多台机器的场景,还能在云主机上实现。阿里云的Elasticsearch 最少也是一年5k的价格。所以自己在Docker上搭建实在是经济高效,适合业务刚刚起步的我们。 看起来很美好,这次升级最大的坑就是: Unable to lock JVM Memory: error=12, reason=Cannot allocate memory 折腾了一天,最后还是在github上找到了答案,直接粘贴上来。原文网址 If you look at your Docker daemon's limits, you will probably see this: grep locked /proc/$(ps --no-headers -o pid -C dockerd | tr -d ' ')/limits Max locked memory 65536 65536 bytes When we would much prefer to see: grep locked /proc/$(ps --no-headers -o pid -C dockerd | tr -d ' ')/limits Max locked memory unlimited unlimited bytes It depends on your system how to go about changing the limit, but on my fairly standard Ubuntu system I was able to do this: echo -e "[Service]\nLimitMEMLOCK=infinity" | SYSTEMD_EDITOR=tee systemctl edit docker.service systemctl daemon-reload systemctl restart docker

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册