Hadoop--快速搭建大数据开发环境

编辑:光环大数据 来源: 互联网 时间: 2017-11-09 14:05 阅读:

最近自己电脑的磁盘坏了,导致数据也没了。安装好系统之后就是各种弄环境了,之前的博客也写过hadoop环境搭建 Hadoop , Hive , HBase , Kafka , Spark , MySQL , Redis 等等一系列的。

之前记录的目的也是为了方便自己吧,但整个流程下来还是的花费几个小时。从前面的博客找到从虚拟机的网络配置,下载软件上传在修改配置挺麻烦的。这里再次做个汇总,以后做这个过程或者升级就更加方便( 主要便捷是后面会给出一个Virtual Box的包直接导入就有这些所有环境了 )。

准备

  • 软件下载

安装linux

  1. 安装virtual box(略,这个没什么好说的,一直下一步就ok!) 
  2. 安装Linux虚拟机注意(选择第一个) 
  3. 添加虚拟机后网络配置

环境准备

  • 规划
  1. 创建一个data目录所有东西都放在那儿: mkdir /data
  2. 再在data目录下创建一个data目录用来保存一些数据,比如hdfs,kafka等: mkdir /data/data
  • 上传软件

  • 准备

  1. 关闭防火墙:

    [[email protected] ~]# service iptables stop [[email protected] ~]# chkconfig --list | grep iptables
  2. 修改主机名:修改

    [[email protected] ~]# vi /etc/sysconfig/network## 修改为:HOSTNAME=xiaoxiaomo
  3. 绑定hosts Name:

    [[email protected] ~]# vi /etc/hosts## 添加192.168.56.102 xiaoxiaomo
  4. 设置ssh:

    [[email protected] ~]# ssh-keygen -t rsa  #生成rsa格式的ssh私钥和公钥[[email protected] ~]# ssh-copy-id -i xiaoxiaomo #把公钥复制到对方节点(这里我复制到自己的主机xiaoxiaomo01上)[[email protected] ~]# ssh xiaoxiaomo01 #验证
  5. 安装国内的yum镜像

    参考:

    http://blog.xiaoxiaomo.com/2016/02/11/Linux-Yum%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/
  6. 安装JDK 参考,这里我们安装jdk1.8 :
    ##解压到/data && 修改名称[[email protected] ~]# tar -zxvf /opt/jdk-8u144-linux-x64.tar.gz -C /data[[email protected] ~]# mv /data/jdk1.8.0_144/ /data/jdk##配置环境变量[[email protected] ~]# vi /etc/profileexport JAVA_HOME=/data/jdkexport PATH=.:$JAVA_HOME/bin:$PATH

参考:

http://blog.xiaoxiaomo.com/2016/04/09/Hadoop-%E5%AE%89%E8%A3%85%E5%89%8D%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87/

安装Hadoop

  • 解压&&重命名&&配置环境变量

    [[email protected] ~]# tar -zxvf /opt/hadoop-2.7.2.tar.gz -C /data/[[email protected] ~]# mv /data/hadoop-2.7.2/ /data/hadoop[[email protected] ~]# mkdir -p /data/data/hdfs/name ##需要创建一个目录不然启动会报错[[email protected] ~]# vim /etc/profile ##添加如下export HADOOP_HOME=/data/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:## 【**备注后面的环境变量就略了,参考附录中的环境变量**】
  • 配置

  1. 配置core-site.xml

    <configuration>    <property>        <name>fs.defaultFS</name>        <value>hdfs://xiaoxiaomo:9000</value>    </property>    <property>        <name>hadoop.tmp.dir</name>        <value>/data/data/hdfs/tmp</value>        </property>        <!-- 垃圾回收站 <property> <name>fs.trash.interval</name> <value>1440</value> </property> --></configuration>
  2. 配置hadoop-env.sh

    export JAVA_HOME=/data/jdkexport HADOOP_LOG_DIR=/data/data/hdfs/logs
  3. 配置hdfs-site.xml

    <configuration>    <property>        <name>dfs.namenode.name.dir</name>        <value>file:///data/data/hdfs/name</value>    </property>    <property>        <name>dfs.datanode.data.dir</name>        <value>file:///data/data/hdfs/data</value>    </property>        <property>          <name>dfs.namenode.checkpoint.dir</name>          <value>file:///data/data/hdfs/namesecondary</value>        </property>        <property>        <name>dfs.namenode.secondary.http-address</name>        <value>xiaoxiaomo:9001</value>    </property>    <property>        <name>dfs.replication</name>        <value>1</value>    </property>    <property>        <name>dfs.webhdfs.enabled</name>        <value>true</value>    </property>        <property>        <name>dfs.permissions</name>        <value>false</value>    </property>        <!-- <property> <name>dfs.hosts</name> <value>/data/hadoop/etc/hadoop/datanode-allow</value> </property> <property> <name>dfs.hosts.exclude</name> <value>/data/hadoop/etc/hadoop/datanode-deny</value> </property> --></configuration>
  4. 配置log4j.properties

    hadoop.log.dir=/data/data/hdfs/logs
  5. 配置log4j.properties

    <configuration>    <property>        <name>mapreduce.framework.name</name>        <value>yarn</value>    </property>    <property>        <name>mapreduce.jobhistory.address</name>        <value>xiaoxiaomo:10020</value>    </property>    <property>        <name>mapreduce.jobhistory.webapp.address</name>        <value>xiaoxiaomo:19888</value>    </property>    <property>        <name>yarn.app.mapreduce.am.staging-dir</name>        <value>/history</value>    </property>        <property>        <name>mapreduce.jobhistory.done-dir</name>        <value>${yarn.app.mapreduce.am.staging-dir}/history/done</value>    </property>    <property>        <name>mapreduce.jobhistory.intermediate-done-dir</name>        <value>${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate</value>    </property>        <property>                <name>mapreduce.map.log.level</name>                <value>DEBUG</value>        </property>        <property>                <name>mapreduce.reduce.log.level</name>                <value>DEBUG</value>        </property></configuration>
  6. 配置slaves

    ##localtion修改为xiaoxiaomo
  7. yarn-env.sh

    export JAVA_HOME=/data/jdkexport YARN_LOG_DIR=/data/data/hdfs/logsexport YARN_ROOT_LOGGER=DEBUG,DRFA
  8. 配置yarn-site.xml

    <configuration>    <property>        <name>yarn.nodemanager.aux-services</name>        <value>mapreduce_shuffle</value>    </property>        <property>                <name>yarn.resourcemanager.hostname</name>                <value>xiaoxiaomo</value>        </property>        <property>        <name>yarn.resourcemanager.address</name>        <value>xiaoxiaomo:8032</value>    </property>    <property>        <name>yarn.resourcemanager.scheduler.address</name>        <value>xiaoxiaomo:8030</value>    </property>    <property>        <name>yarn.resourcemanager.resource-tracker.address</name>        <value>xiaoxiaomo:8031</value>    </property>    <property>        <name>yarn.resourcemanager.admin.address</name>        <value>xiaoxiaomo:8033</value>    </property>    <property>        <name>yarn.resourcemanager.webapp.address</name>        <value>xiaoxiaomo:8088</value>    </property>        <property>                <name>yarn.log-aggregation-enable</name>                <value>true</value>        </property></configuration>
  • 启动测试
    ## 格式化数据目录[[email protected] ~]# hdfs namenode -format## 启动hdfs[[email protected] ~]# start-dfs.sh ##访问:http://xiaoxiaomo:50070## 启动yarn[[email protected] ~]# start-yarn.sh ##访问:http://xiaoxiaomo:8088

安装zookeeper

[[email protected] ~]# tar -zxvf /opt/zookeeper-3.4.9.tar.gz -C /data/[[email protected] ~]# mv /data/zookeeper-3.4.9/ /data/zookeeper## 配置环境变量略[[email protected] ~]# vi /etc/profile ## 添加:export ZK_HOME=/data/zookeeper[[email protected] ~]# cd $ZK_HOME/conf[[email protected] conf]# mv zoo_sample.cfg zoo.cfg[[email protected] conf]# vi zoo.cfg ##修改:dataDir=/data/data/zookeeper[[email protected] conf]# vi log4j.properties  ##修改:zookeeper.log.dir=/data/data/zookeeper/logs##启动[[email protected] conf]# zkServer.sh start

参考:

http://blog.xiaoxiaomo.com/2016/05/05/Zookeeper-%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/

安装HBase

[[email protected]xiaoxiaomo ~]# tar -zxvf hbase-1.3.1-bin.tar.gz -C /data/[[email protected]xiaoxiaomo ~]# mv /data/hbase-1.3.1/ /data/hbase
  • 修改配置
  1. vi $HBASE_HOME/conf/hbase-env.sh

    export JAVA_HOME=/data/jdkexport HBASE_LOG_DIR=/data/data/hbase/logsexport HBASE_ROOT_LOGGER=INFO,DRFA
  2. vi $HBASE_HOME/conf/hbase-site.xml

    <property>  <name>hbase.tmp.dir</name>  <value>/data/data/hbase/tmp</value></property><property>  <name>hbase.rootdir</name><value>hdfs://xiaoxiaomo:9000/hbase</value></property><property>  <name>hbase.cluster.distributed</name>  <value>true</value></property><!--zk --><property>  <name>hbase.zookeeper.quorum</name>  <value>xiaoxiaomo</value></property><property>   <name>hbase.zookeeper.property.dataDir</name>  <value>/data/data/hbase/zk</value></property>
  3. vi $HBASE_HOME/conf/log4j.propertie

    hbase.log.dir=/data/data/hbase/logs ##修改为统一目录
  4. 启动

    ## 启动hbase[[email protected] ~]# start-hbase.sh

 

安装MySQL

[[email protected] opt]# rpm -qa|grep mysql #如有就卸载[[email protected] opt]# tar -xvf mysql-5.7.9-1.el6.x86_64.rpm-bundle.tar [[email protected] opt]# rpm -ivh mysql-community-common-5.7.9-1.el6.x86_64.rpm [[email protected] opt]# rpm -ivh mysql-community-libs-5.7.9-1.el6.x86_64.rpm [[email protected] opt]# rpm -ivh mysql-community-client-5.7.9-1.el6.x86_64.rpm [[email protected] opt]# yum install -y mysql-community-server-5.7.9-1.el6.x86_64.rpm [[email protected] opt]# mysqld --initialize #初始化[[email protected] opt]# cat /var/log/mysqld.log #可以获取初始密码[[email protected] opt]# chown -R mysql:mysql /var/lib/mysql #授权[[email protected] opt]# /etc/init.d/mysqld start #启动[[email protected] opt]# mysql -uroot -p #登录(通过默认的初始密码)##登录进去后要重设密码mysql>SET PASSWORD = PASSWORD('root');##mysql启动&&停止[[email protected] opt]# /etc/init.d/mysqld start ##启动服务[[email protected] opt]# service mysqld start ##启动服务[[email protected] opt]# /etc/init.d/mysqld stop ##启停止服务[[email protected] opt]# service mysqld stop ##停止服务

安装Hive

[[email protected] opt]# tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /data/[[email protected] opt]# mv /data/apache-hive-1.2.1-bin/ /data/hive## 配置环境变量略[[email protected] opt]# cd $HIVE_HOME[[email protected] hive]# cp conf/hive-env.sh.template conf/hive-env.sh[[email protected] hive]# cp conf/hive-default.xml.template conf/hive-site.xml
  • 修改配置
  1. hive-env.sh

    [[email protected] hive]# vim conf/hive-env.sh ##添加如下配置export JAVA_HOME=/data/jdkexport HIVE_HOME=/data/hiveexport HADOOP_HOME=/data/hadoop
  2. hive-env.sh

    [[email protected] hive]# vim conf/hive-env.sh ##修改如下配置<property>  <name>hive.querylog.location</name>  <value>/data/data/hive/tmp</value></property><property>  <name>hive.exec.local.scratchdir</name>  <value>/data/data/hive/tmp</value></property><property>  <name>hive.downloaded.resources.dir</name>  <value>/data/data/hive/tmp</value></property><!-- 修改metadata为mysql --><property>	<name>javax.jdo.option.ConnectionURL</name>	<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8</value></property><property>	<name>javax.jdo.option.ConnectionDriverName</name>	<value>com.mysql.jdbc.Driver</value></property><property>	<name>javax.jdo.option.ConnectionUserName</name>	<value>root</value></property><property>	<name>javax.jdo.option.ConnectionPassword</name>	<value>root</value></property>
  3. 复制mysql驱动jar包到$HIVE_HOME/lib/目录下

  4. 启动。查看mysql数据库 ##[[email protected] hive]# hive

 

安装Kafka

  1. 解压 && 配置

    [[email protected] opt]# tar -zxvf kafka_2.11-0.11.0.0.tgz -C /data[[email protected] opt]# mv /data/kafka_2.11-0.11.0.0/ /data/kafka## 配置环境变量 && 修改配置文件cd $KAFKA_HOMElog.dirs=/data/data/kafka/logszookeeper.connect=xiaoxiaomo:2181[[email protected] kafka]# mkdir -p /data/data/kafka/logs
  2. 启动 && 测试

    ## 启动[[email protected] kafka]# nohup /data/kafka/bin/kafka-server-start.sh /data/kafka/config/server.properties >>/data/data/kafka/logs/kafka-server.log 2>&1 &## 测试[[email protected] kafka]# bin/kafka-topics.sh --create --zookeeper xiaoxiaomo:2181 --replication-factor 1 --partitions 1  --topic hello[[email protected] kafka]# bin/kafka-topics.sh --describe --zookeeper xiaoxiaomo:2181   --topic hello

 

安装Redis

  1. 解压编译

    [[email protected] ~]# yum -y install gcc #依赖于gcc[[email protected] ~]# tar -zxvf /opt/redis-3.0.6.tar.gz -C /data[[email protected] ~]# cd /data/redis-3.0.6/[[email protected] ~]# make PREFIX=/data/redis install   #安装到指定目录
  2. 将redis做成服务

    ####将redis_init_script复制到/etc/rc.d/init.d/同时改名为redis[[email protected] redis-3.0.6]# cp /opt/redis-3.0.6/utils/redis_init_script /etc/rc.d/init.d/redis[[email protected] redis-3.0.6]# vim /etc/rc.d/init.d/redis
  3. 配置

    ####修改下面4行>#chkconfig: 2345 80 90 ##注意:这个在上面蓝色字体第二行>EXEC=/data/redis/bin/redis-server##第七行>CLIEXEC=/data/redis/bin/redis-cli##第八行>$EXEC$CONF&##第二十行## 配置环境变量 && 修改配置文件cd $REDIS_HOME###配置文件拷贝到/etc/redis/${REDISPORT}.conf[[email protected] redis-3.0.6]# mkdir /etc/redis   [[email protected] redis-3.0.6]# cp /opt/redis-3.0.6/redis.conf /etc/redis/6379.conf
  4. 注册服务 && 启动 && 停止

    ## 注册redis服务:[[email protected] redis-3.0.6]# vim /etc/redis/6379.conf[[email protected] redis-3.0.6]# service redis start ##启动[[email protected] redis-3.0.6]# service redis stop ##停止[[email protected] redis-3.0.6]# redis-cli127.0.0.1:6379> shutdown ##停止

     

      大数据时代Hadoop培训大数据培训培训班,就选光环大数据!


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();