Hadoop--快速搭建大数据开发环境
最近自己电脑的磁盘坏了,导致数据也没了。安装好系统之后就是各种弄环境了,之前的博客也写过hadoop环境搭建 Hadoop
, Hive
, HBase
, Kafka
, Spark
, MySQL
, Redis
等等一系列的。
之前记录的目的也是为了方便自己吧,但整个流程下来还是的花费几个小时。从前面的博客找到从虚拟机的网络配置,下载软件上传在修改配置挺麻烦的。这里再次做个汇总,以后做这个过程或者升级就更加方便( 主要便捷是后面会给出一个Virtual Box的包直接导入就有这些所有环境了 )。
准备
- 软件下载
安装linux
- 安装virtual box(略,这个没什么好说的,一直下一步就ok!)
- 安装Linux虚拟机注意(选择第一个)
- 添加虚拟机后网络配置
环境准备
- 规划
- 创建一个data目录所有东西都放在那儿: mkdir /data
- 再在data目录下创建一个data目录用来保存一些数据,比如hdfs,kafka等: mkdir /data/data
-
上传软件
-
准备
-
关闭防火墙:
[[email protected] ~]# service iptables stop [[email protected] ~]# chkconfig --list | grep iptables
-
修改主机名:修改
[[email protected] ~]# vi /etc/sysconfig/network## 修改为:HOSTNAME=xiaoxiaomo
-
绑定hosts Name:
[[email protected] ~]# vi /etc/hosts## 添加192.168.56.102 xiaoxiaomo
-
设置ssh:
[[email protected] ~]# ssh-keygen -t rsa #生成rsa格式的ssh私钥和公钥[[email protected] ~]# ssh-copy-id -i xiaoxiaomo #把公钥复制到对方节点(这里我复制到自己的主机xiaoxiaomo01上)[[email protected] ~]# ssh xiaoxiaomo01 #验证
-
安装国内的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/ - 安装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:## 【**备注后面的环境变量就略了,参考附录中的环境变量**】
-
配置
-
配置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>
-
配置hadoop-env.sh
export JAVA_HOME=/data/jdkexport HADOOP_LOG_DIR=/data/data/hdfs/logs
-
配置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>
-
配置log4j.properties
hadoop.log.dir=/data/data/hdfs/logs
-
配置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>
-
配置slaves
##localtion修改为xiaoxiaomo
-
yarn-env.sh
export JAVA_HOME=/data/jdkexport YARN_LOG_DIR=/data/data/hdfs/logsexport YARN_ROOT_LOGGER=DEBUG,DRFA
-
配置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
- 修改配置
-
vi $HBASE_HOME/conf/hbase-env.sh
export JAVA_HOME=/data/jdkexport HBASE_LOG_DIR=/data/data/hbase/logsexport HBASE_ROOT_LOGGER=INFO,DRFA
-
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>
-
vi $HBASE_HOME/conf/log4j.propertie
hbase.log.dir=/data/data/hbase/logs ##修改为统一目录
-
启动
## 启动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
- 修改配置
-
hive-env.sh
[[email protected] hive]# vim conf/hive-env.sh ##添加如下配置export JAVA_HOME=/data/jdkexport HIVE_HOME=/data/hiveexport HADOOP_HOME=/data/hadoop
-
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>
-
复制mysql驱动jar包到$HIVE_HOME/lib/目录下
- 启动。查看mysql数据库 ##[[email protected] hive]# hive
安装Kafka
-
解压 && 配置
[[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
-
启动 && 测试
## 启动[[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
-
解压编译
[[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 #安装到指定目录
-
将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
-
配置
####修改下面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
-
注册服务 && 启动 && 停止
## 注册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 ##停止
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服!