最近自己電腦的磁盤壞了,導致數據也沒了。安裝好系統之後就是各種弄環境了,之前的博客也寫過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
-
上傳軟件
-
準備
-
關閉防火牆:
[root@xiaoxiaomo ~]# service iptables stop [root@xiaoxiaomo ~]# chkconfig --list | grep iptables
-
修改主機名:修改
[root@xiaoxiaomo ~]# vi /etc/sysconfig/network ## 修改爲: HOSTNAME=xiaoxiaomo
-
綁定hosts Name:
[root@xiaoxiaomo ~]# vi /etc/hosts ## 添加 192.168.56.102 xiaoxiaomo
-
設置ssh:
[root@xiaoxiaomo ~]# ssh-keygen -t rsa #生成rsa格式的ssh私鑰和公鑰 [root@xiaoxiaomo ~]# ssh-copy-id -i xiaoxiaomo #如果你對大數據開發感興趣,想系統學習大數據的話,可以加入大數據技術學習交流扣扣羣:522+數字189+數字307,歡迎添加,私信管理員,瞭解課程介紹,獲取學習資源把公鑰複製到對方節點(這裏我複製到自己的主機xiaoxiaomo01上) [root@xiaoxiaomo ~]# ssh xiaoxiaomo01 #驗證
- 安裝JDK :
##解壓到/data && 修改名稱 [root@xiaoxiaomo ~]# tar -zxvf /opt/jdk-8u144-linux-x64.tar.gz -C /data [root@xiaoxiaomo ~]# mv /data/jdk1.8.0_144/ /data/jdk ##配置環境變量 [root@xiaoxiaomo ~]# vi /etc/profile export JAVA_HOME=/data/jdk export PATH=.:$JAVA_HOME/bin:$PATH
安裝Hadoop
-
解壓&&重命名&&配置環境變量
[root@xiaoxiaomo ~]# tar -zxvf /opt/hadoop-2.7.2.tar.gz -C /data/ [root@xiaoxiaomo ~]# mv /data/hadoop-2.7.2/ /data/hadoop [root@xiaoxiaomo ~]# mkdir -p /data/data/hdfs/name ##需要創建一個目錄不然啓動會報錯 [root@xiaoxiaomo ~]# vim /etc/profile ##添加如下 export HADOOP_HOME=/data/hadoop export 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/jdk export 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/jdk export YARN_LOG_DIR=/data/data/hdfs/logs export 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>
- 啓動測試
## 格式化數據目錄 [root@xiaoxiaomo ~]# hdfs namenode -format ## 啓動hdfs [root@xiaoxiaomo ~]# start-dfs.sh ##訪問:http://xiaoxiaomo:50070 ## 啓動yarn [root@xiaoxiaomo ~]# start-yarn.sh ##訪問:http://xiaoxiaomo:8088
安裝zookeeper
[root@xiaoxiaomo ~]# tar -zxvf /opt/zookeeper-3.4.9.tar.gz -C /data/ [root@xiaoxiaomo ~]# mv /data/zookeeper-3.4.9/ /data/zookeeper ## 配置環境變量略 [root@xiaoxiaomo ~]# vi /etc/profile ## 添加:export ZK_HOME=/data/zookeeper [root@xiaoxiaomo ~]# cd $ZK_HOME/conf [root@xiaoxiaomo conf]# mv zoo_sample.cfg zoo.cfg [root@xiaoxiaomo conf]# vi zoo.cfg ##修改:dataDir=/data/data/zookeeper [root@xiaoxiaomo conf]# vi log4j.properties ##修改:zookeeper.log.dir=/data/data/zookeeper/logs ##啓動 [root@xiaoxiaomo conf]# zkServer.sh start
安裝HBase
[root@xiaoxiaomo ~]# tar -zxvf hbase-1.3.1-bin.tar.gz -C /data/ [root@xiaoxiaomo ~]# mv /data/hbase-1.3.1/ /data/hbase
- 修改配置
-
vi $HBASE_HOME/conf/hbase-env.sh
export JAVA_HOME=/data/jdk export HBASE_LOG_DIR=/data/data/hbase/logs export 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 [root@xiaoxiaomo ~]# start-hbase.sh
安裝MySQL
[root@xiaoxiaomo opt]# rpm -qa|grep mysql #如有就卸載 [root@xiaoxiaomo opt]# tar -xvf mysql-5.7.9-1.el6.x86_64.rpm-bundle.tar [root@xiaoxiaomo opt]# rpm -ivh mysql-community-common-5.7.9-1.el6.x86_64.rpm [root@xiaoxiaomo opt]# rpm -ivh mysql-community-libs-5.7.9-1.el6.x86_64.rpm [root@xiaoxiaomo opt]# rpm -ivh mysql-community-client-5.7.9-1.el6.x86_64.rpm [root@xiaoxiaomo opt]# yum install -y mysql-community-server-5.7.9-1.el6.x86_64.rpm [root@xiaoxiaomo opt]# mysqld --initialize #初始化 [root@xiaoxiaomo opt]# cat /var/log/mysqld.log #可以獲取初始密碼 [root@xiaoxiaomo opt]# chown -R mysql:mysql /var/lib/mysql #授權 [root@xiaoxiaomo opt]# /etc/init.d/mysqld start #啓動 [root@xiaoxiaomo opt]# mysql -uroot -p #登錄(通過默認的初始密碼) ##登錄進去後要重設密碼 mysql>SET PASSWORD = PASSWORD('root'); ##mysql啓動&&停止 [root@xiaoxiaomo opt]# /etc/init.d/mysqld start ##啓動服務 [root@xiaoxiaomo opt]# service mysqld start ##啓動服務 [root@xiaoxiaomo opt]# /etc/init.d/mysqld stop ##啓停止服務 [root@xiaoxiaomo opt]# service mysqld stop ##停止服務
安裝Hive
[root@xiaoxiaomo opt]# tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /data/ [root@xiaoxiaomo opt]# mv /data/apache-hive-1.2.1-bin/ /data/hive ## 配置環境變量略 [root@xiaoxiaomo opt]# cd $HIVE_HOME [root@xiaoxiaomo hive]# cp conf/hive-env.sh.template conf/hive-env.sh [root@xiaoxiaomo hive]# cp conf/hive-default.xml.template conf/hive-site.xml
- 修改配置
-
hive-env.sh
[root@xiaoxiaomo hive]# vim conf/hive-env.sh ##添加如下配置 export JAVA_HOME=/data/jdk export HIVE_HOME=/data/hive export HADOOP_HOME=/data/hadoop
-
hive-env.sh
[root@xiaoxiaomo 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/目錄下
安裝Kafka
-
解壓 && 配置
[root@xiaoxiaomo opt]# tar -zxvf kafka_2.11-0.11.0.0.tgz -C /data [root@xiaoxiaomo opt]# mv /data/kafka_2.11-0.11.0.0/ /data/kafka ## 配置環境變量 && 修改配置文件 cd $KAFKA_HOME log.dirs=/data/data/kafka/logs zookeeper.connect=xiaoxiaomo:2181 [root@xiaoxiaomo kafka]# mkdir -p /data/data/kafka/logs
-
啓動 && 測試
## 啓動 [root@xiaoxiaomo kafka]# nohup /data/kafka/bin/kafka-server-start.sh /data/kafka/config/server.properties >>/data/data/kafka/logs/kafka-server.log 2>&1 & ## 測試 [root@xiaoxiaomo kafka]# bin/kafka-topics.sh --create --zookeeper xiaoxiaomo:2181 --replication-factor 1 --partitions 1 --topic hello [root@xiaoxiaomo kafka]# bin/kafka-topics.sh --describe --zookeeper xiaoxiaomo:2181 --topic hello
安裝Redis
-
解壓編譯
[root@xiaoxiaomo ~]# yum -y install gcc #依賴於gcc [root@xiaoxiaomo ~]# tar -zxvf /opt/redis-3.0.6.tar.gz -C /data [root@xiaoxiaomo ~]# cd /data/redis-3.0.6/ [root@xiaoxiaomo ~]# make PREFIX=/data/redis install #安裝到指定目錄
-
將redis做成服務
####將redis_init_script複製到/etc/rc.d/init.d/同時改名爲redis [root@xiaoxiaomo redis-3.0.6]# cp /opt/redis-3.0.6/utils/redis_init_script /etc/rc.d/init.d/redis [root@xiaoxiaomo 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 [root@xiaoxiaomo redis-3.0.6]# mkdir /etc/redis [root@xiaoxiaomo redis-3.0.6]# cp /opt/redis-3.0.6/redis.conf /etc/redis/6379.conf
-
註冊服務 && 啓動 && 停止
## 註冊redis服務: [root@xiaoxiaomo redis-3.0.6]# vim /etc/redis/6379.conf [root@xiaoxiaomo redis-3.0.6]# service redis start ##啓動 [root@xiaoxiaomo redis-3.0.6]# service redis stop ##停止 [root@xiaoxiaomo redis-3.0.6]# redis-cli 127.0.0.1:6379> shutdown ##停止