Ubuntu开发环境搭建

Ubuntu 安装

查看系统版本

uname -a:可以看到操作系统的发行版号和操作系统版本
lsb_release -a:可以查看发行版本信息

修改时区

# 在界面中按照提示选择对应的时区即可
sudo dpkg-reconfigure tzdata

更改 shell 解释器

ubuntu 默认的 shell 解释器是 dash,会出现 source: command not found 问题,需要更改解释器为 bash

# 查看是否是 dash 解释器
ls -l /bin/sh

# 更改为使用 bash,执行下面语句,选择 no
sudo dpkg-reconfigure dash

# 查看是否已切换回 bash
ls -l /bin/sh

换源

查看系统版:cat /etc/os-release

  • 阿里源:https://mirrors.aliyun.com/ubuntu/
  • 清华源:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/

ubuntu 源的配置文件为 /etc/apt/sources.list

# 换源
sudo sed -i 's/http:\/\/cn.archive.ubuntu.com/https:\/\/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
# 更新源信息
sudo apt update

包管理工具简介

能用 apt 就用 apt。apt 增强了一些 apt-get的配置,统一了 apt-get 和 apt-cache

虽然 apt 与 apt-get 有一些类似的命令选项,但它并不能完全向下兼容 apt-get 命令。也就是说,可以用 apt 替换部分 apt-get 系列命令,但不是全部。

apt 命令取代的命令命令的功能
apt installapt-get install安装软件包
apt removeapt-get remove移除软件包
apt purgeapt-get purge移除软件包及配置文件
apt updateapt-get update刷新存储库索引
apt upgradeapt-get upgrade升级所有可升级的软件包
apt autoremoveapt-get autoremove自动删除不需要的包
apt full-upgradeapt-get dist-upgrade在升级软件包时自动处理依赖关系
apt searchapt-cache search搜索应用程序
apt showapt-cache show显示装细节
apt list列出包含条件的包(已安装,可升级等)
apt edit-sources编辑源列表

要大家注意的是:apt 命令也还在不断发展, 因此,你可能会在将来的版本中看到新的选项。

基础软件安装

vim 安装

sudo apt install vim

配置 vim

  1. 复制配置文件

    sudo cp /usr/share/vim/vimrc ~/.vimrc

  2. 配置

    syntax on                       开启语法高亮
    set nu!                         显示行号
    set nocompatible                "去掉有关vi一致性模式,避免以前版本的bug和局限
    set guifont=Luxi/ Mono/ 9       "设置字体,字体名称和字号
    filetype on                     "检测文件的类型     
    set history=1000                "记录历史的行数
    set background=dark             "背景使用黑色====
    set autoindent                  "vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进)
    set cindent                     "(cindent是特别针对 C语言语法自动缩进)
    set smartindent                 "依据上面的对齐格式,智能的选择对齐方式,对于类似C语言编写上有用   
    set tabstop=4                   "设置tab键为4个空格,
    set shiftwidth =4               "设置当行之间交错时使用4个空格     
    set ai!                         " 设置自动缩进 
    set showmatch                   "设置匹配模式,类似当输入一个左括号时会匹配相应的右括号      
    set guioptions-=T               "去除vim的GUI版本中得toolbar   
    set ruler                       "在编辑过程中,在右下角显示光标位置的状态行     
    set nohls                       "默认情况下,寻找匹配是高亮度显示,该设置关闭高亮显示     
    set backspace=2                 "设置退格键可用
    

网络三件套

# ping
sudo apt install inetutils-ping
# ifconfig
sudo apt install net-tools
# ip
sudo apt install iproute2

配置合盖不休眠和关闭显示屏

ubuntu 环境是搭建在了自己不用的老笔记本电脑生,为了省电就想着把屏幕关掉,对应的配置如下

vim /etc/systemd/logind.conf

找到#HandleLidSwitch这一行,意思是合上笔记本上盖后的行为,默认suspend,修改为ignore(即合盖不休眠)。然后还要去掉前面的#。保存文件。之后执行下面语句

sudo service systemd-logind restart

关闭屏幕

sudo apt install vbetool

# 关闭显示器
sudo vbetool dpms off
# 打开显示器
sudo vbetool dpms on

软件环境安装

java 安装

去官网下载 JDK,然后执行下面命令

# 解压到 /usr/local/
sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/
# 重命名文件夹
sudo mv /usr/local/jdk-17.0.7/ /usr/local/java/

配置环境变量

sudo vim /etc/profile

# 指向配置、日志和数据文件所在的目录。 确保该目录存在并且已授予适当的权限
export JAVA_HOME="/usr/local/java"
export PATH=$JAVA_HOME/bin:$PATH

加载环境变量:source /etc/profile

maven 安装

# 下载安装包
sudo wget https://dlcdn.apache.org/maven/maven-3/3.9.3/binaries/apache-maven-3.9.3-bin.tar.gz
# 解压到 /usr/local/
sudo tar -zxvf apache-maven-3.9.3-bin.tar.gz -C /usr/local/
# 重命名文件夹
sudo mv /usr/local/apache-maven-3.9.3/ /usr/local/maven/

配置阿里源

sudo vim /usr/local/maven/conf/settings.xml

<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>aliyunmavenpublic</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

配置环境变量

sudo vim /etc/profile

# 指向配置、日志和数据文件所在的目录。 确保该目录存在并且已授予适当的权限
export MAVEN_HOME="/usr/local/maven"
export PATH=$MAVEN_HOME/bin:$PATH

加载环境变量:source /etc/profile

Docker

官方安装文档

# 卸载冲突包(之前可能安装的包)
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
# 删除卸载残留的镜像(可选)
rm -rf /var/lib/docker/

# 更新仓库索引
sudo apt-get update
# 这些依赖用于确保可以使用 https 的 docker 仓库
sudo apt-get install ca-certificates curl gnupg

# 添加 Docker 的官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 设置 docker 存储库
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新仓库索引
sudo apt-get update
# 安装最新docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


# 以下为输出内容
# 一些依赖在安装docker 的时候被更新了,需要重启服务已使用最新的依赖
Daemons using outdated libraries
--------------------------------

  1. systemd-journald.service  3. systemd-manager           5. systemd-resolved.service   7. user@1000.service
  2. systemd-logind.service    4. systemd-networkd.service  6. systemd-timesyncd.service  8. none of the above

(Enter the items or ranges you want to select, separated by spaces.)

Which services should be restarted? 8

# 查看 docker 服务是否启动
sudo systemctl status docker
# 验证是否成功
sudo docker run hello-world

配置 docker 镜像仓库

sudo mkdir -p /etc/docker 

sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"]
}
EOF

重启 docker 服务

sudo systemctl daemon-reload
sudo systemctl restart docker

GitLab 安装(docker)

官方安装地址

设置环境变量

sudo vim /etc/profile

# 指向配置、日志和数据文件所在的目录。 确保该目录存在并且已授予适当的权限
export GITLAB_HOME=/srv/gitlab

加载环境变量:sudo source /etc/profile

极狐GitLab 容器使用主机装载的卷来存储持久数据:

本地路径容器路径用途
$GITLAB_HOME/data/var/opt/gitlab用于存储应用程序数据
$GITLAB_HOME/logs/var/log/gitlab用于存储日志
$GITLAB_HOME/config/etc/gitlab用于存储 GitLab 配置文件

正式安装

# 拉取镜像
sudo docker pull registry.gitlab.cn/omnibus/gitlab-jh:latest

# 启动容器
# 443 https 80 http 22 ssh
sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 2200:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  --shm-size 256m \
  registry.gitlab.cn/omnibus/gitlab-jh:latest

# 跟踪启动日志
sudo docker logs -f gitlab
# 查看初始密码
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

应为 22 端口被 ssh 使用,这里改为了使用 2200 端口

安装完成后可以访问 http://localhost:80 进入 jenkins

gitlab 相关容器

jenkins 安装(docker)

官方文档地址

# 创建 jenkins 的专用网络
sudo docker network create jenkins
# 拉取镜像
sudo docker pull docker:dind
# 用于使得 jenkins 容器内也可使用 docker
sudo docker run --name jenkins-docker --restart always --detach \
  --privileged --network jenkins --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind --storage-driver overlay2

--rm:可以不加,避免停止容器后 jenkins 容器被自动删除
--restart always:可以添加此参数,保证容器可以总是启动
/var/jenkins_home:是 jenkins 的工作目录,配置文件、插件、workspace 等都放在此目录下

创建 Dockerfile 文件

官方的镜像是可以直接启动使用的,但是如果需要使用 blueocean 等功能就需要在官方镜像的基础上自定义镜像,添加上述插件

vim Dockerfile

FROM jenkins/jenkins:2.401.2-lts-jdk17
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
  https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
  signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
  https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --help

官方脚本的最后一句是 RUN jenkins-plugin-cli --plugins "blueocean docker-workflow" 表示要为 jenkins 安装 blueocean、docker-workflow 两个插件,但是由于网络原因会下载失败,所以我在此处做出了修改,等到启动 jenkins 服务后再安装

启动 jenkins 容器

# 拉取镜像
sudo docker pull jenkins/jenkins:2.401.2-lts-jdk17
# 建立 jenkins 镜像
sudo docker build -t myjenkins-blueocean:2.401.2-1 .

# 启动容器
sudo docker run --name jenkins-blueocean --restart=on-failure --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  myjenkins-blueocean:2.401.2-1

数据卷在 /var/lib/docker/volumes/ 目录下
可以使用 http://[jenkins-server-address][:port]/[command] 的方式信息启动
command 的值可以是

  • exit 停止 jenkins
  • restart 重启 jenkins
  • reload 重新加载配置文件

安装完成后可以访问 http://localhost:8080 进入 jenkins

初始登录界面

初始密码的查看方式:sudo docker exec jenkins-blueocean cat /var/jenkins_home/secrets/initialAdminPassword

因为此时还未配置 jenkins 插件镜像,插件安装会出现网络问题。所以点击自定义插件安装,选择“无”,即不安装任何插件

在这里插入图片描述

创建一个管理员账户,点击保存完成

在这里插入图片描述

无特殊要求的话, URL 默认即可
在这里插入图片描述

配置 jenkins 镜像源

manage jenkins -> Plugins -> Advanced settings -> Update Site

在这里插入图片描述

可用的源有

  • 阿里源:https://mirrors.aliyun.com/jenkins/updates/update-center.json
  • 清华源:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

在浏览器中输入 http://[jenkins-server-address][:port]/restart 重启 jenkins,以使配置生效

补全 blueocean 、docker-workflow 插件,安装中文插件

在这里插入图片描述

在这里插入图片描述

docker-workflow 对应的插件名称为 Docker Pipeline

在这里插入图片描述

在浏览器中输入 http://[jenkins-server-address][:port]/restart 重启 jenkins,以使插件生效

jenkins 相关容器

harbor(本地安装)

官方安装地址

# 下载安装文件
sudo wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz
# 解压
sudo tar -zxvf harbor-offline-installer-v2.8.2.tgz
# 进入解压文件夹
cd harbor/
# 复制一份配置文件
sudo cp harbor.yml.tmpl harbor.yml

配置

因为是自己的开发环境,不考虑安全问题,所以注释掉相关 https 配置

配置文件地址

sudo vim harbor.yml
在这里插入图片描述

# 运行安装脚本
sudo ./install.sh

安装成功后可以通过 http://[harbor-server-address][:port]/ 访问,默认用户名为 admin

harbor相关容器

配置 docker

因为 docker 默认不使用 http,需要设置忽略安全性的 http 地址

sudo vim /etc/docker/daemon.json

{
    "registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"],
    "insecure-registries": ["192.168.1.8:10001"]
}

重启 docker 服务

sudo systemctl daemon-reload
sudo systemctl restart docker

docker 登录 harbor

docker login -u 用户名 -p 密码 harbor-server-address:port

Kubernets 安装

kubeadm 是一个简化 kubernets 集群安装的命令行工具, 本文使用 kubeadm 进行安装。

前提需要安装 docker 或者其他 CRI 容器

系统环境设置

禁用swap分区

swap分区指的是虚拟内存分区,它的作用是物理内存使用完,之后将磁盘空间虚拟成内存来使用,启用swap设备会对系统的性能产生非常负面的影响,因此kubernetes要求每个节点都要禁用swap设备,但是如果因为某些原因确实不能关闭swap分区,就需要在集群安装过程中通过明确的参数进行配置说明

vim /etc/fstab,注释掉swap分区一行,如下所示

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# /dev/disk/by-uuid/8bf7e345-3ab8-47a0-a8b1-1a5d723100af none swap sw 0 0

改完毕之后需要重启linux服务

禁用iptable和firewalld服务

ubuntu 默认没有这两个服务,可以不配置

# 安装防火情
sudo apt install ufw
# 关闭防火墙
sudo systemctl stop ufw
sudo systemctl disable ufw


# 关闭iptables服务
sudo systemctl stop iptables
sudo systemctl disable iptables

禁用 iptable 的原因是为了使用性能更好的 ipvs

禁用selinux

unbuntu 默认没有安装

# 编辑 /etc/selinux/config 文件,修改SELINUX的值为disable
# 注意修改完毕之后需要重启linux服务
SELINUX=disabled
修改linux的内核参数

sudo vim /etc/sysctl.d/kubernetes.conf,添加以下内容,是k8s必须的内核参数

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

配置 ipvs

sudo apt install ipset ipvsadm

# 1.安装依赖
sudo apt install ipset ipvsadm

# 2.配置
sudo cat <<EOF> /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
# 这里顺便把这个模块也加上
br_netfilter
EOF

kernel_version > 4.19 时配置 nf_conntrack,否则配置 nf_conntrack_ipv4

执行以下命令

# 临时重新加载内核参数配置
sudo sysctl -p
# 临时加载模块
modprobe br_netfilter
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4

可以重启查看对应的模块是否可以在开机时加载成功

# 查看网桥过滤模块是否加载成功
sudo lsmod | grep br_netfilter
# 重启查看对应的模块是否加载成功
sudo lsmod | grep -e ip_vs -e nf_conntrack

/etc/sysctl.d/目录下是放置内核参数配置文件的地方,这个目录中的所有配置文件都会在系统启动时被加载,使得这些内核参数在整个系统范围内生效
/etc/modules-load.d/目录下是放置内核模块配置文件的地方,系统启动时无条件读取配置文件加载的相应的内核模块
br_netfiler作用:br_netfilter模块可以使 iptables 规则可以在 Linux Bridges 上面工作,用于将桥接的流量转发至iptables链

cri-dockerd 适配器

自 1.24 版起,Dockershim 已从 Kubernetes 项目中移除,新版本 k8s 默认不支持 docker 作为运行时容器,需要安装 cri-dockerd 适配器

0.2.5及以后默认的网络插件时 cni,为了k8s使集群能够运行,应使用 Calico、Flannel、Weave 或其他 CNI

# 下载软件包
sudo wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.5/cri-dockerd_0.3.5.3-0.ubuntu-jammy_amd64.deb

# 安装软件包
sudo dpkg -i cri-dockerd_0.3.5.3-0.ubuntu-jammy_amd64.deb

安装完成后相关的文件路径

Created symlink /etc/systemd/system/multi-user.target.wants/cri-docker.service → /lib/systemd/system/cri-docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/cri-docker.socket → /lib/systemd/system/cri-docker.socket

官方配置参考

配置 docker 的 cgroupdriver

Docker 在默认情况下使用cgroup Driver为cgroupfs,而Kubernetes推荐使用systemd来替代cgroupfs

sudo vim /etc/docker/daemon.json,添加如下一行配置

"exec-opts": ["native.cgroupdriver=systemd"]

重启 docker:sudo systemctl restart docker

时间同步

sudo apt install chrony:安装时间同步服务

sudo apt install chrony
sudo systemctl start chronyd
  1. 主节点配置

修改配置如下 vim /etc/chrony/chrony.conf

# 容许此网段的客户端可以通过本机获取时间同步
allow 192.168.1.0/24
# 在本机无法链接网络获取精准时间时,仍然容许其他客户端可以通过本机获取时间同步
local stratum 10

重启服务

sudo systemctl restart chronyd
  1. 其他节点配置

修改配置如下 vim /etc/chrony/chrony.conf

server 192.168.1.6 iburst

重启服务

sudo systemctl restart chronyd
sudo chronyc sources -v


  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 192.168.1.6                 10   6    17     3  +6755ns[ +242us] +/-   39us

host 设置

vim /etc/hosts

192.168.1.6      master
192.168.1.8      node1

unbuntu 不包含 selinux,无需额外禁用

配置Kubernetes 包存储库

从 2023 年 8 月开始,Kubernetes 有两个不同的软件包存储库。Google 托管的存储库已被弃用,并将被 Kubernetes(社区拥有)软件包存储库取代。 以下使用社区仓库

sudo apt-get update
# apt-transport-https 可能已经变为虚拟包,如果如此可以跳过安装
sudo apt-get install -y apt-transport-https ca-certificates curl

# 下载 Kubernetes 包存储库的公共签名密钥。所有存储库都使用相同的签名密钥,因此您可以忽略 URL 中的版本
sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

# 添加适当的 Kubernetes apt 存储库
sudo echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

# 更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并固定其版本
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

在 Debian 12 和 Ubuntu 22.04 之前的版本中,默认情况下 /etc/apt/keyrings 不存在;您可以通过运行 sudo mkdir -m 755 /etc/apt/keyrings 创建它

本地提前准备好 k8s 所需要的镜像

由于外网不通,在安装kubernetes集群之前,可以使用国内源提前准备好集群需要的镜像,所需镜像可以通过下面命令查看

kubeadm config images list

将上述命令的输出结果替换到下列命令中执行

images=(
	kube-apiserver:v1.28.2
	kube-controller-manager:v1.28.2
	kube-scheduler:v1.28.2
	kube-proxy:v1.28.2
	pause:3.9
	etcd:3.5.9-0
	coredns:v1.10.1
)

for imageName in ${images[@]};do
	sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
	sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
	sudo docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName 
done

初始化控制节点

控制平面节点是运行控制平面组件的机器,包括 etcd(集群数据库)和 API Server(kubectl 命令行工具与之通信)

执行以下命令初始化集群

sudo kubeadm init --apiserver-advertise-address=192.168.1.8 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version=v1.28.2 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --cri-socket=unix:///var/run/cri-dockerd.sock

从 v1.22 开始,使用 kubeadm 创建集群时, 如果用户没有设置 KubeletConfiguration 下的 cgroupDriver 字段,kubeadm 默认为 systemd。手动配置的方法
--control-plane-endpoint:可以配置为 DNS 或 高可用的负载 ip,已实现集群的高可用
--pod-network-cidr:根据选用的网络插件的不同,一些网络插件可能需要设置此配置指明 pod 网络可以使用的 IP 地址段
--cri-socket:(可选)在机器上有多个容器运行时环境时,用于指定使用哪一个容器运行时环境
--apiserver-advertise-address:控制节点API 服务器的通告地址,默认使用默认网关关联的网卡
--image-repository:选择用于拉取控制平面镜像的容器仓库
--service-cidr:为服务的虚拟 IP 地址另外指定 IP 地址段
--service-dns-domain:为服务另外指定域名

kubeadm文档
kubeadm结合配置文件进行配置

启动日志里提到推荐使用 pause:3.9,可以做如下配置

sudo vim /lib/systemd/system/cri-docker.service,添加 --pod-infra-container-image 参数指定镜像即可

[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9 --container-runtime-endpoint fd://
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target
# 重新加载
sudo systemctl daemon-reload
sudo systemctl restart cri-docker.service

使用命令 sudo kubeadm reset --cri-socket=unix:///var/run/cri-dockerd.sock 重设集群,按提示删除对应的配置文件,然后再重新初始化集群

集群初始成功后,按照输出信息如下

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

You should now deploy a Pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  /docs/concepts/cluster-administration/addons/

You can now join any number of machines by running the following on each node
as root:

  kubeadm join <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>

按上述信息执行如下命令

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

添加网络插件,可选插件列表,本文选用 flannel 插件

sudo wget https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

# 由于网络原因,可以先打开 kube-flannel.yml 
# 看看要拉取的镜像有哪些,可以替换仓库或提前拉取下来
sudo docker pull docker.io/flannel/flannel:v0.22.3
sudo docker pull docker.io/flannel/flannel-cni-plugin:v1.2.0

# 不加 sudo 可以成功,因为会使用 $HOME/.kube 下的配置
kubectl apply -f kube-flannel.yml

# 查看节点状态,如果变为 ready 即可
kubectl get nodes
# 输出中的 CoreDNS Pod 是否为 Running 来确认其是否正常工作
kubectl get pods --all-namespaces

设置控制节点可以创建 pod

# 使能控制节点可以创建 pod
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
# 禁止控制节点可以创建 pod
kubectl taint nodes k8s node-role.kubernetes.io/master=true:NoSchedule
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Hadoop需要进行以下步骤: 1. 下载并安装Linux系统,推荐使用CentOS或Ubuntu等常用Linux发行版。 2. 安装Java环境,Hadoop需要依赖Java环境运行。可以从官网下载JDK,并进行安装。 3. 下载Hadoop,从官网下载Hadoop稳定版或者最新版本。 4. 解压Hadoop,将下载的Hadoop压缩包解压到指定目录,例如/opt/hadoop。 5. 配置Hadoop环境变量,在/etc/profile文件中添加Hadoop的环境变量,例如: ``` export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 6. 配置Hadoop集群,Hadoop需要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml四个配置文件。具体配置可以参考Hadoop官方文档。 7. 格式化Hadoop文件系统,在Hadoop安装目录下执行以下命令: ``` hdfs namenode -format ``` 8. 启动Hadoop集群,在Hadoop安装目录下执行以下命令: ``` start-all.sh ``` 9. 检查Hadoop集群状态,在浏览器中输入http://localhost:50070/,可以看到Hadoop集群的状态信息。 以上就是搭建Hadoop的大致步骤,具体操作可以根据Hadoop官方文档进行参考。 是的,这些步骤大致涵盖了在Linux系统上搭建Hadoop的过程。然而,需要注意的是,这只是一个基本的搭建过程,实际上搭建Hadoop集群需要进行更多的配置和调整才能满足具体的需求。因此,最好参考Hadoop官方文档以及相关的教程进行操作。是的,这些步骤可以帮助您在Linux系统上安装和配置基本的Hadoop集群。但是,为了满足实际需求,您可能需要进行更多的配置和调整。例如,您可能需要配置Hadoop的安全性、容错性、高可用性等方面的功能,以确保集群的稳定和安全性。另外,还有一些优化操作可以提高Hadoop集群的性能,如调整内存分配、调整Hadoop配置参数等。 因此,建议您参考Hadoop官方文档和相关的教程,了解更多关于搭建和配置Hadoop集群的信息和实践经验。同时,也建议您在操作之前备份数据和配置文件,以避免意外情况的发生。搭建Hadoop需要以下步骤: 1. 下载Hadoop二进制文件:从Hadoop官方网站下载最新的Hadoop二进制文件,解压缩到想要安装的目录。 2. 配置环境变量:编辑/etc/profile文件,设置JAVA_HOME和HADOOP_HOME变量,然后把$HADOOP_HOME/bin目录添加到PATH中。 3. 配置Hadoop:编辑$HADOOP_HOME/etc/hadoop目录下的配置文件,主要包括core-site.xml、hdfs-site.xml和mapred-site.xml三个文件。具体配置可以参考Hadoop官方文档。 4. 启动Hadoop:使用命令行进入$HADOOP_HOME目录,执行sbin/start-all.sh启动Hadoop。执行jps命令可以查看Hadoop是否成功启动。 以上是简单的搭建Hadoop的步骤,具体操作需要参考Hadoop官方文档和相关教程。谢谢你的补充和纠正。你提供的步骤与我之前给出的步骤类似,但是更加简洁明了。不过,像你所说的,搭建Hadoop集群需要更多的配置和调整才能满足具体的需求,因此建议参考Hadoop官方文档和相关教程进行操作。 要在Linux上搭建Hadoop,您可以按照以下步骤进行: 1. 在Linux上安装Java运行环境(JRE或JDK)。 2. 下载Hadoop的最新版本,并解压到您的Linux系统中的目录中。 3. 配置Hadoop环境变量:编辑~/.bashrc文件,在其中添加以下行: export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$HADOOP_HOME/bin 4. 配置Hadoop集群的基本设置,包括节点名称、数据存储位置、Hadoop日志存储位置等。这些设置在Hadoop的配置文件中进行修改,包括: - core-site.xml - hdfs-site.xml - mapred-site.xml - yarn-site.xml 这些文件通常位于$HADOOP_HOME/etc/hadoop目录下。 5. 启动Hadoop集群:使用以下命令启动Hadoop集群: $HADOOP_HOME/sbin/start-all.sh 6. 测试Hadoop集群:使用以下命令测试Hadoop集群: $HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 16 1000 以上是在Linux上搭建Hadoop的基本步骤。如果您需要更详细的步骤或具体的配置指南,请参考Hadoop官方文档或相关的教程。要在Linux上搭建Hadoop,您可以按照以下步骤进行操作: 1. 首先,确保您的Linux系统上已安装Java。可以在终端中运行`java -version`命令来检查Java是否已安装。 2. 接下来,下载并安装Hadoop。您可以从官方网站(https://hadoop.apache.org/releases.html)下载Hadoop软件包。下载后,将其解压缩到您希望安装Hadoop的目录中。 3. 接下来,配置Hadoop。编辑Hadoop配置文件,以指定Hadoop应该如何运行。在配置文件中,您需要设置Hadoop所需的一些环境变量,如JAVA_HOME和HADOOP_HOME等。 4. 配置Hadoop集群。根据您的需求,您可以配置Hadoop集群,以实现更高的可靠性和性能。这包括配置Hadoop集群的主节点和从节点等。 5. 最后,启动Hadoop集群。在启动Hadoop集群之前,请确保所有配置都正确。启动Hadoop集群后,您可以通过Web界面或终端访问它。 这些是在Linux上搭建Hadoop的一般步骤。请注意,Hadoop是一个复杂的系统,需要一定的技术知识和经验。在进行安装和配置之前,请确保您已经熟悉Hadoop的基本概念和操作方法。 这可能有点复杂,但是你可以通过几个步骤来安装Hadoop:1、安装Java环境;2、下载Hadoop安装包;3、设置Hadoop环境变量;4、配置Hadoop文件;5、启动Hadoop实例。要在Linux上搭建Hadoop,您可以按照以下步骤进行操作: 1. 首先,您需要在Linux上安装Java,因为Hadoop是基于Java开发的。可以通过运行以下命令来安装Java: ``` sudo apt-get install openjdk-8-jdk ``` 2. 下载并解压Hadoop软件包。您可以从Hadoop官网下载最新版本的Hadoop软件包。解压后将Hadoop文件夹移动到/opt目录下。 3. 配置Hadoop环境变量。打开.bashrc文件,并在文件末尾添加以下行: ``` export HADOOP_HOME=/opt/hadoop-<version> export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin ``` 注意:请将上面的<version>替换为您下载的Hadoop版本号。 4. 配置Hadoop集群。您需要在Hadoop文件夹下的/etc/hadoop目录中编辑以下文件: - core-site.xml ``` <configuration> <property> <name>fs.default.name</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>/opt/hadoop-<version>/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop-<version>/hdfs/datanode</value> </property> </configuration> ``` - mapred-site.xml ``` <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9010</value> </property> </configuration> ``` - yarn-site.xml ``` <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration> ``` 5. 格式化HDFS。运行以下命令格式化HDFS文件系统: ``` hdfs namenode -format ``` 6. 启动Hadoop集群。运行以下命令启动Hadoop集群: ``` start-all.sh ``` 如果一切顺利,您应该可以看到启动Hadoop集群的输出。 以上就是在Linux上搭建Hadoop的基本步骤。如果您需要使用更复杂的Hadoop配置,例如在集群中使用多个节点,您需要进行更多的配置。 很高兴为您提供帮助,您可以参考以下步骤:1.首先,在Linux服务器上安装Hadoop;2.然后,根据Hadoop的安装文档,配置Hadoop相关参数;3.最后,启动Hadoop,并测试Hadoop系统是否正常工作。搭建Hadoop需要一定的Linux操作系统知识和Hadoop相关知识,以下是一些概述步骤: 1.安装Linux操作系统并配置网络 2.安装Java环境,Hadoop需要Java 8以上版本 3.下载并解压Hadoop软件包 4.配置Hadoop环境变量和Hadoop配置文件 5.配置Hadoop的核心组件,如HDFS和YARN 6.启动Hadoop集群,测试Hadoop是否能够正常运行 7.如果需要的话,可以通过配置其他Hadoop组件,如Hive和HBase等 需要注意的是,搭建Hadoop需要一定的经验和技能,建议在熟悉Linux和Hadoop相关知识后进行操作,或者借助专业的技术支持进行搭建。 搭建Hadoop集群的步骤有很多,但是可以简化为:1.安装Hadoop;2.配置Hadoop;3.启动Hadoop;4.设置Hadoop集群。在Linux系统上搭建Hadoop集群的详细步骤可以参考网上的教程。 很高兴能够帮助您,在搭建Hadoop时,您需要首先确保您的Linux系统已经安装了Java。接下来,您需要下载Hadoop的安装文件,并根据您的系统环境进行配置。最后,您可以使用文档中的命令来安装Hadoop。 要在Linux上搭建Hadoop集群,可以按照以下步骤进行: 1. 在所有节点上安装Java环境。可以使用命令"java -version"来检查是否已经安装了Java。 2. 下载Hadoop二进制文件,并解压到目标文件夹。可以使用命令"tar -xvf hadoop-<version>.tar.gz"进行解压。 3. 配置Hadoop集群的核心文件,包括hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml等。可以在Hadoop的conf目录下找到这些文件,并根据需要进行修改。 4. 配置Hadoop集群的节点信息,包括master节点和slave节点。可以在Hadoop的conf目录下找到文件"masters"和"slaves",并根据需要进行修改。 5. 格式化Hadoop集群的NameNode。可以使用命令"hdfs namenode -format"来格式化NameNode。 6. 启动Hadoop集群的各个节点。可以使用命令"./sbin/start-all.sh"来启动所有节点。 7. 检查Hadoop集群的状态。可以使用命令"jps"来检查Hadoop的各个组件是否已经启动,并使用命令"hdfs dfsadmin -report"来检查Hadoop集群的状态。 8. 部署MapReduce程序。可以使用Hadoop提供的命令行工具或Web界面来上传和运行MapReduce程序。 以上是在Linux系统上搭建Hadoop集群的基本步骤,具体的配置和部署过程可能会有所不同,可以根据具体情况进行调整。要在Linux系统上搭建Hadoop,需要遵循以下步骤: 1. 在Linux上安装Java:Hadoop需要Java环境支持,可以从官网上下载Java安装包,安装完成后配置JAVA_HOME环境变量。 2. 下载Hadoop:从官网上下载最新版的Hadoop,解压缩到指定目录,并配置HADOOP_HOME环境变量。 3. 配置Hadoop环境变量:将Hadoop的bin目录添加到PATH环境变量中。 4. 配置Hadoop集群:在Hadoop的conf目录下,编辑core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等配置文件,设置相关参数,如文件系统、数据存储位置、副本数、容错机制、任务调度等。 5. 启动Hadoop:在Linux系统上启动Hadoop集群,首先启动HDFS(分布式文件系统)和YARN(资源管理器和应用程序管理器),然后启动MapReduce(分布式计算框架)。 6. 验证Hadoop集群:使用Hadoop提供的命令行工具,如hdfs dfs、yarn、mapred等命令,验证Hadoop集群是否正常工作。 以上就是在Linux系统上搭建Hadoop的基本步骤。当然,具体的操作细节还需要根据实际情况进行调整和优化。要在Linux上搭建Hadoop集群,您需要按照以下步骤操作: 1.下载Hadoop软件包并解压缩它。建议下载最新版本的Hadoop软件包,并将其解压缩到一个目录中。 2.配置Hadoop集群。您需要编辑Hadoop配置文件以指定群集的参数,例如群集中每个节点的IP地址、数据存储路径等。 3.启动Hadoop集群。您可以使用Hadoop提供的脚本启动各个Hadoop服务。例如,可以使用start-dfs.sh脚本启动HDFS服务,使用start-yarn.sh脚本启动YARN服务。 4.验证Hadoop集群。您可以使用Hadoop提供的命令行工具验证Hadoop集群是否正常工作。例如,您可以使用hadoop fs -ls命令列出HDFS中的文件,使用yarn node -list命令列出集群中的节点。 5.编写和运行Hadoop作业。一旦您的Hadoop集群正常工作,就可以编写和运行Hadoop作业。Hadoop提供了一个Java API,您可以使用它来编写MapReduce作业和其他类型的Hadoop作业。 请注意,搭建Hadoop集群是一项复杂的任务,需要一定的Linux和网络技能。如果您是初学者,建议您先阅读一些Hadoop的入门指南和教程,以便更好地了解Hadoop集群的搭建和使用。要在Linux上搭建Hadoop,您需要执行以下步骤: 1. 安装Java:Hadoop需要Java环境,因此需要先安装Java。 2. 下载和安装Hadoop:从Hadoop官网下载最新的Hadoop版本,并解压到一个目录中。 3. 配置Hadoop环境变量:将Hadoop的bin目录添加到系统环境变量中。 4. 配置Hadoop集群:编辑Hadoop的配置文件(例如core-site.xml,hdfs-site.xml和mapred-site.xml),指定Hadoop集群的各种参数,例如文件系统位置,数据节点和任务节点等。 5. 启动Hadoop:在终端中启动Hadoop,以启动Hadoop集群。 6. 运行Hadoop任务:使用Hadoop提供的命令行工具运行MapReduce任务或其他Hadoop任务。 请注意,在搭建Hadoop集群之前,您需要考虑网络配置和安全问题,以确保集群的安全和可靠性。 首先,你需要安装Java,然后下载Hadoop的安装包,并将其解压到你想要安装的文件夹中,然后根据Hadoop的安装文档进行配置,最后执行安装脚本。 要在Linux系统上搭建Hadoop,您可以按照以下步骤进行操作: 1. 首先,在Linux系统上安装Java开发工具包(JDK),并确保环境变量已正确设置。 2. 然后,下载Hadoop的二进制文件并解压缩到您选择的目录。 3. 接下来,根据您的需求编辑Hadoop的配置文件(例如core-site.xml、hdfs-site.xml等)。 4. 在完成配置后,启动Hadoop集群。您可以使用start-all.sh脚本来启动所有必需的守护进程。 5. 最后,测试您的Hadoop集群是否正常工作。您可以在Hadoop的web界面上查看集群状态,或者通过执行一些简单的Hadoop命令来测试它。 需要注意的是,Hadoop的安装和配置可能会涉及到一些复杂的操作,因此建议您仔细阅读Hadoop的文档并遵循最佳实践来确保成功搭建和配置Hadoop集群。搭建Hadoop需要先安装Linux系统,推荐使用CentOS或Ubuntu等流行的Linux发行版。 1. 安装Java环境 Hadoop是基于Java开发的,需要先安装Java环境。可以使用以下命令安装OpenJDK: ``` sudo apt-get install openjdk-8-jdk ``` 2. 下载Hadoop 在官网上下载Hadoop二进制文件,或者使用以下命令下载最新版本: ``` wget https://mirror-hk.koddos.net/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz ``` 3. 解压Hadoop 将下载的Hadoop压缩包解压到指定目录,例如: ``` sudo tar -zxvf hadoop-3.3.1.tar.gz -C /usr/local/ ``` 4. 配置环境变量 在`/etc/profile`文件末尾添加以下内容,使Hadoop命令可以在任何位置运行: ``` export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 5. 配置Hadoop 编辑Hadoop的配置文件,例如`/usr/local/hadoop/etc/hadoop/core-site.xml`,设置Hadoop的参数,例如: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 6. 启动Hadoop 运行以下命令启动Hadoop: ``` hadoop namenode -format start-all.sh ``` 现在Hadoop已经成功搭建完成了。可以通过Web界面访问Hadoop的各个组件,例如: - HDFS管理界面:http://localhost:50070/ - YARN管理界面:http://localhost:8088/要在Linux上搭建Hadoop,需要执行以下步骤: 1. 首先,您需要下载和安装适用于Linux的Hadoop软件包。 2. 然后,您需要配置Hadoop集群的核心组件,包括HDFS(Hadoop分布式文件系统)和YARN(Yet Another Resource Negotiator)。 3. 您还需要编辑Hadoop的配置文件,以指定Hadoop集群的特定参数和设置。 4. 接下来,您需要启动Hadoop集群中的所有进程,包括NameNode、DataNode和ResourceManager。 5. 最后,您需要检查Hadoop集群是否正常工作,并运行示例MapReduce作业以验证Hadoop集群的正确性。 请注意,搭建Hadoop集群需要一定的系统管理和网络知识,因此建议在执行这些步骤之前先学习相关的知识或咨询有经验的专业人员。要在Linux上搭建Hadoop,您需要执行以下步骤: 1. 下载和安装Java:Hadoop是一个Java应用程序,因此必须先安装Java。您可以从Oracle或OpenJDK等网站下载Java并安装。 2. 下载和安装Hadoop:在Hadoop官网上下载最新版本的Hadoop,解压缩后将其放在您选择的目录下。然后,配置环境变量,以便能够在终端中访问Hadoop。 3. 配置Hadoop环境:编辑Hadoop配置文件,以便Hadoop能够与您的系统和网络适当地交互。这些配置文件在Hadoop安装目录的“etc/hadoop”文件夹中。 4. 启动Hadoop集群:在启动之前,您需要设置一个主节点和多个从节点。编辑Hadoop配置文件以设置主节点和从节点。然后,通过在终端中输入特定命令来启动Hadoop集群。 5. 测试Hadoop集群:一旦Hadoop集群成功启动,您可以使用Hadoop Shell或MapReduce程序在集群上运行作业。可以通过输入特定命令来检查作业是否正确运行。 希望这些步骤能帮助您在Linux上成功搭建Hadoop。要在Linux上搭建Hadoop,可以按照以下步骤进行: 1. 安装Java环境:Hadoop是基于Java开发的,所以需要安装Java环境。 2. 下载Hadoop:从Hadoop官网下载最新版本的Hadoop。 3. 解压Hadoop:将下载的Hadoop压缩包解压到指定的目录下。 4. 配置Hadoop环境变量:设置Hadoop的环境变量,包括JAVA_HOME、HADOOP_HOME等。 5. 配置Hadoop的core-site.xml:配置Hadoop的core-site.xml文件,包括Hadoop的文件系统、Hadoop运要在Linux上搭建Hadoop,您需要按照以下步骤进行操作: 1.安装Java环境 Hadoop运行需要Java环境,因此首先需要在Linux系统上安装Java。您可以选择在官方网站下载Java安装包并进行手动安装,或者使用Linux系统自带的包管理工具进行安装。 2.下载Hadoop安装包 从官方网站下载适合您Linux系统的Hadoop安装包,然后将其解压缩到指定目录下。 3.配置Hadoop环境变量 为了方便使用Hadoop命令,需要将Hadoop的bin目录添加到系统的PATH环境变量中。 4.配置Hadoop集群 根据您的需求,配置Hadoop的各个组件,如HDFS和YARN等,以及其它相关的配置参数。 5.启动Hadoop服务 使用Hadoop提供的脚本启动Hadoop服务,然后可以通过Web界面或者命令行工具来操作和管理Hadoop集群。 这些是在Linux系统上搭建Hadoop的基本步骤。如果您需要更详细的说明和操作指导,可以查阅Hadoop官方文档或者相关的技术文章。要在Linux上搭建Hadoop,可以按照以下步骤进行操作: 1.下载并安装Java:在Linux系统上安装Java Development Kit(JDK),Hadoop需要Java环境才能运行。 2.下载Hadoop:从Apache Hadoop官网下载Hadoop的稳定版本,并解压到指定的目录。 3.配置Hadoop环境变量:在Linux系统上配置Hadoop的环境变量,使得系统可以找到Hadoop的命令。 4.配置Hadoop集群:根据需要,可以配置一个Hadoop集群,包括主节点和从节点。需要在每个节点上安装并配置Hadoop环境。 5.配置Hadoop的XML文件:在Hadoop的配置文件中指定Hadoop集群的名称、节点信息、数据存储路径等。 6.启动Hadoop:使用命令行启动Hadoop,可以通过运行Hadoop的shell脚本来启动Hadoop集群。 以上是基本的Hadoop搭建流程,需要根据实际情况进行调整和扩展。同时,还需要了解Hadoop的基本概念和操作指令,才能更好地运行和管理Hadoop集群。Linux搭建Hadoop可以分为以下几个步骤: 1. 下载并安装Linux系统,例如CentOS、Ubuntu等。 2. 下载并安装Java JDK,并配置环境变量。 3. 下载Hadoop二进制包,并解压到指定目录,例如/opt/hadoop。 4. 修改Hadoop配置文件,包括hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等文件,以适应你的需求。 5. 配置Hadoop集群的网络设置和SSH免密登录。 6. 格式化HDFS文件系统,启动Hadoop集群的各个组件,包括NameNode、DataNode、ResourceManager和NodeManager等。 7. 部署Hadoop应用程序,例如MapReduce程序,通过Hadoop命令行工具运行应用程序。 总的来说,搭建Hadoop集群需要熟悉Linux系统和Hadoop的基本操作,需要耐心和实践。好的,以下是关于在Linux上安装和配置Hadoop的步骤: 1. 下载Hadoop:访问Hadoop的官方网站 https://hadoop.apache.org/releases.html 下载最新版本的Hadoop。 2. 安装Java:在Linux上运行Hadoop需要Java环境,因此需要在Linux上安装Java。可以使用以下命令安装OpenJDK: ``` sudo apt-get update sudo apt-get install openjdk-8-jdk ``` 3. 解压Hadoop:将Hadoop压缩包解压到Linux上的某个目录中。例如: ``` sudo tar -xvf hadoop-3.3.0.tar.gz -C /usr/local/ ``` 4. 设置环境变量:编辑/etc/profile文件,添加以下内容: ``` export HADOOP_HOME=/usr/local/hadoop-3.3.0 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 5. 配置Hadoop:进入Hadoop的安装目录,并编辑/etc/hadoop/hadoop-env.sh文件,将以下内容添加到文件末尾: ``` export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ``` 6. 配置Hadoop集群:编辑/etc/hadoop/core-site.xml文件,将以下内容添加到文件末尾: ``` <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 7. 配置Hadoop数据节点:编辑/etc/hadoop/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-3.3.0/hadoop_data/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop-3.3.0/hadoop_data/hdfs/datanode</value> </property> </configuration> ``` 8. 启动Hadoop:运行以下命令启动Hadoop: ``` start-all.sh ``` 现在,你已经在Linux上成功地安装和配置了Hadoop。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值