1. 程式人生 > >代理內 cent os7 安裝 ambari + metron

代理內 cent os7 安裝 ambari + metron

完整步驟 參考https://cwiki.apache.org/confluence/display/METRON/Metron+0.4.1+with+HDP+2.5+bare-metal+install+on+Centos+7+with+MariaDB+for+Metron+REST

遇到問題:

1、代理問題

linux 代理 可能需要在系統和yum,maven, npm 等個多個地方設定。

啟動xrdp服務,使用遠端桌面比較方便。

2、yum locked 問題

kill不了,可以通過強制關掉yum程序:

#rm -f /var/run/yum.pid
  • 1

然後就可以使用yum了。

3、執行mvn clean 

package-DskipTests -T 2C -P HDP-2.5.0.0,mpack時遇到npm err!

參考https://community.hortonworks.com/questions/148454/metron-041-build-failure-metron-config-failed-to-e.html

將c++ 編譯器升級到新版本後可以解決!

  1. sudo yum install centos-release-scl
  2. sudo yum install devtoolset-4-gcc*
  3. scl enable devtoolset-4 bash
  4. which gcc
  5. gcc
    --version

4、 docker 代理設定

install 過程 遇到 docker pull。。。。connection。。錯誤 

參考 https://stackoverflow.com/questions/23111631/cannot-download-docker-images-behind-a-proxy

https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

A quick outline:

First, create a systemd drop-in directory for the docker service:

mkdir /etc/systemd/system/docker.service.d

Now create a file called /etc/systemd/system/docker.service.d/http-proxy.conf that adds the HTTP_PROXY environment variable:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"

If you have internal Docker registries that you need to contact without proxying you can specify them via the NO_PROXY environment variable:

Environment="HTTP_PROXY=http://proxy.example.com:80/"
Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com"

Flush changes:

$ sudo systemctl daemon-reload

Verify that the configuration has been loaded:

$ sudo systemctl show --property Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/

Restart Docker:

$ sudo systemctl restart docker

5 docker 繼續遇到一個大麻煩

mvn clean install -DskipTests -PHDP-2.5.0.0

這個過程會進入docker映象執行一系列的安裝設定操作,但這些指令碼依賴於yum和 wget 。由於在代理伺服器後面,所以需要對docker映象的yum和wget進行設定。

執行的時候會遇到

Sending build context to Docker daemon 834.6 MB
Step 1/13 : FROM centos:centos6
 ---> 26cb1244b171
Step 2/13 : RUN yum install -y tar
 ---> Running in c2ce83755e08


Loaded plugins: fastestmirror, ovl
Setting up Install Process
Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os&infra=container error was
14: PYCURL ERROR 7 - "Failed to connect to 2604:1580:fe02:2::10: Network is unreachable"
The command '/bin/sh -c yum install -y tar' returned a non-zero code: 1

[ERROR] Command execution failed.

這個問題是 執行過程中 docker客戶機執行yum install的 時候無法連線ipv6的地址導致的。

關於docker的這個bug 有很多提到的,但網上沒有解決的辦法。。。。。

換個思路 如果在docker裡面 修改yum的源地址為國內地址應該能解決。。。

解決方法是這樣的

先用

docker images 命令查詢docker映象

docker run -it  centos /bin/bash  進入centos  映象命令列

修改映象中的  /etc/yum.repos.d/CentOS-Base.repo 檔案 更換為可以連結的yum源

後面docker還要用到wget  

yum install -y wget

vi /etc/wgetrc 

啟用wget代理設定  

# They will override the value in the environment.
https_proxy = http://xx.xx.xx.xx:xx/
http_proxy = http://xx.xx.xx.xx:xx/
ftp_proxy = http://xx.xx.xx.xx:xx/
 
# If you do not want to use proxy at all, set this to off.
use_proxy = on 

在伺服器 使用命令

docker commit 84e25b2bab30 docker.io/centos:centos6    (84e25b2bab30為容器id

提交映象更改,建立一個新的映象。

再進行

mvn clean install -DskipTests -PHDP-2.5.0.0

經過一陣耐心地等待。。。success!

然而。。。問題還有

RPMS下沒有noarch資料夾,也沒有編譯的rpm包。

仔細觀察 日誌中還有  

rpmbuild command not found 、rpmlint command not found 和  Macro %_prerelease empty body 等錯誤。

 解決方法:

yum install -y rpm-build

yum install -y rpmlint

然後執行

./root/metron/metron-deployment/packaging/docker/rpm-docker/build.sh 0.4.1(注意0.4.1為版本號)

經過等待   rpm  包出現在了指定的位置。。。。

6 ambari server 代理設定

Configure Internet Proxy Settings for Ambari Server

  1. On the Ambari Server host, stop Ambari Server:

    ambari-server stop

  2. Add proxy settings to the following script: /var/lib/ambari-server/ambari-env.sh.

    -Dhttp.proxyHost=<yourProxyHost> -Dhttp.proxyPort=<yourProxyPort>

  3. Optionally, to prevent some host names from accessing the proxy server, define the list of excluded hosts, as follows:

    -Dhttp.nonProxyHosts=<pipe|separated|list|of|hosts>

  4. If your proxy server requires authentication, add the username and password, as follows:

    -Dhttp.proxyUser=<username> -Dhttp.proxyPassword=<password>

  5. Restart the Ambari Server to pick up this change.

注意的是 也要配置https的 代理設定  格式與http一樣。

7 設定離線安裝源

網上有很多這個的文章  基本上就是 設定 HDP,HDPUTILS和AMBARI的源下載到本地,安裝一個http服務提供下載。有的時候安裝cluster重新設定後,在安裝的時候會遇到 報repo。。。。。的錯誤。

這個時候需要  stop ambari-server然後

執行  ambari-server reset  重置伺服器狀態。重新進行安裝設定 就好了。

8 hdfs 中 的 dashboard上顯示有三個啟動成功的 datanode,但只有 一個  live的 datanode。

檢視datanode 和 namenode 日誌發現 

2018-04-23 14:44:05,743 INFO  datanode.DataNode (BPServiceActor.java:register(687)) - Block pool BP-1626029470-10.110.0.46-1523411499327 (Datanode Uuid e32aa2ea-9df5-4d2a-b8fc-52dd41cd83f2) service to master.jluhp.edu.cn/10.110.0.46:8020 beginning handshake with NN
2018-04-23 14:44:05,746 ERROR datanode.DataNode (BPServiceActor.java:run(747)) - Initialization failed for Block pool BP-1626029470-10.110.0.46-1523411499327 (Datanode Uuid e32aa2ea-9df5-4d2a-b8fc-52dd41cd83f2) service to master.jluhp.edu.cn/10.110.0.46:8020 Datanode denied communication with namenode because hostname cannot be resolved (ip=10.110.0.47, hostname=10.110.0.47): DatanodeRegistration(0.0.0.0:50010, datanodeUuid=e32aa2ea-9df5-4d2a-b8fc-52dd41cd83f2, infoPort=50075, infoSecurePort=0, ipcPort=8010, storageInfo=lv=-56;cid=CID-51bf3a43-568e-4c54-a8b7-a3f9cfaa6f1a;nsid=1412723871;c=0)
at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:899)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:4653)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:1404)
at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:100)

原因就是  namenode 無法反向解析 datanode,這個有幾個解決辦法,我在master的 hosts 檔案裡配置datanode的 解析地址就可以解決。

參考https://log.rowanto.com/why-datanode-is-denied-communication-with-namenode/

9 啟動hbase 遇到過一會 就會停掉

檢視日誌/var/log/hbase/hbase****.log

2018-04-24 08:12:37,974 FATAL [master:16000.activeMasterManager] master.HMaster: Unhandled exception. Starting shutdown.
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /apps/hbase/data/.tmp/hbase.version could only be replicated to 0 nodes instead of minReplication (=1).  There are 3 datanode(s) running and no node(s) are excluded in this operation.
at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1649)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3198)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3122)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:843)

參考 https://stackoverflow.com/questions/34245682/could-only-be-replicated-to-0-nodes-instead-of-minreplication-1-there-are-4

https://community.hortonworks.com/questions/110806/remaining-capacity-of-hdfs-0.html

這個 主要還是 hadoop 和zookeeper有問題,比如 1 live node,空間不足 ,服務沒啟動等等。

具體要檢視 /var/log下 hadoop 和hbase的 log 解決。

10 hive  設定

hive 需要 提前在mysql 建立 表空間 使用者 ,並且授權。

  建立hive資料庫
# mysql -uroot -p
CREATE DATABASE hive;

 建立hive使用者並賦予許可權
# mysql -uroot -p
use hive;

CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';

GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';

GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';

FLUSH PRIVILEGES;

11 測試kafka 

用console 測試的時候  引數必須嚴格按照配置進行

注意 段口號 和 域名,以及ip~  

用域名配置的 應該用域名訪問。

12 空間問題

hdp系統會產生大量日誌,要注意磁碟空間剩餘情況~

13 elasticsearch  安裝和配置

內網安裝 參考這個  文章  https://blog.csdn.net/ZhouyuanLinli/article/details/77725599,需要自己搭建個yum 源,修改repo檔案和 elasticsearch

重點是關於 ES的配置一定要注意ambari中ES引數的格式  比如 需要""和[] 還有,等 ,這個一定要注意!!

連線kibana   需要  http_cors_enabled  設定為  "false"

zen_discovery_ping_unicast_hosts  設定為 ES叢集master的 地址 格式為[ xxx.xxx.xxx.xx ]

expected_data_nodes要根據叢集dn 數量設定   

gateway_recover_after_data_nodes   要根據叢集dn 數量設定  否則會無法正常使用!

安裝了ik中文分詞經常會導致master not found故障,刪除原來的資料問題解決,但還需要進一步測試。

其他問題根據 log  參考網上解決~

14 kibana  在 chrome裡面會有 認證錯誤 換個瀏覽器 firefox會解決

kibana右上角有時間區間設定,會影響 logstash 資料 discover~

15 kibana 地圖 白板問題 因為kibana原來的地圖收費了。。。所以要改成 新的源比如 高德地圖

進入到安裝目錄下的src/ui/public/vislib/visualizations/目錄

1.編輯_map.js檔案

//url: 'https://otile{s}-s.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg',
url: 'http://webst0{s}.is.autonavi.com/appmaptile?lang=zh_cn&style=7&x={x}&y={y}&z={z}',

註釋之前的//url: 'https://otile{s}-s.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg',

新增url: 'http://webst0{s}.is.autonavi.com/appmaptile?lang=zh_cn&style=7&x={x}&y={y}&z={z}',

2.刪除kibana目錄下的optimize/bundles資料夾

3.重新啟動

16 tilemap 裡的模式匹配問題

官方例子 裡日誌要匹配成為logstash-*模式 才能識別 地理資訊!

es 裡index設定資料   kibana裡匹配模式  都很重要~

高德地圖匹配的不是很好  匹配一下大小 才有地圖出來!

17 kibana 外掛安裝

bin/kibana plugin -i xxxxx.zip

目前就遇到這些問題,待遇到其他問題陸續更新。

相關推薦

代理 cent os7 安裝 ambari + metron

完整步驟 參考https://cwiki.apache.org/confluence/display/METRON/Metron+0.4.1+with+HDP+2.5+bare-metal+install+on+Centos+7+with+MariaDB+for+Metron

Cent OS7安裝Python 2.7.15

    這種安裝方式為在系統原基礎上進行編譯安裝python2.7.15不廢話,直接開始主題。     1、環境說明     系統版本Cent OS 7,軟體包存放位置/home/s

Cent-OS7安裝過程

界面 分享 準備 分享圖片 用戶 ima 14. 設置 http 安裝前準備 下好Cent-OS7的鏡像,創建虛擬機。 開機安裝配置   進入主配置界面:   時間設置:   鍵盤設置:   光盤設置:   最小化裝機:   下一步進入用戶設置:   設置

Cent OS7 安裝Mysql8.0

第一部分清理環境 1.1 安裝前清理工作; 1.1.1 清理原有的mysql資料庫; 使用以下命令查找出安裝的mysql軟體包和依賴包: # rpm -qa | grep mysql  // 這個命令就會檢視該作業系統上是否已經安裝了mysql資料庫 如果系統有安裝,那可以選擇進行

伺服器篇 (三)Cent OS7安裝mysql5.7

——本次採用rmp方式安裝 一、解除安裝自帶的 mariadb-lib rpm -qa|grep mariadb rpm -e --nodeps 檔名 二、下載mysql5.7安裝包 2)下載 Cent OS選擇下圖紅框中的作業系統,版本號自己選擇。

Oracle vm virtualBox的使用(安裝cent OS7最新映象)教程詳解

1.版本 虛擬機器: VirtualBox-5.2.20-125813-Win,目前最新版本 ISO映象:cent OS7,也是目前最新版本 2.下載地址 VirtualBox ISO映象下載地址 3.安裝: VirtualBox:安裝很簡單,傻瓜式安裝,直

【Redhat7.3】在區域網安裝ambari,通過ambari安裝大資料平臺

      以下是文章目錄: 前提條件 4 修改機器的hostname 5 修改主機名 6 配置所有節點 8 在hosts中新增其他機器資訊 8 檢查配置是否生效 9 關閉所有節點防火牆 10

Cent os7 進行部署安裝 Nginx

部署環境: VMware  Centos 7  64bit   我這裡直接把歷史指令按出來,按照操作進行就可以,nginx的原理不多說了。 [[email protected] www]# vim /etc/nginx/nginx.conf   #預設配置

安裝Ambari

rto alt logs -i https sta hdp bar content 可以到hortonworks的網站上,找到對應版本和操作系統的安裝指南 https://docs.hortonworks.com/HDPDocuments/Ambari-2.5.0.3/bk

Nginx代理與反向代理(rpm包安裝

服務器 apache nginx 反向代理 註意:情況1:當後端是獨立的php-fpm服務器模塊的話需要fastcgi協議情況2:當後端是LAMP的話,使用的就是Apache協議不需要開啟fastcgi模塊直接寫個location / {proxy_pass http://backserver

核模板安裝與卸載

log archive 模板 內核 .net code tail 卸載 www http://www.linuxidc.com/Linux/2016-03/129476.htm http://blog.csdn.net/crazycoder8848/article/deta

基於nginx和tengine的tcp反向代理,負載均衡 安裝和配置

zip http 端口 arc -s pro 進入 iteye obj 先下載nginx_tcp_proxy_module模塊。 wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/mast

四、cent OS安裝配置mysql

cnblogs 允許 ins wget linu date log 裝配 獲得 下載mysql的repo源$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 安裝mysql-commu

一、cent OS安裝配置JDK

創建 本地文件 http acl network 環境變量 目錄 target jdk下載 到oracle官網下載JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.htm

二、cent OS安裝配置tomcat

沒有 htm server shu jdk jdk1 java_opts 補充 href 下載tomcat的tar包http://tomcat.apache.org/download-80.cgi 確保安裝前已經安裝JDKjava -version如果沒有安裝可以參考上一

center os7 安裝mysql

方式 開機啟動 pass 代碼 一是 系統 logs 一個 command 安裝mariadb MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險

hadoop-12-安裝ambari-agent

centos6 gpg install tar start check pat 修改 led hadoop-12-安裝ambari-agent 在所有的機器上面安裝ambari-agent 1, cd /etc/yum.repos.d/vi 三個文件vi ambari.re

rhel安裝ambari

all postgre documents fault cto exp linu src div RHEL/CentOS/Oracle Linux 6 On a server host that has Internet access, use a comman

LINUX系統開啟故障排錯及linux-4.16.8核編譯安裝

grub1.5 grub2 linux4.16.8編譯安裝 系統引導排錯 自制linux系統 1、破解root口令,並為grub設置保護功能 1).進入單用戶模式 在 GRUB 啟動菜單裏使用 “e” 操作按鍵進入 CentOS 的啟動菜單向界面 ,移動光標至“kernel”配置項一行,

Nginx代理Tomcat實例安裝

Nginx Tomcat Java Linux JDK 一. JDK安裝下載jdk和tomcat(一般tomcat版本要和jdk對應,及tomcat7對應jdk1.7) mkdir /usr/java tar xf jdk1.7.0_75.tar.gz -C /usr/java/ 然後在/