第二章: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连接。
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 # 修改所有者和所属组
2.3 网络配置:让虚拟机连上外网
装好系统后,第一件事就是配网络。不然你连yum都用不了,后面装JDK、Hadoop全得手动下载,累死你。
CentOS 7 网络配置步骤:
- 编辑网卡配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-ens33 - 确保
ONBOOT=yes,BOOTPROTO=dhcp(自动获取IP) - 重启网络服务:
systemctl restart network - 测试连通性:
ping www.baidu.com
如果ping不通,八成是DNS没配。在 /etc/resolv.conf 里加上 nameserver 8.8.8.8 试试。
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"
好了,到这里,你的Linux环境就搭好了。下一章,我们开始装Hadoop,真正进入大数据的世界。
嗯,别急,先把这些基础打牢。磨刀不误砍柴工嘛。