Fising's Blog

all about web application development

Apache Kylin 2.5.1 安装指北

1. 设置主机名

设置主机名并重启系统(注意 hostname 中不能包含 “.”, “/”, “_”):
hostnamectl set-hostname hadoop01 && reboot
 
编辑 /etc/hosts 文件,为所有机器添加所有主机(包括本机)的解析记录。
2. 设置 ssh key 登录
在每台机器上均添加全部机器(包括本机)的 ssh key:
echo “client_ssh_key” >> ~/.ssh/authorized_keys
3. 安装 Java 1.8.0_192
 
解压下载的JDK包:
tar xzvf jdk-8u192-linux-x64.tar.gz
 
将解压后的目录移动到安装位置:
mv jdk1.8.0_192/ /usr/local/java
 
编辑 /etc/profile 文件,在文件末尾新增几行:
export JAVA_HOME=/usr/local/java
export JRE_HOME=${JAVA_HOME}/jre
export LASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
 
使环境变量生效:
source /etc/profile
 
检查 java 安装情况:
java -verison
4. 安装 Hadoop 3.1.1
下载 Hadoop 3.1.1:
wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
 
tar xzvf hadoop-3.1.1.tar.gz
 
将解压后的目录移动到安装位置:
mv hadoop-3.1.1 /usr/local/hadoop
 
创建配置目录:
mkdir -p /data/hadoop/hdfs/name /data/hadoop/hdfs/data /var/log/hadoop/tmp
 
编辑 /etc/profile 文件,在文件末尾新增:
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
 
使环境变量生效:
source /etc/profile
 
检查 Hadoop 安装情况:
hadoop version
 
创建 Hadoop 所需的目录:
mkdir -p /data/hadoop/data/tmp
mkdir /data/hadoop/data/var
mkdir /data/hadoop/data/logs
mkdir -p /data/hadoop/data/dfs/data
mkdir /data/hadoop/data/dfs/name
mkdir /data/hadoop/data/dfs/checkpoint
mkdir /usr/local/hadoop/logs
 
进入 Hadoop 配置目录:
cd /usr/local/hadoop/etc/hadoop
 
为 hadoop-env.sh 文件新增一行:
export JAVA_HOME=/usr/local/java
 
编辑 workers 文件,清空内容后新增两行:
hadoop02
hadoop03
 
编辑 core-site.xml 文件,在 <configuration></configuration> 节点中新增如下内容:
<property>
<name>fs.checkpoint.period</name>
<value>3600</value>
</property>
<property>
<name>fs.checkpoint.size</name>
<value>67108864</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/data/tmp</value>
</property>
 
编辑 hdfs-site.xml 文件,在 <configuration></configuration> 节点中新增如下内容:
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/data/hadoop/data/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/data/hadoop/data/dfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop01:50090</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop01:50070</value>
<description>
The address and the base port where the hdfs namenode web ui will listen on.
If the port is 0 then the server will start on a free port.
</description>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:/data/hadoop/data/dfs/checkpoint</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:/data/hadoop/data/dfs/edits</value>
</property>
 
编辑 mapred-site.xml 文件,在 <configuration></configuration> 节点中新增如下内容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hadoop01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
 
编辑 yarn-site.xml 文件,在 <configuration></configuration> 节点中新增如下内容:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop_01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop01:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop01:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop01:8040</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop01:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop01:8088</value>
</property>
 
编辑 log4j.properties 文件,在文件末尾新增:
log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
 
进入 $HADOOP_HOME/sbin 目录:
cd /usr/local/hadoop/sbin
 
编辑 start-dfs.sh 文件,在头部新增:
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
 
编辑 stop-dfs.sh 文件,在头部新增:
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
 
编辑 start-yarn.sh 文件,在头部新增:
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
 
编辑 stop-yarn.sh 文件,在头部新增:
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
同步 Hadoop 环境到其他机器:
scp -r /data/* root@hadoop02:/data
scp -r /data/* root@hadoop03:/data
scp /etc/profile root@hadoop02:/etc/profile
scp /etc/profile root@hadoop03:/etc/profile
scp -r /usr/local/java/ root@hadoop02:/usr/local/
scp -r /usr/local/java/ root@hadoop03:/usr/local/
scp -r /usr/local/hadoop/ root@hadoop02:/usr/local/
scp -r /usr/local/hadoop/ root@hadoop03:/usr/local/
 
使环境变量在其他机器生效:
hadoop02> source /etc/profile
hadoop03> source /etc/profile
 
在 hadoop01 上进行 HDFS 初始化:
hdfs namenode -format
 
启动服务:
start-all.sh
 
hadoop webui:
http://hadoop01:8088
 
yarn webui:
http://hadoop01:50070
 
5. 安装 HBase 2.0.2
 
下载二进制安装包:
 
解压安装包:
tar xzvf hbase-2.0.2-bin.tar.gz
 
移动到安装位置:
mv hbase-2.0.2 /usr/local/hbase
 
修改 /etc/profile 文件,新增两行:
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
 
使上面的修改生效:
source /etc/profile
 
检查 HBase 的安装:
hbase version
 
打开 $HBASE_HOME/conf/hbase-env.sh:
vi /usr/local/hbase/conf/hbase-env.sh
 
找到 export JAVA_HOME= 行,修改为:
export JAVA_HOME=/usr/local/java
 
找到 export HBASE_CLASSPATH= 行,修改为:
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop
 
找到 export HBASE_MANAGES_ZK= 行,修改为:
export HBASE_MANAGES_ZK=true
 
打开 $HBASE_HOME/conf/hbase-site.xml:
vi /usr/local/hbase/conf/hbase-site.xml
 
修改 <configuration></configuration> 节点为:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop01:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop01,hadoop02hadoop03</value>
</property>
</configuration>
 
记坑:上述的配置,hbase.zookeeper.quorum 切不可带端口号,否则 kylin 启动不起来,会报告错误:Name or service not known
 
复制 HBase 到其他机器:
scp -r /usr/local/hbase/ root@hadoop02:/usr/local/
scp -r /usr/local/hbase/ root@hadoop03:/usr/local/
 
复制 /etc/profile 到其他机器:
scp /etc/profile root@hadoop02:/etc/profile
scp /etc/profile root@hadoop03:/etc/profile
 
使环境变量在其他机器生效:
hadoop02> source /etc/profile
hadoop03> source /etc/profile
启动 HBase:
start-hbase.sh
 
执行 jps 查看 Java Process Status, 如果没有发现 HMaster 则修改 $HBASE_HOME/conf/hbase-site.xml 配置,在 <configuration></configuration> 节点中追加一个子节点:
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
6. 安装 Hive 3.1.1
 
下载 hive 3.1.1 二进制安装包:
 
解压:
tar xzvf apache-hive-3.1.1-bin.tar.gz
 
移动到安装目录:
mv apache-hive-3.1.1-bin /usr/local/hive
 
编辑 /etc/profile 文件,设置环境变量:
export HIVE_HOME=”/usr/local/hive”
export PATH=$HIVE_HOME/bin:$PATH
 
使环境变量生效:
source /etc/profile
 
生成 hive-env.sh 文件:
cp hive-env.sh.template hive-env.sh
 
编辑 hive-env.sh 文件,修改如下几行:
HADOOP_HOME=/usr/local/hadoop
export HIVE_CONF_DIR=/usr/local/hive/conf
export HIVE_AUX_JARS_PATH=/usr/local/hive/lib
 
生成 hive-site.xml 文件:
cp hive-default.xml.template hive-site.xml
 
编辑 hive-site.xml 文件,修改以下 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>123456</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://mysql_host/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<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>hive.metastore.warehouse.dir</name>
<value>/hive/warehouse</value>
</property>
<property>
<name>hive.server2.webui.host</name>
<value>0.0.0.0</value>
</property>
<property>
<name>hive.server2.webui.port</name>
<value>10002</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
<description>
Enforce metastore schema version consistency.
True: Verify that version information stored in is compatible with one from Hive jars. Also disable automatic
schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures
proper metastore schema migration. (Default)
False: Warn if the version information stored in metastore doesn’t match with one from in Hive jars.
</description>
</property>
 
下载 MySQL 驱动:
 
解压 MySQL 驱动:
tar xzvf mysql-connector-java-8.0.13.tar.gz
 
复制 jar 包到 Hive 的 lib 目录:
cp mysql-connector-java-8.0.13/mysql-connector-java-8.0.13.jar /usr/local/hive/lib/
 
初始化用于存放元数据的 MySQL 表:
schematool -dbType mysql -initSchema
 
启动 Hive:
hive –service metastore &
hive –service hiveserver2 –hiveconf hive.root.logger=INFO,console &
 
在命令行输入 hive 进入交互式操作命令行界面,执行命令:
show tables;
 
能正常显示则表示 hive 启动成功。
 
开启 hive: /usr/local/hive/bin/start-hive.sh
停止 hive: kill 掉端口为 9083 和 10000 的进程
 
7. 安装 Kylin 2.5.1
 
注意:官方推荐 Kylin 安装在一台纯净的 hadoop client 机器。本例的 kylin 服务器为一台独立服务器,系统从 hadoop master 镜像而来。所以开机后需要做两件事:设置机器名 hostname 为 kylin;设置 kylin 免密登录 hadoop 的几台服务器。
 
完成以上两件事,安装继续。
 
下载 Kylin 2.5.1:
 
解压:
tar xzvf apache-kylin-2.5.1-bin-hadoop3.tar.gz
 
拷贝 Kylin 到安装目录:
mv apache-kylin-2.5.1-bin-hadoop3 /usr/local/kylin
 
编辑 /etc/profile 文件,新增 kylin 的环境变量:
export KYLIN_HOME=”/usr/local/kylin”
export PATH=$KYLIN_HOME/bin:$PATH
 
使环境变量生效:
source /etc/profile
 
运行检查 kylin 的运行环境的脚本:
check-env.sh
 
如果没有返回错误信息,则表示 kylin 可以运行。
 
启动 kylin:
kylin.sh start
 
如果打印:
A new Kylin instance is started by root. To stop it, run ‘kylin.sh stop’
Check the log at /usr/local/kylin/logs/kylin.log
Web UI is at http://<hostname>:7070/kylin
 
则表示启动已经成功。
 
如需要关闭 kylin:
kylin.sh stop
 
 

, , , ,

发表评论