Archlinux/Manjaro 安装 MariaDB Hadoop Hive (伪分布式)

Hadoop 2.x.y(伪分布式)

参考官网对应版本的文档的 single node setup 部分
https://hadoop.apache.org/docs/

思否主页:https://segmentfault.com/u/wine99

首先要有 ssh 和 rsync

然后下载 bin 包并解压,把解压的根目录添加为环境变量 HADOOP_HOME

# 例
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.sh

# 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.xml

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

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

<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>

设置 ssh

启动 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.xml

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

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

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

格式化 hdfs

$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

猜你喜欢

转载自blog.csdn.net/u012495807/article/details/113192733