網絡上解決步驟各異,其實就一句話。只要保證vm virtual machine的.vmx配置文件、ifconfig –a、/etc/sysconfig/network-scripts/ifcfg-eth0、/etc/udev/rules.d/70-persistent-net.rules,所使用的網卡設備和MAC地址一致便可。
IP | 主機名 | 環境配置 | 安裝 |
---|---|---|---|
192.168.64.100 | node01 | 關閉防火牆和SELinux,host映射,時鐘同步 | JDK,NameNode,ResourceManager,Zookeeper |
192.168.64.110 | node02 | 關閉防火牆和SELinux,host映射,時鐘同步 | JDK,NameNode,ResourceManager,Zookeeper |
192.168.64.120 | node03 | 關閉防火牆和SELinux,host映射,時鐘同步 | JDK,NameNode,ResourceManager,Zookeeper,mysql |
vim /etc/udev/rules.d/70-persistent-net.rules
三臺機器設置成相應的MAC地址,併網卡均設置爲eth0
html
vim /etc/sysconfig/network-scripts/ifcfg-eth0
改成相應的MAC地址 ONBOOT改成yes:啓動時會激活網卡 BOOTROTO設置爲static,表示靜態IP 配置具體IP參數
* 輸入 **reboot 重啓**三臺主機 * 登陸後,輸入 ifconfig,查看ip是否正確 * 輸入 ping www.baidu.com 查看可否正確聯網,CTRL+C結束終止進程
vim /etc/sysconfig/network HOSTNAME=node01
打開後,增長圖片上的語句 vim /etc/hosts
輸入 reboot 重啓三臺主機java
service iptables stop #關閉防火牆 chkconfig iptables off #禁止開機啓動
# 修改selinux的配置文件 vi /etc/selinux/config # 將其中的模式改成: SELINUX=disabled
ssh-keygen -t rsa
三臺機器將拷貝公鑰到第一臺機器,三臺機器執行命令: ssh-copy-id node01
在第一臺機器上面執行如下命令 scp /root/.ssh/authorized_keys node02:/root/.ssh scp /root/.ssh/authorized_keys node03:/root/.ssh
# 安裝 yum install -y ntp # 啓動定時任務 crontab -e # 隨後在輸入界面鍵入,使其和阿里雲服務器保持時鐘同步 */1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;
SecureCRT View-Command Window,後右擊,選擇 send command to all sessionsnode
rpm -qa | grep java rpm -e java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 tzdata-java-2016j-1.el6.noarch java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64 --nodeps
mkdir -p /export/softwares #軟件包存放目錄 mkdir -p /export/servers #安裝目錄
# 安裝傳輸工具 yum -y install lrzsz ** 出現 rpm庫校驗失敗或者損壞 錯誤 ** 解決以下 yum clean all yum makecache
#上傳jdk到/export/softwares路徑下去,並解壓 tar -zxvf jdk-8u261-linux-x64.tar.gz -C ../servers/
vim /etc/profile # 添加以下內容 export JAVA_HOME=/export/servers/jdk1.8.0_261 export PATH=:$JAVA_HOME/bin:$PATH # 修改完成以後記得 source /etc/profile # 使用命令查看是否安裝成功 java -version # 可每臺進行相同配置,也可直接拷貝發送,再進行環境變量配置 scp -r jdk1.8.0_261/ node02:$PWD scp -r jdk1.8.0_261/ node03:$PWD
yum install mysql mysql-server mysql-devel
/etc/init.d/mysqld start
/usr/bin/mysql_secure_installation 遠程登陸及權限表選擇 n
# 在linux上進入客戶端 mysql -u root -p # 受權語句 grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; # 刷新MySQL的系統權限相關表 flush privileges; # 退出 exit;
zookeeper 3.4.9mysql
# 安裝包下載 # 上傳 zookeeper-3.4.9.tar.gz 至 /export/softwares # 解壓至 /export/servers tar -zxvf zookeeper-3.4.9.tar.gz -C ../servers/ # 修改配置文件 cd /export/servers/zookeeper-3.4.9/conf/ cp zoo_sample.cfg zoo.cfg mkdir -p /export/servers/zookeeper-3.4.9/zkdatas/ # 修改相應參數 vim zoo.cfg dataDir=/export/servers/zookeeper-3.4.9/zkdatas # 保留多少個快照 autopurge.snapRetainCount=3 # 日誌多少小時清理一次 autopurge.purgeInterval=1 # 集羣中服務器地址 server.1=node01:2888:3888 server.2=node02:2888:3888 server.3=node03:2888:3888 # 添加myid配置 # 進入目錄,打開myid,輸入 1,保存退出 cd /export/servers/zookeeper-3.4.9/zkdatas vim myid # 安裝包分發並修改 myid 值爲 2 3 scp -r /export/servers/zookeeper-3.4.9/ node02:/export/servers/ 或者 scp -r /export/servers/zookeeper-3.4.9/ node02:$PWD scp -r /export/servers/zookeeper-3.4.9/ node03:/export/servers/ # 啓動ZK服務 /export/servers/zookeeper-3.4.9/bin/zkServer.sh start # 查看啓動狀態 cd /export/servers/zookeeper-3.4.9/bin zkServer.sh status
服務器IP | 192.168.64.100 | 192.168.64.110 | 192.168.64.120 |
---|---|---|---|
NameNode | √ | ||
SecondaryNameNode | √ | ||
dataNode | √ | √ | √ |
ResourceManager | √ | ||
NodeManager | √ | √ | √ |
- NameNode:HDFS 主節點 - SecondaryNameNode 對NameNode 作輔助管理 - dataNode :HDFS從節點,三臺都進行安裝 - ResourceManager: 分佈式計算主節點 - NodeManager : 分佈式計算從節點
# 對Hadoop安裝包進行編譯,使其支持snappy壓縮等 [編譯後安裝包](https://pan.baidu.com/s/1BFQq-qWJOGkB75StVbV_Tw) 提取碼:hz4s # 上傳並解壓 Hadoop2.7.5至 servers目錄下,檢測本地庫 cd hadoop-2.7.5 bin/hadoop checknative
# 修改 core-site.xml <configuration> <!-- 指定集羣的文件系統類型:分佈式文件系統 --> <property> <name>fs.default.name</name> <value>hdfs://node01:8020</value> </property> <!-- 指定臨時文件存儲目錄 --> <property> <name>hadoop.tmp.dir</name> <value>/export/servers/hadoop-2.7.5/hadoopDatas/tempDatas</value> </property> <!-- 緩衝區大小,實際工做中根據服務器性能動態調整 --> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> <!-- 開啓hdfs的垃圾桶機制,刪除掉的數據能夠從垃圾桶中回收,單位分鐘 --> <property> <name>fs.trash.interval</name> <value>10080</value> </property> </configuration>
# 修改 hdfs-site.xml <configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>node01:50090</value> </property> <!-- 指定namenode的訪問地址和端口 --> <property> <name>dfs.namenode.http-address</name> <value>node01:50070</value> </property> <!-- 指定namenode元數據的存放位置 --> <property> <name>dfs.namenode.name.dir</name> <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value> </property> <!-- 定義dataNode數據存儲的節點位置,實際工做中,通常先肯定磁盤的掛載目錄,而後多個目錄用,進行分割 --> <property> <name>dfs.datanode.data.dir</name> <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value> </property> <!-- 指定namenode日誌文件的存放目錄 --> <property> <name>dfs.namenode.edits.dir</name> <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/nn/edits</value> </property> <property> <name>dfs.namenode.checkpoint.dir</name> <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/snn/name</value> </property> <property> <name>dfs.namenode.checkpoint.edits.dir</name> <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits</value> </property> <!-- 文件切片的副本個數--> <property> <name>dfs.replication</name> <value>3</value> </property> <!-- 設置HDFS的文件權限--> <property> <name>dfs.permissions</name> <value>false</value> </property> <!-- 設置一個文件切片的大小:128M--> <property> <name>dfs.blocksize</name> <value>134217728</value> </property> </configuration>
# 修改 hadoop-env.sh (僅修改下面這一句) export JAVA_HOME=/export/servers/jdk1.8.0_261
# 修改 mapred-site.xml mapred-site.xml.template 重命名爲 mapred-site.xml <configuration> <!-- 指定分佈式計算使用的框架是yarn --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- 開啓MapReduce小任務模式 --> <property> <name>mapreduce.job.ubertask.enable</name> <value>true</value> </property> <!-- 設置歷史任務的主機和端口 --> <property> <name>mapreduce.jobhistory.address</name> <value>node01:10020</value> </property> <!-- 設置網頁訪問歷史任務的主機和端口 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>node01:19888</value> </property> </configuration>
# 修改 yarn-site.xml <configuration> <!-- 配置yarn主節點的位置 --> <property> <name>yarn.resourcemanager.hostname</name> <value>node01</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 開啓日誌聚合功能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 設置聚合日誌在hdfs上的保存時間 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> <!-- 設置yarn集羣的內存分配方案 --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>20480</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>2048</value> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>2.1</value> </property> </configuration>
# 修改 mapred-env.sh 增長一句:export JAVA_HOME=/export/servers/jdk1.8.0_261
# 修改slaves node01 node02 node03
# 執行建立服務數據保存目錄 mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/tempDatas mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2 mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2 mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/nn/edits mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/snn/name mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits
# Hadoop安裝包分發 cd /export/servers/ scp -r hadoop-2.7.5 node02:$PWD scp -r hadoop-2.7.5 node03:$PWD
# 配置Hadoop環境變量(三臺) vim /etc/profile # 添加 export HADOOP_HOME=/export/servers/hadoop-2.7.5 export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH # 配置生效 source /etc/profile # 集羣啓動 cd /export/servers/hadoop-2.7.5/ bin/hdfs namenode -format sbin/start-dfs.sh sbin/start-yarn.sh sbin/mr-jobhistory-daemon.sh start historyserver # 三個端口查看界面 http://node01:50070/explorer.html#/ 查看hdfs http://node01:8088/cluster 查看yarn集羣 http://node01:19888/jobhistory 查看歷史完成的任務
# 上傳 cd /export/softwares # 解壓至 /export/servers tar -zxvf apache-hive-2.1.1-bin.tar.gz -C ../servers/
# 修改 hive-env.sh cd /export/servers/apache-hive-2.1.1-bin/conf cp hive-env.sh.template hive-env.sh vim hive-env.sh # 去掉下面兩句的註釋,並添加相應路徑 HADOOP_HOME=/export/servers/hadoop-2.7.5 export HIVE_CONF_DIR=/export/servers/apache-hive-2.1.1-bin/conf # 新建 hive-site.xml vim hive-site.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node03:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> <property> <name>datanucleus.schema.autoCreateAll</name> <value>true</value> </property> <property> <name>hive.server2.thrift.bind.host</name> <value>node03</value> </property> </configuration> # 添加mysql的鏈接驅動包 到hive 的lib目錄 cd /export/servers/apache-hive-2.1.1-bin/lib # 配置 hive 的環境變量 sudo vim /etc/profile export HIVE_HOME=/export/servers/apache-hive-2.1.1-bin export PATH=:$HIVE_HOME/bin:$PATH source /etc/profile
1. bin/hive 2.bin/hive -e "create database if not exists mytest;" - 或者將hql語句寫到文本中,再執行 - vim hive.sql - 寫入sql語句 - 執行 bin/hive -f /export/servers/hive.sql
# 修改 hadoop(第三臺) 的 hdf-site.xml文件 cd /export/servers/hadoop-2.7.5/etc/hadoop <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> # 修改 core-site.xml vim core-site.xml # 添加 <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> # 將第三臺機子上修改的兩個配置文件分發給其餘兩臺主機 scp hdfs-site.xml node02:$PWD scp hdfs-site.xml node03:$PWD scp core-site.xml node02:$PWD scp core-site.xml node01:$PWD # 重啓集羣 sbin/start-dfs.sh sbin/start-yarn.sh # 啓動beeline nohup bin/hive --service hiveserver2 > /dev/null 2>&1 & # beeline 鏈接 hiveserver2 bin/beeline !connect to jdbc:hive2://node03:10000
sqoop 操做與安裝linux
[kafka 操做與安裝](https://www.cnblogs.com/alidata/p/13424939.html)web
[HBase 操做與安裝]()sql