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
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...