Archlinux/Manjaro 安裝 MariaDB Hadoop Hive (僞分佈式)

Hadoop 2.x.y(僞分佈式)

參考官網對應版本的文檔的 single node setup 部分
https://hadoop.apache.org/docs/

首先要有 ssh 和 rsyncphp

而後下載 bin 包並解壓,把解壓的根目錄添加爲環境變量 HADOOP_HOMEjava

# 例
export HADOOP_HOME=/home/yzj/Applications/hadoop/hadoop-2.10.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

修改 HADOOP_HOME/etc/hadoop/hadoop-env.shnode

# set to the root of your Java installation
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk
# Java 路徑 可由 whereis java 命令找到

修改 HADOOP_HOME/etc/hadoop/core-site.xmlmysql

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

修改 HADOOP_HOME/etc/hadoop/hdfs-site.xmllinux

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/yzj/Applications/hadoop/hadoop-2.10.0/tmp</value>
        <!-- 默認會存放在 linux 系統的 /tmp 中,必定修改成一個持久化的路徑 -->
    </property>
</configuration>

設置 sshsql

啓動 ssh 服務: sudo systemctl start sshd.service
先看看不輸入密碼可否 ssh 到 localhost: ssh localhost
不行的話數據庫

ssh-keygen -t rsa -P '' -f ~/.ssh/id\_rsa
cat ~/.ssh/id\_rsa.pub >> ~/.ssh/authorized\_keys
chmod 0600 ~/.ssh/authorized\_keys

修改 HADOOP_HOME/etc/hadoop/mapred-site.xmlapache

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

修改 HADOOP_HOME/etc/hadoop/yarn-site.xmlssh

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce\_shuffle</value>
    </property>
</configuration>

格式化 hdfsjvm

$HADOOP_HOME/bin/hdfs namenode -format

運行 hdfs

$HADOOP_HOME/sbin/start-dfs.sh

建立 user 文件夾

$HADOOP_HOME/bin/hdfs dfs -mkdir /user

建立用戶文件夾

$HADOOP_HOME/bin/hdfs dfs -mkdir /user/<username>
# 與 linux 當前用戶相對應 eg. hdfs dfs -mkdir /user/yzj

運行 yarn

$HADOOP_HOME/sbin/start-yarn.sh

localhost:50070 下訪問 hdfs,在 localhost:8088 下訪問 yarn

退出

$HADOOP_HOME/sbin/stop-yarn.sh

MariaDB

https://wiki.archlinux.org/index.php/MariaDB

安裝 MariaDB

sudo pacman -S mariadb

安裝完後執行

sudo mysql\_install\_db --user=mysql --basedir=/usr --datadir=/var/lib/mysq

開啓 mysql 服務

sudo systemctl start mariadb.service

執行

sudo mysql\_secure\_installation

過程當中須要爲 root 用戶設置密碼,而且要保留 test 數據庫

以 root 用戶登陸 mysql

sudo mysql -u root -p

登陸後從 none 切換到 mysql 數據庫,確保存在一個數據庫

use mysql;

更新權限

grant all on *.* to 'root'@'%' identified by '你的密碼';
grant all on *.* to 'root'@'localhost' identified by '你的密碼';

刷新

flush privileges;

退出

quit;

Hive 2.x.y

https://blog.csdn.net/qq_37106028/article/details/78247727
https://blog.csdn.net/Handoking/article/details/81388143

下載並解壓 bin 包,設置環境變量

# 例
export HIVE_HOME=/home/yzj/Applications/hadoop/hive-2.3.6
export PATH=$PATH:$HIVE_HOME/bin

建立配置文件

cp $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh
cp $HIVE_HOME/conf/hive-default.xml.template $HIVE_HOME/conf/hive-site.xml
cp $HIVE_HOME/conf/hive-log4j2.properties.template $HIVE_HOME/conf/hive-log4j2.properties
cp $HIVE_HOME/conf/hive-exec-log4j2.properties.template $HIVE_HOME/conf/hive-exec-log4j2.properties

修改 hive-env.sh

JAVA_HOME=/usr/lib/jvm/java-8-openjdk
HADOOP_HOME=$HADOOP_HOME
HIVE_HOME=$HIVE_HOME

修改 hive-site.xml

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>自行修改</value>
</property>
<property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
</property>
<property>
    <name>hive.querylog.location</name>
    <value>設置一個持久化目錄</value>
    <!-- eg. /home/yzj/Applications/hadoop/hive-2.3.6/tmp -->
</property>
<property>
    <name>hive.exec.local.scratchdir</name>
    <value>同上</value>
</property>
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>同上</value>
</property>

複製驅動文件 mysql-connector-java-8.x.y.jar 到 HIVE_HOME/lib 目錄下,下載地址 http://central.maven.org/maven2/mysql/mysql-connector-java/

刪除 HADOOP_HOME/share/hadoop/yarn/lib 目錄下的 jline jar 包,用 HIVE_HOME/lib 下的 jline jar 包替代(Hadoop 對應目錄下沒有 jline jar 包能夠不作這一步)

登陸 mysql,在裏面運行你的 hive 中最新的 hive-schema-x.y.z.mysql.sql

source /home/yzj/Applications/hadoop/hive-2.3.6/scripts/metastore/upgrade/mysql/hive-schema-2.3.0.mysql.sql;

終端執行

sudo schematool -dbType mysql -initSchema

啓動 hive (先啓動 hadoop)

$HIVE_HOME/bin/hive
相關文章
相關標籤/搜索