第二章:Linux基础与环境搭建

说实话,很多零基础的同学一听到Linux就头大。我当年也是这样,第一次看到黑乎乎的终端窗口,心里直打鼓。但后来我发现,Linux其实没那么可怕。它就像一把瑞士军刀,用熟了之后,你会爱上它的效率。

这一章,我们就把大数据工程师的“根据地”搭起来。嗯,跟着我来,一步步走。

2.1 系统安装:CentOS还是Ubuntu?

先回答一个经典问题:学大数据,选CentOS还是Ubuntu?

我个人习惯用CentOS。为什么?因为大多数企业生产环境都用它。你想想看,面试官问你“Linux熟不熟”,你说“我用的CentOS”,对方心里就有底了。Ubuntu在个人开发机上用得多,但上了生产,CentOS的稳定性和生态更占优势。

安装要点:

  • 虚拟机推荐:VMware Workstation 或 VirtualBox。我建议用VMware,兼容性好,踩坑少。
  • 磁盘分区:至少给20GB,/ 分区给10GB,/home 给5GB,swap给2GB。别问我为什么,我曾经因为磁盘不够,装到一半卡死,重来了三遍。
  • 网络配置:安装时选“桥接模式”,这样你的虚拟机就能和宿主机在同一网段,方便后面SSH连接。
我的小技巧:安装时把“开发工具”勾上,省得后面装gcc、make这些基础包。一步到位,省心。

2.2 常用命令:文件操作与权限管理

命令这东西,不用背,用多了自然就记住了。我刚开始也记不住,就写了个小抄贴在显示器边上。后来发现,常用的就那么十几个。

文件操作三板斧

  • ls:查看目录。加个 -l 看详细信息,加 -a 看隐藏文件。我习惯用 ll(其实是 ls -l 的别名)。
  • cd:切换目录。 cd ~ 回家, cd .. 回上一级。
  • cp / mv / rm:复制、移动、删除。注意 rm -rf 慎用!我曾经手滑删了 /etc 目录,那叫一个酸爽。

权限管理:别乱动别人的文件

Linux的权限模型很简单:读(r)、写(w)、执行(x)。每个文件有三组权限:所有者、所属组、其他人。

# 查看权限
ls -l /opt
# 输出示例:drwxr-xr-x. 2 root root 4096 Jan 15 10:00 software
# 解读:d表示目录,rwx表示所有者有读写执行权限,r-x表示组用户有读和执行权限,r-x表示其他人有读和执行权限

# 修改权限
chmod 755 /opt/software  # 所有者rwx,组用户r-x,其他人r-x
chown -R hadoop:hadoop /opt/software  # 修改所有者和所属组
避坑指南:我曾经在部署Hadoop时,因为 /opt 目录权限没配好,导致DataNode启动失败。排查了半天,最后发现是目录所有者不对。记住:大数据组件通常用专用用户运行,别用root。

2.3 网络配置:让虚拟机连上外网

装好系统后,第一件事就是配网络。不然你连yum都用不了,后面装JDK、Hadoop全得手动下载,累死你。

CentOS 7 网络配置步骤:

  1. 编辑网卡配置文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 确保 ONBOOT=yesBOOTPROTO=dhcp(自动获取IP)
  3. 重启网络服务:systemctl restart network
  4. 测试连通性:ping www.baidu.com

如果ping不通,八成是DNS没配。在 /etc/resolv.conf 里加上 nameserver 8.8.8.8 试试。

我踩过的坑:有一次配静态IP,忘了写GATEWAY,结果虚拟机只能和宿主机通信,上不了外网。排查了半小时,最后发现是网关没写。记住:配静态IP时,GATEWAY、DNS、NETMASK一个都不能少。

2.4 SSH免密登录:告别输密码

做大数据,你肯定要管理多台机器。每次ssh都输密码?不存在的。免密登录是基本功。

配置步骤:

# 1. 生成密钥对(一路回车即可)
ssh-keygen -t rsa -P ''

# 2. 将公钥复制到目标机器
ssh-copy-id hadoop@node1
ssh-copy-id hadoop@node2
ssh-copy-id hadoop@node3

# 3. 验证
ssh node1  # 第一次连接会提示确认,输入yes后,以后就不用密码了

为什么会这样?因为你的公钥被写到了目标机器的 ~/.ssh/authorized_keys 文件里。下次连接时,服务器用你的公钥加密一个随机数,你能用私钥解密,就证明你是你。

我的习惯:生成密钥时,我会在 ~/.ssh/config 里配置主机别名,比如 Host node1 HostName 192.168.1.101,这样直接 ssh node1 就行,不用记IP。

2.5 JDK安装与配置:大数据的基础

大数据组件几乎都跑在JVM上,所以JDK是必须的。我建议用JDK 8,虽然老,但稳定。Hadoop、Spark、Kafka这些主流框架对JDK 8的支持最好。

安装步骤:

# 1. 下载JDK(以jdk-8u202-linux-x64.tar.gz为例)
wget https://.../jdk-8u202-linux-x64.tar.gz

# 2. 解压到指定目录
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /opt/software/
mv /opt/software/jdk1.8.0_202 /opt/software/jdk8

# 3. 配置环境变量
vi /etc/profile
# 在文件末尾添加:
export JAVA_HOME=/opt/software/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 4. 使配置生效
source /etc/profile

# 5. 验证
java -version
# 输出类似:java version "1.8.0_202"
注意:不要用系统自带的OpenJDK!我曾经图省事,用yum装了OpenJDK,结果跑Hadoop时各种ClassNotFoundException。后来换成Oracle JDK,问题全没了。记住:大数据开发,请用Oracle JDK或AdoptOpenJDK。

好了,到这里,你的Linux环境就搭好了。下一章,我们开始装Hadoop,真正进入大数据的世界。

嗯,别急,先把这些基础打牢。磨刀不误砍柴工嘛。