|NO.Z.00002|——————————|^^ 配置 ^^|——|Hadoop&Impala.V02|——|Impala.v02|环境准备|网络yum源|
一、集群准备
### --- [交互查询工具Impala]
~~~ [Impala的安装及入门案例-准备环境]
~~~ [Impala的安装及入门案例-制作网络源]
### --- 安装Hadoop,Hive
~~~ # Impala的安装需要提前装好Hadoop,Hive这两个框架,
~~~ hive需要在所有的Impala安装的节点上面都要有,因为Impala需要引用Hive的依赖包,
~~~ # hadoop的框架需要支持C程序访问接口,
~~~ 查看下图,如果有该路路径有.so结尾文件,就证明支持C接口。
~~~ HDFS:Impala数据存储在HDFS中
~~~ Hive:Impala直接使用Hive元数据管理数据
### --- 查看是否支持C程序的访问接口
~~~ 若是可以看到so结尾的程序,说明是支持C程序的
[root@linux123 ~]# ll /opt/yanqi/servers/hadoop-2.9.2/lib/native/
drwxr-xr-x 2 root root 94 Aug 12 21:15 examples
-rw-r--r-- 1 root root 1440164 Aug 12 21:15 libhadoop.a
-rw-r--r-- 1 root root 1632592 Aug 12 21:15 libhadooppipes.a
lrwxrwxrwx 1 root root 18 Aug 12 21:15 libhadoop.so -> libhadoop.so.1.0.0
-rwxr-xr-x 1 root root 842132 Aug 12 21:15 libhadoop.so.1.0.0
-rw-r--r-- 1 root root 476106 Aug 12 21:15 libhadooputils.a
-rw-r--r-- 1 root root 454188 Aug 12 21:15 libhdfs.a
lrwxrwxrwx 1 root root 16 Aug 12 21:15 libhdfs.so -> libhdfs.so.0.0.0
-rwxr-xr-x 1 root root 284815 Aug 12 21:15 libhdfs.so.0.0.0
二、 准备Impala的所有依赖包
### --- 准备Impala的所有依赖包
~~~ # Cloudera公司对于Impala的安装只提供了rpm包没有提供tar包;
~~~ 所以我们选择使用Cloudera的rpm包进行Impala的安装,但是另外一个问题,
~~~ Impala的rpm包依赖非常多的其他的rpm包,我们可以⼀个的将依赖找出来,
~~~ 但是这种方式实在是浪费时间。
~~~ # Linux系统中对于rpm包的依赖管理提供了一个非常好的管理工具叫做Yum,
~~~ 类似于Java工程中的包管理工具Maven,Maven可以自动搜寻指定Jar所需的其它依赖并自动下载来。
~~~ Yum同理可以非常方便的让我们进行rpm包的安装无需关系当前rpm所需的依赖。
~~~ 但是与Maven下载其它依赖需要到中央仓库⼀样Yum下载依赖所需的源也是在放置在国外服务器并且其中没有安装Impala所需要的rpm包,
~~~ 所以默认的这种Yum源可能下载依赖失败。所以我们可以自己指定Yum去哪里下载所需依赖。
~~~ # rpm方式安装:
~~~ 需要自己管理rpm包的依赖关系;非常麻烦;解决依赖关系使用yum;
~~~ 默认Yum源是没有Impala的rpm安装包,所以我们自己准备好所有的Impala安装所需的rpm包,
~~~ 制作Yum本地源,配置Yum命令去到我们准备的Yun源中下载Impala的rpm包进行安装。
Yum命令默认源

本地Yum源方式

三、具体制作步骤
### --- 具体制作步骤
~~~ Yum源是Centos当中下载软件rpm包的地址,
~~~ 因此通过制作本地Yum源并指定Yum命令使用本地Yum源,为了使Yum命令(本机,
~~~ 跨⽹网络节点)可以通过⽹网络访问到本地源,
~~~ 我们使用Httpd这种静态资源服务器来开放我们下载所有的rpm包。
### --- Linux121安装Httpd服务器
~~~ # yum方式安装httpd服务器
[root@linux121 ~]# yum install httpd -y
~~~ # 启动httpd服务器
[root@linux121 ~]# systemctl start httpd
~~~ # 验证httpd工作是否正常,默认端口是80,可以省略
http://linux121

### --- 新建一个测试⻚面
~~~ # httpd默认存放页面路径
/var/www/html/
~~~ # 新建一个⻚面test.html
[root@linux121 ~]# vim /var/www/html/test.html
<html>
<div style="font-size:100px">
this is a new page!!
</div>
</html>
~~~ # 访问:http://linux121/test.html
~~~ 后续可以把下载的rpm包解压放置到此处便可以供大家访问。
~~~ # 下载Impala安装所需rpm包Impala所需安装包需要到Cloudera提供地址下载
http://archive.cloudera.com/cdh5/repo-as-tarball/5.7.6/cdh5.7.6-centos7.tar.gz
~~~ # cloudera manager 离线安装的tar包下载地址
http://archive.cloudera.com/cm5/cm/5/
### --- 各种系统需要的cm包都在这里
~~~ # cloudera的官网地址
https://www.cloudera.com/
~~~ # cloudera-manager-installer.bin下载地址(cloudera manager的下载地址CDH)
http://archive.cloudera.com/cm5/installer/
~~~ # CDH下载地址
http://archive.cloudera.com/cdh5/parcels/
~~~ # CDH 6.0各组件新特性
https://www.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_600_new_features.html#cdh600_new_features
### --- 注意:
~~~ 该tar.gz包是包含了Cloudera所提供的几乎所有rpm包,
~~~ 但是为了⽅便我们不再去理其中依赖关系,全部下载来,整个⽂件⽐较大,有3.8G。
~~~ 选择一个磁盘空间够的节点,后续还要把压缩包解压所以磁盘空间要剩余10G以上。
~~~ 该包在资料中提供给大家。
[root@linux121 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 65G 13G 53G 20% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.7M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sr0 4.3G 4.3G 0 100% /mnt/cdrom
/dev/mapper/centos-home 30G 33M 30G 1% /home
/dev/sda1 1014M 146M 869M 15% /boot
tmpfs 182M 0 182M 0% /run/user/0
~~~ # 移动该安装包到/opt/yanqi/software
[root@linux121 ~]# ls -al /opt/yanqi/software/Impala/cdh5.7.6-centos7.tar.gz
-rw-r--r-- 1 root root 3842136337 Aug 30 19:59 /opt/yanqi/software/Impala/cdh5.7.6-centos7.tar.gz
~~~ # 解压缩
[root@linux121 Impala]# tar -zxvf cdh5.7.6-centos7.tar.gz
### --- 使用Httpd盛放依赖包
~~~ # 创建软链接到/var/www/html下
[root@linux121 Impala]# ln -s /opt/yanqi/software/cdh/5.7.6/ /var/www/html/cdh57
[root@linux121 ~]# ls -al /var/www/html/
lrwxrwxrwx 1 root root 30 Aug 31 11:26 cdh57 -> /opt/yanqi/software/cdh/5.7.6/
四、验证http://linux121/cdh57/

### --- 如果提示403 forbidden;关闭selinux
~~~ 修改之后要记得重启机器!!之前修改过可以不用修改!!
~~~ # 关闭selinux
~~~ 将SELINUX=enforcing改为SELINUX=disabled
[root@linux121 ~]# vim /etc/sysconfig/selinux
SELINUX=disabled
### --- 修改Yum源配置⽂件
~~~ name:对于当前源的描述
~~~ baseurl:访问当前源的地址信息
~~~ gpgcheck: 1 0,gpg校验
~~~ enabled:1/0,是否使⽤用当前源
### --- 创建一个新的配置⽂件
~~~ # 添加如下内容
[root@linux121 ~]# vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=http://linux121/cdh57/
gpgcheck=0
enabled=1
### --- 分发local.repo⽂件到其它节点
[root@linux121 ~]# rsync-script /etc/yum.repos.d/local.repo
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」