Centos7安裝配置Hive

来源:https://www.cnblogs.com/yujie168/archive/2023/05/26/17433421.html
-Advertisement-
Play Games

Centos7安裝配置 # 一 、 安裝 安裝就不多做詳述,選擇好自己的鏡像設置好路徑即可 # 二 、配置 #### 2.1 網路配置 桌面右鍵進入 `cmd` 命令編輯視窗,在 Linux 中設置網路的相關配置都需要管理員許可權,需要先切換到 root 用戶。 ```markdown vim /et ...


Centos7安裝配置

一 、 安裝

安裝就不多做詳述,選擇好自己的鏡像設置好路徑即可

二 、配置

2.1 網路配置

桌面右鍵進入 cmd 命令編輯視窗,在 Linux 中設置網路的相關配置都需要管理員許可權,需要先切換到 root 用戶。

vim /etc/sysconfig/network-scripts/ifcfg-ens33 

配靜態 IP 地址的實例如下:

BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.164.132
NETMASK=255.255.255.0
GATEWAY=192.168.164.2
DNS1=8.8.8.8
DNS2=144.144.144.144

插入 IP 地址、掩碼和網關。可以在 VMware 平臺的菜單中通過"編輯->虛擬網路編輯器->VMnet8->NAT設置"

2.2 重啟網路服務

修改了 IP 設置必須要重啟網路服務或者重啟電腦才能生效

方式一:systemctl restart network

方式二:systemctl stop network

systemctl start network

2.3 驗證是否成功

重啟網路服務之後在命令編輯視窗輸入 ifconfig 會顯示出配置的 IP 地址

ping www.baidu.com 按Ctrl + Z 退出

永久關閉防火牆命令 systemctl disable firewalld.service

2.4 修改主機名以及IP映射

#修改主機名
vim /etc/hostname
#修改ip映射
vim /etc/hosts
#重啟

三 、 Python 3 安裝

在 Linux 系統中,一般自帶有 python2 編譯器

將下載的 Python 包解壓:

tar -zxvf Python-3.9.6.tgz
對包進行重命名
mv Python-3.9.6 python

配置 configure 文件,進入 Python 解壓目錄,執行 configure 命令。在執行命令之前需要安裝 gcc 工具的支持

#需要管理員許可權才能下載安裝
yum -y install gcc
#進入到python解壓目錄後執行
./configure

configure 命令執行後會在當前目錄生成 Makefile 文件,這個文件將在 make 解析時使用。

配置 SSL 證書, pip 工具在下載安裝時所使用的 SSL 支持與系統自帶的不一致,就會導致後續 pip 工具在使用時出現不能正常下載

查看 SSL 地址

openssl version -a
#記住
OPENSSLDIR: "/etc/pki/tls"
#修改 SSL 配置
vim Modules/Setup
#修改後的
SSL=/etc/pki/tls
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

使用 make 工具編譯源代碼,執行 make 命令需要 openssl 和 openssl-devel 的支持

yum -y install openssl.x86_64  openssl-devel.x86_64

make install 命令用於安裝 make 編譯好的源代碼

make install

Python 3 編譯安裝完成後,預設的安裝目錄是在 /usr/local/bin 和 /usr/local/lib 目錄下

創建軟鏈接:將 Python 3 可執行文件同步到 /usr/bin 目錄中

ln -s /usr/local/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/pip3 /usr/bin/pip3

pip3 升級命令 python3 -m pip install --upgrade pip

四 、安裝配置 JDK

4.1 解壓下載好的安裝包

tar -zxvf jdk-8u131-linux-x64.tar.gz
#重命名
mv jdk1.8.0_131 jdk

4.2 配置環境變數

linux 系統的環境變數分為兩種:全局變數和局部變數。profile 文件是全局變數配置文件,只有管理員用戶才能擁有對其文件的寫入許可權

vim /etc/profile
#添加java的環境變數
export JAVA_HOME=/home/eureka/software/jdk
export PATH=$PATH:$JAVA_HOME/bin
#刷新文件
source /etc/profile

4.3 驗證 JDK 是否安裝成功

輸入 java -version 如果出現Java 命令的詳情或者出現版本號即表示安裝成功

五 、安裝配置 Hadoop

5.1 解壓安裝

tar -zxvf hadoop-2.10.1.tar.gz

5.2 配置環境變數

vim /etc/profile
#插入內容
export HADOOP_HOME=/home/eureka/software/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#使環境變數生效
source /etc/profile

5.3 驗證

輸入 hadoop 命令,如果出現 hadoop 命令相關的詳細信息,則表示安裝成功

5.4 配置 core-site.xml 文件

切換到 Hadoop 配置目錄,進入到 hadoop/etc/hadoop 目錄,編輯 core-sise.xml 文件

<configuration>
<!--指定HDFS存儲入口-->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://Eureka:9000</value>
    #自己的主機名
</property>

<!--指定hadoop臨時目錄-->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/home/eureka/software/hadoop/tmp</value>
    #自己的hadoop安裝目錄
</property>

5.6 配置 hadoop-env.sh 文件

編輯 hadoop-env.sh 文件,修改 java_home 地址

export JAVA_HOME=/home/eureka/software/jdk
#自己JDK安裝目錄

5.7 配置 slaves 文件

如果是偽分佈有多個子機就配置上主機名即可

5.8 配置hdfs-site.xml 文件

hdfs-site.xml 文件是 Hadoop 2.0 以後版本的必配的文件之一,可以在裡面配置集群名字空間、訪問埠、URL地址、故障轉移等

<!--設備數據備份數量-->
<property>
	<name>dfs.replication</name>
	<value>3</value>
</property>

5.9 配置 mapred-site.xml 文件

Hadoop 包中沒有 mapred-site.xml文件,需要通過複製一個文件

cp mapred-site.xml.template mapred-site.xml

插入:

<!--配置mapreduce框架用yarn啟動-->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>

5.10 配置 yarn-site.xml文件

<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>Eureka</value>
</property>

	<!--NodeManager上運行的附屬服務。需配置成mapreduce_shuffle,才可運行MapReduce程式-->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

格式化 NAMENODE 節點:hdfs namenode -format

5.11 設置免密

執行 ssh-keygen -t rsa -P '' 命令後將在 /root/.ssh/ 目錄下以 rsa 方式生成 id_rsa 的秘鑰

對虛擬機進行免密設置 ssh-copy-id Eureka(你的主機名)

5.12 啟動 Hadoop 集群

#啟動
start-all.sh
#停止
stop-all.sh
#查看進程
jps

六、MySQL 安裝配置

6.1 卸載 mariadb

mariadb 是 Linux 系統自帶的資料庫系統,跟 MySQL 衝突,所以在安裝之前一般先卸載這個沒用的資料庫

# 查看mariadb
rpm -qa | grep mariadb

#卸載 mariadb 命令
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

# 再次確定是否卸載乾凈
rpm -qa | grep mariadb

6.2 解壓 MySQL 安裝包

#命令解壓
tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
#命令中的包要換成自己下載的版本號

6.3 安裝以及初始化

安裝順序: COMMON-->LIB-->LIB-COMPAT-->CLIENT-->SERVER

#安裝community-common
rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm --nodeps --force
#安裝community-libs
rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm --nodeps --force
#安裝community-client
rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm --nodeps --force
#安裝community-server
rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm --nodeps --force

通過 rpm -qa | grep mysql 命令查看 mysql 的安裝包

6.3.1 初識化 MySQL

完成對 mysql 資料庫的初始化相關配置

mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
#設置開機自啟動
systemctl enable mysqld

查看資料庫預設隨機密碼

cat /var/log/mysqld.log | grep password
#登錄mysql
mysql -uroot -p
#修改MySQL密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
# 授權遠程登錄訪問
create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option;flush privileges;
# 修改密碼永不過期
alter user 'root'@'%' identified by 'Root_root123' password expire never;

七 、Hive 安裝以及配置

7.1 解壓安裝包

配置環境變數

#編輯文件
vim /etc/profile
#插入hive的路徑
export HIVE_HOME=/home/yj/software/hive
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

7.2 配置 Hive

進入到 Hive 的 conf 目錄,把 hive-default.xml.template 複製一個副本,並重命名為 hive-site.xml

#複製副本
cp hive-default.xml.template hive-site.xml
#編輯文件
vim hive-site.xml
#配置hive-site.xml文件
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive_metadata?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>
#指定mysql驅動
<name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
</property>
#指定連接資料庫的用戶名
<property>
   <name>javax.jdo.option.ConnectionUserName</name>
   <value>root</value>
   <description>Username to use against metastore database</description>
</property>
#指定連接資料庫的密碼
<property>
   <name>javax.jdo.option.ConnectionPassword</name>
   <value>root</value>
   <description>password to use against metastore database</description>
</property>
#設置hive作業的本地臨時空間,tmp地址需要自己創建
<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/home/eureka/software/hive/tmp</value>
    <description>Local scratch space for Hive jobs</description>
</property>
#指定資源下載路徑
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>/home/eureka/software/hive/tmp/${hive.session.id}_resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
</property>
#指定存放在HDFS中的Hive真數據位置
/user/hive/warehouse
7.2.1 配置Hive相關配置文件

下載mysql-connector-java-xxx.zip後,並解壓它,在解壓後的文件里找到mysql-connector-java-xxx-bin.jar文件上傳到hive安裝目錄lib目錄下即可

mv mysql-connector-j-8.0.32.jar /home/eureka/software/hive/lib
#根據自己的安裝目錄決定
7.2.2 更新hadoop中的jline文件

從hive安裝目錄lib目錄下拷貝最新的jline文件到hadoop安裝目錄下/share/hadoop/yarn/lib目錄中

#根據自己的路徑
cp jline-2.12.jar /home/eureka/software/hadoop/share/hadoop/yarn/lib
7.2.3 配置hive的hosts
#編輯文件
vim /etc/hosts
#插入hive映射
IP地址 Hive

7.3 配置 hive-env.sh 文件

#複製副本
cp hive-env.sh.template hive-env.sh
# 編輯文件
vim hive-env.sh
##Java路徑
export JAVA_HOME=/home/eureka/software/jdk
# 設置Hadoop的安裝路徑
export HADOOP_HOME=/home/eureka/software/hadoop
#設置hive配置文件路徑
export HIVE_CONF_DIR=/home/eureka/software/hive/conf
#設置hive依賴包的路徑
export HIVE_AUX_JARS_PATH=/home/eureka/software/hive/lib

初始化資料庫:schematool -dbType mysql -initSchema


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # 超輕量級 DynamicTableNameInnerInterceptor是mybatis-plug的一個攔截器插件,可以自己定義需要攔截的表單,然後對它進行加工,這時mybatis-plus就會把SQL代碼的表名加上你的這個裝飾。 # 封裝的思想 我們通常把mybatis做成一個包,公司其它同 ...
  • 用`markdown`寫文檔很方便,但是有個困擾的地方,就是標題的編號問題。 寫文檔的時候,經常會在中間插入新的標題和內容,所以手動管理編號的話,如果新的標題插在前面,則要調整後面所有的編號。 如果在文檔完成後再手動加上編號的話,不僅容易忘記, 而且有時候我們是在其他編輯器里編輯文檔再導出`mark ...
  • # 一、環境準備 Netty需要的運行環境很簡單,只有2個。 - JDK 1.8+ - Apache Maven 3.3.9+ # 二、Netty 客戶端/伺服器概覽 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/c49191e6ee6e448f8c525b450 ...
  • # 原因 當mysql資料庫單表大於1千萬以後,查詢的性能就不能保證了,我們必須考慮分庫,分表的方案了,還好,sharding-jdbc可以很優雅的與springboot對接,完成對mysql的分庫和分表。 # 依賴整理 > 為了不影響其它小容量的表,所有添加了動態數據源,只對需要分庫分表的進行配置 ...
  • # Maven的概述 @[toc] Java 項目開發過程中,構建指的是使用『原材料生產產品』的過程。 - 原材料 - Java 源代碼 - 基於 HTML 的 Thymeleaf 文件 - 圖片 - 配置文件 - …… - 產品 - 一個可以在伺服器上運行的項目 構建過程包含的主要的環節: - 清 ...
  • > ML.Net - 開源的跨平臺機器學習框架 > - 支持CPU/GPU訓練 > - 輕鬆簡潔的預測代碼 > - 可擴展其他的機器學習平臺 > - 跨平臺 ![img](https://img2023.cnblogs.com/blog/1339560/202305/1339560-20230524 ...
  • 文件比較平常都是用Beyond Compare,可以說離不開的神器,特別是針對代碼比較這塊,確實挺好用的。 不過Beyond Compare平常拿它主要是用來做代碼比較,用來做一些大批量的二進位文件比較,其實有點不是很方便。 於是造輪子,重新寫了一個簡單的文件夾比較的小工具。 平常主要是拿來做一些N ...
  • 遞歸演算法本質: 1、方法的自我調用 2、有明確的終止條件 3、每次調用時,問題規模在不斷減少。通過遞減,最終到達終止條件 ...
一周排行
    -Advertisement-
    Play Games
  • 在一些複雜的業務表中間查詢數據,有時候操作會比較複雜一些,不過基於SqlSugar的相關操作,處理的代碼會比較簡單一些,以前我在隨筆《基於SqlSugar的開發框架循序漸進介紹(2)-- 基於中間表的查詢處理》介紹過基於主表和中間表的聯合查詢,而往往實際會比這個會複雜一些。本篇隨筆介紹聯合多個表進行... ...
  • 從按鈕、文本框到下拉框、列表框,WPF提供了一系列常用控制項,每個控制項都有自己獨特的特性和用途。通過靈活的佈局容器,如網格、堆棧面板和換行面板,我們可以將這些控制項組合在一起,實現複雜的界面佈局。而通過樣式和模板,我們可以輕鬆地定製控制項的外觀和行為,以符合我們的設計需求。本篇記錄WPF入門需要瞭解的樣式... ...
  • 以MySQL資料庫為例 # 一. 安裝 NuGet搜索Dapper.Lite並安裝最新版本。 ![](https://img2023.cnblogs.com/blog/174862/202306/174862-20230602155913303-757935399.jpg) NuGet搜索MySql ...
  • # 圖片介面JWT鑒權實現 # 前言 之前做了個返回圖片鏈接的介面,然後沒做授權,然後今天鍵盤到了,也是用JWT來做介面的許可權控制。 然後JTW網上已經有很多文章來說怎麼用了,這裡就不做多的解釋了,如果不懂的可以參考下列鏈接的 文章。 圖片介面文章:[還在愁個人博客沒有圖片放?](https://w ...
  • ![線程各屬性縱覽](https://img2023.cnblogs.com/blog/1220983/202306/1220983-20230603114109107-477345835.png) 如上圖所示,線程有四個屬性: - 線程ID - 線程名稱 - 守護線程 - 線程優先順序 ### 1. ...
  • 本次主要介紹golang中的標準庫`bytes`,基本上參考了 [位元組 | bytes](https://cloud.tencent.com/developer/section/1140520) 、[Golang標準庫——bytes](https://www.jianshu.com/p/e6f7f2 ...
  • 歡迎來到本篇文章!通過上一篇什麼是 Spring?為什麼學它?的學習,我們知道了 Spring 的基本概念,知道什麼是 Spring,以及為什麼學習 Spring。今天,這篇就來說說 Spring 中的核心概念之一 IoC。 ...
  • # 2022版本IDEA+Maven+Tomcat的第一個程式(傻瓜教學) ​ 作為學習Javaweb的一個重要環節,如何實現在IDEA中利用Maven工具創建一個Javaweb程式模版並連接Tomcat發佈是非常重要的。我比較愚鈍(小白),而且自身電腦先前運行過spring或maven的程式,系統 ...
  • 本篇專門扯一下有關 QCheckBox 組件的一個問題。老周不水字數,直接上程式,你看了就明白。 #include <QApplication> #include <QWidget> #include <QPushButton> #include <QCheckBox> #include <QVBo ...
  • # 1.列表數據元素排序 在創建的列表中,數據元素的排列順序常常是無法預測的。這雖然在大多數情況下都是不可避免的,但經常需要以特定的順序呈現信息。有時候希望保留列表數據元素最初的排列順序,而有時候又需要調整排列順序。python提供了很多列表數據元素排序的方式,可根據情況選用。 ## 1.永久性排序 ...