折腾了1周,终于完成部署,这是一篇出坑文章,希望同在折腾童鞋能够有用。
Good luck!
一、环境说明
集群配置了4台服务器。
1.1 硬件配置
项 | 内容 |
CPU | 2个8核CPU型号:Intel(R) Xeon(R) CPU E5-2609 v4 @ 1.70GHz |
内存 | 128GB |
硬盘 | 5TB |
网络 | 千兆 |
操作系统:Linux 3.10.0-327.el7.x86_64bit
1.2 网络配置
序号 | HOSTNAME | IP |
1 | xa01 | 223.254.70.5 | 23.254.70.6 |
2 | xa02 | 223.254.70.7 | 23.254.70.8 |
3 | xa03 | 223.254.70.9 | 23.254.70.10 |
4 | xa04 | 223.254.70.11 | 23.254.70.12 |
1.3 软件版本
二、系统设置
2.1 host修改
4台服务器修改 /etc/hosts
223.254.70.5 xa01 223.254.70.6 xa01 223.254.70.7 xa02 223.254.70.8 xa02 223.254.70.9 xa03 223.254.70.10 xa03 223.254.70.11 xa04 223.254.70.12 xa04
2.2 profile修改
xa01修改 /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0-45 export PATH=$JAVA_HOME/bin:$PATH export HADOOP_HOME=/data/hbase-1.2.6 export PATH=$HADOOP_HOME/bin:$PATH export HBASE_HOME=/data/hbase-1.2.6 export PATH=$HBASE_HOME/bin:$PATH export HIVE_HOME=/data/hive-1.2.2 export PATH=$HIVE_HOME/bin:$PATH export KAFKA_HOME=/data/kafka_2.11-1.0.0 export PATH=$KAFKA_HOME/bin:$PATH export HCAT_HOME=$HIVE_HOME/hcatalog export PATH=$HCAT_HOME/bin:$PATH export KYLIN_HOME=/data/kylin-2.3.1 export PATH=$KYLIN_HOME/bin:$PATH
xa02 - xa04修改 /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0-45 export PATH=$JAVA_HOME/bin:$PATH export HADOOP_HOME=/data/hbase-1.2.6 export PATH=$HADOOP_HOME/bin:$PATH export HBASE_HOME=/data/hbase-1.2.6 export PATH=$HBASE_HOME/bin:$PATH export KAFKA_HOME=/data/kafka_2.11-1.0.0 export PATH=$KAFKA_HOME/bin:$PATH
注:修改完后记得 source /etc/profile
2.3 创建用户与组
所有相关软件都安装在hadoop用户下,4台服务器创建
#创建hadoop用户组 groupadd hadoop #在hadoop用户组中创建hadoop用户 useradd -g hadoop hadoop
注:hadoop用户需设置密码
2.4 配置集群间SSH无密码登陆
在xa01执行以下操作:
#使用hadoop用户 [root@xa01 /]su - hadoop #切换到/home/hadoop目录 [hadoop@xa01 /]cd ~ #生成本地密钥 [hadoop@xa01 ~]ssh-keygen -t rsa #分别复制到xa02 - xa04 [hadoop@xa01 ~]ssh-copy-id -i .ssh/id_rsa.pub hadoop@xa02 [hadoop@xa01 ~]ssh-copy-id -i .ssh/id_rsa.pub hadoop@xa03 [hadoop@xa01 ~]ssh-copy-id -i .ssh/id_rsa.pub hadoop@xa04
三、Hadoop安装与配置
3.1 解压与授权
#解压安装文件 [root@xa01 tools]tar -zxvf hadoop-2.8.4.tar.gz #移动到/data目录下 [root@xa01 tools]mv hadoop-2.8.4/ /data/ #将目录授权给hadoop用户 [root@xa01 tools]chown -R hadoop:hadoop /data/hadoop-2.8.4/
3.2 修改core-site.xml文件
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://xa01:9000/hbase</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/data/hadoop-2.8.4/tmp</value> </property> <property> <name>fs.checkpoint.period</name> <value>3600</value> </property> <property> <name>fs.checkpoint.size</name> <value>67108864</value> </property> <property> <name>fs.checkpoint.dir</name> <value>/data/hadoop-2.8.4/namesecondary</value> </property> </configuration>
3.3 修改hadoop-env.sh文件
修改JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_45
3.4 修改hdfs-site.xml文件
<configuration> <property> <name>dfs.http.address</name> <value>xa01:50070</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>xa01:50090</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/data/hadoop-2.8.4/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/data/hadoop-2.8.4/hdfs/data</value> </property> <property> <name>fs.checkpoint.period</name> <value>3600</value> </property> <property> <name>dfs.secondary.http.address</name> <value>xa01:50090</value> </property> </configuration>
3.5 修改mapred-site.xml文件
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>xa01:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>xa01:19888</value> </property> </configuration>
3.6 修改slaves
xa02 xa03 xa04
3.7 修改yarn-site.xml文件
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>xa01</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>xa01:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>xa01:8030</value> </property> <property> <name>yarn.resourcemanager.resouce-tracker.address</name> <value>xa01:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>xa01:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>xa01:8088</value> </property> </configuration>
3.8 复制安装文件到slaves上
[hadoop@xa01 ~]scp -r /data/hadoop-2.8.4/ hadoop@xa02:/data/ [hadoop@xa01 ~]scp -r /data/hadoop-2.8.4/ hadoop@xa03:/data/ [hadoop@xa01 ~]scp -r /data/hadoop-2.8.4/ hadoop@xa04:/data/
3.9 初始化hadoop
确认2.2章节操作完成,并source
[hadoop@xa01 ~]hadoop namenode -format
四、Zookeeper安装与配置
4.1 解压与授权
#解压安装文件 [root@xa01 tools]tar -zxvf zookeeper-3.4.10.tar.gz #移动到/data目录下 [root@xa01 tools]mv zookeeper-3.4.10/ /data/ #将目录授权给hadoop用户 [root@xa01 tools]chown -R hadoop:hadoop /data/zookeeper-3.4.10/
4.2 修改zoo.cfg文件
tickTime=2000 initLimit=5 syncLimit=2 dataDir=/data/zookeeper-3.4.10/data dataLogDir=/data/zookeeper-3.4.10/logs clientPort=2181 server.1=223.254.70.5:2888:3888 server.2=223.254.70.7:2888:3888 server.3=223.254.70.9:2888:3888 server.4=223.254.70.11:2888:3888
4.3 复制文件到集群
[hadoop@xa01 ~]scp -r /data/zookeeper-3.4.10/ hadoop@xa02:/data/ [hadoop@xa01 ~]scp -r /data/zookeeper-3.4.10/ hadoop@xa03:/data/ [hadoop@xa01 ~]scp -r /data/zookeeper-3.4.10/ hadoop@xa04:/data/
4.4 创建myid文件
在4台服务器/data/zookeeper-3.4.10/data/下创建myid[hadoop@xa01 ~]echo '0' > /data/zookeeper-3.4.10/data/myid [hadoop@xa02 ~]echo '1' > /data/zookeeper-3.4.10/data/myid [hadoop@xa03 ~]echo '2' > /data/zookeeper-3.4.10/data/myid [hadoop@xa04 ~]echo '3' > /data/zookeeper-3.4.10/data/myid
五、Hbase安装与配置
5.1 解压与授权
#解压安装文件 [root@xa01 tools]tar -zxvf hbase-1.2.6-bin.tar.gz #移动到/data目录下 [root@xa01 tools]mv hbase-1.2.6/ /data/ #将目录授权给hadoop用户 [root@xa01 tools]chown -R hadoop:hadoop /data/hbase-1.2.6/
5.2 修改hbase-site.xml文件
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://xa01:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>xa01,xa02,xa03,xa04</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/data/zookeeper-3.4.10</value> </property> </configuration>
5.3 修改regionservers文件
xa01 xa02 xa03 xa04
5.4 修改hbase-env.sh文件
export JAVA_HOME="/usr/java/jdk1.8.0_45" #注释掉jdk8的废弃参数 #export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m" #export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m" #使用外部ZK export HBASE_MANAGES_ZK=false
5.5 复制文件到集群
[hadoop@xa01 ~]scp -r /data/hbase-1.2.6/ hadoop@xa02:/data/ [hadoop@xa01 ~]scp -r /data/hbase-1.2.6/ hadoop@xa03:/data/ [hadoop@xa01 ~]scp -r /data/hbase-1.2.6/ hadoop@xa04:/data/
六、Hive安装与配置
6.1 解压与授权
#解压安装文件 [root@xa01 tools]tar -zxvf apache-hive-1.2.2-bin.tar.gz #移动到/data目录下 [root@xa01 tools]mv hive-1.2.2/ /data/ #将目录授权给hadoop用户 [root@xa01 tools]chown -R hadoop:hadoop /data/hive-1.2.2/
6.2 修改hive-site.xml文件
<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://223.254.70.13:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hadoop</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hust4400</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://223.254.70.5:9083</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/data/hivehouse</value> </property> <property> <name>hive.exec.dynamic.partition.mode</name> <value>nonstrict</value> </property> <property> <name>hive.server2.logging.operation.log.location</name> <value>/data/hivehouse/logs</value> </property> <property> <name>hive.server2.thrift.bind.host</name> <value>223.254.70.5</value> </property> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> </configuration>
6.3 拷贝mysql包到hive中
mysql.jar可以自行下载
[hadoop@xa01 ~]cp /data/tools/mysql.jar /data/hive-1.2.6/lib/
6.4 修改hive-env.sh文件
HADOOP_HOME=/data/hadoop-2.8.4
七、Kafka安装与配置
7.1 解压与授权
#解压安装文件 [root@xa01 tools]tar -zxvf kafka_2.11-1.0.0.tar.gz #移动到/data目录下 [root@xa01 tools]mv kafka_2.11-1.0.0/ /data/ #将目录授权给hadoop用户 [root@xa01 tools]chown -R hadoop:hadoop /data/kafka_2.11-1.0.0/
7.2 修改server.properties文件
broker.id=0 log.dirs=/data/kafka_2.11-1.0.0/kafka-logs zookeeper.connect=xa01:2181,xa02:2181,xa03:2181,xa04:2181 zookeeper.connection.timeout.ms=6000注:每台服务器broker.id唯一,分别是xa01=0, xa02=1, xa03=2, xa04=3;请分别修改
7.3 拷贝文件到集群
[hadoop@xa01 ~]scp -r /data/kafka_2.11-1.0.0/ hadoop@xa02:/data/ [hadoop@xa01 ~]scp -r /data/kafka_2.11-1.0.0/ hadoop@xa03:/data/ [hadoop@xa01 ~]scp -r /data/kafka_2.11-1.0.0/ hadoop@xa04:/data/
八、Kylin安装与配置
8.1 解压与授权
#解压安装文件 [root@xa01 tools]tar -zxvf apache-kylin-2.3.1-hbase1x-bin.tar.gz #移动到/data目录下 [root@xa01 tools]mv kylin-2.3.1/ /data/ #将目录授权给hadoop用户 [root@xa01 tools]chown -R hadoop:hadoop /data/kylin-2.3.1/
8.2 修改kylin.properties文件
kylin.metadata.url=/data/kylin_meta kylin.server.mode=all
九、服务启动
9.1 Hadoop启动
xa01执行:
#启动dfs服务 [hadoop@xa01 ~]/data/hadoop-2.8.4/sbin/start-dfs.sh #启动yarn服务 [hadoop@xa01 ~]/data/hadoop-2.8.4/sbin/start-yarn.sh #启动historyserver服务(kylin流式处理需要) [hadoop@xa01 ~]/data/hadoop-2.8.4/sbin/mr-jobhistory-daemon.sh start historyserver
9.2 Zookeeper启动
所有集群执行:
[hadoop@xa01 ~]/data/zookeeper-3.4.10/bin/zkServer.sh start [hadoop@xa02 ~]/data/zookeeper-3.4.10/bin/zkServer.sh start [hadoop@xa03 ~]/data/zookeeper-3.4.10/bin/zkServer.sh start [hadoop@xa04 ~]/data/zookeeper-3.4.10/bin/zkServer.sh start
9.3 Hbase启动
xa01执行:
[hadoop@xa01 ~]/data/hbase-1.2.6/bin/start-hbase.sh
9.4 Hive启动
xa01执行:
[hadoop@xa01 ~]nohup hive --service metastore &
9.5 Kafka启动
所有集群执行:
[hadoop@xa01 ~]/data/kafka_2.11-1.0.0/bin/kafka-server-start.sh -daemon /data/kafka_2.11-1.0.0/config/server.properties & [hadoop@xa02 ~]/data/kafka_2.11-1.0.0/bin/kafka-server-start.sh -daemon /data/kafka_2.11-1.0.0/config/server.properties & [hadoop@xa03 ~]/data/kafka_2.11-1.0.0/bin/kafka-server-start.sh -daemon /data/kafka_2.11-1.0.0/config/server.properties & [hadoop@xa04 ~]/data/kafka_2.11-1.0.0/bin/kafka-server-start.sh -daemon /data/kafka_2.11-1.0.0/config/server.properties &
9.6 Kylin启动
xa01执行:
[hadoop@xa01 ~]/data/kylin-2.3.1/bin/kylin.sh start
十、坑集锦
十一、总结
整个过程记录了kylin2.3.1安装的全过程,可能存在瑕疵,希望大家不吝指出。
坑集锦会陆续更新,请关注,谢谢!
后续还会更新实战篇,大家互相学习。