CentOS7下部署CDH5.9(HA)

CentOS7下部署CDH5.9(HA)

文件下載
1.Cloudera Manager
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz
2.CDH安裝包
地址:http://archive.cloudera.com/cdh5/parcels/5.9.0/
本文基於CentOS7,下載的parcels包及manifest文件對應的版本爲el7:
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1
manifest.json
3.JDBC
http://download.softagency.net/MySQL/Downloads/Connector-J/mysql-connector-java-5.1.42.tar.gz
JDBC目前已經有6.x,但與CDH 5.x存在不兼容
環境搭建

master1-2   28G內存           6核      800G硬盤
worker1-2   24G內存           4核      800G硬盤

1.網絡配置(所有節點)
修改主機名:

vi /etc/hostname

hadoop-master1
或者

hostnamectl set-hostname hadoop-master1

查看hostname

hostname

配置ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth33/

TYPE=Ethernet
BOOTPROTO=static                # 設置爲靜態
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes              # 開機啓用
IPADDR=xxx.xxx.xxx.201                  # ip地址
GATEWAY= xxx.xxx.xxx.xxx                # 網關
NETMASK= xxx.xxx.xxx.xxx                # 子網掩碼
重啓服務

systemctl restart network

查看ip

ip addr

修改hosts:

vi /etc/hosts

xxx.xxx.xxx.201 hadoop-master1
xxx.xxx.xxx.202 hadoop-master2
xxx.xxx.xxx.203 hadoop-worker1
xxx.xxx.xxx.204 hadoop-worker2

2.關閉防火牆(所有節點)

systemctl stop firewalld.service #關閉防火牆

systemctl disable firewalld.service #關閉開機自動啓動

3.關閉SELinux(所有節點)
修改/etc/selinux/config 文件,將SELINUX=enforcing改爲SELINUX=disabled,修改完成後重啓機器生效。

reboot

4.配置SSH免密碼登錄
查看ssh服務狀態

service sshd status

啓動ssh服務(如果已經安裝ssh,不用執行此步驟)

service sshd start

生成私鑰和公鑰(所有節點)

ssh-keygen -t rsa

cd ~/.ssh

在master2節點

cp id_rsa.pub master2.id_rsa.pub

scp master2.id_rsa.pub root@hadoop-master1:~/.ssh

在worker1節點

cp id_rsa.pub worker1.id_rsa.pub

scp worker1.id_rsa.pub root@hadoop-master1:~/.ssh

在worker2節點

cp id_rsa.pub worker2.id_rsa.pub

scp worker2.id_rsa.pub root@hadoop-master1:~/.ssh

在master1節點
將所有節點的公鑰信息保存到主節點下的authorized_keys(新生成的)文件中

cat id_rsa.pub >> authorized_keys

cat master2.id_rsa.pub >> authorized_keys

cat worker1.id_rsa.pub >> authorized_keys

cat worker2.id_rsa.pub >> authorized_keys

再把authorized_keys文件拷貝到其它節點上去

scp authorized_keys root@hadoop-master2:~/.ssh

scp authorized_keys root@hadoop-worker1:~/.ssh

scp authorized_keys root@hadoop-worker2:~/.ssh

測試SSH

5.配置NTP服務(所有節點)
集羣中所有節點必須保持時間同步,如果時間相差較大會引起問題(如Hbase服務無法正常啓動)
實現方法:master1節點作爲ntp服務器,對其它節點提供時間同步服務。 所有其它節點以master節點爲基礎同步時間。 所有節點安裝相關ntp組件

yum install ntp/或者手動安裝rpm包

所有節點設置時區,中國上海:

timedatectl set-timezone Asia/Shanghai

啓動ntp,以及設置開機啓動

systemctl start ntpd

systemctl enable ntpd

在master1節點上設置現在的準確時間

date -s “2017-06-15 09:10:00”

配置ntp服務器(master1節點)

vi /etc/ntp.conf

配置文件修改完畢後,重啓ntp服務

systemctl restart ntpd

在其它節點上設置ntp服務器爲server節點

vi /etc/ntp.conf

啓動ntpd服務

v systemctl start ntpd

systemctl enable ntpd

在其它節點上手動同步master1的時間

ntpdate -u xx.xx.xx.201

所有節點啓動時間同步

timedatectl set-ntp yes

查看同步狀態

ntpstat

6.禁用Transparent Hugepage (所有節點)
查看當前是否啓用(啓用狀態可能會嚴重降低Hadoop集羣性能)
注意: 不修改的話後面部署集羣檢查主機時可能會報出警告

cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never  表示已啓用
always madvise [never]  表示已禁用

禁用Transparent Hugepage

vi /etc/rc.local

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

賦予rc.local文件可執行權限

chmod +x /etc/rc.d/rc.local

重啓操作系統
7.調整vm.swappiness Linux內核參數 (所有節點)
該值用於控制從物理內存到磁盤上的虛擬內存的應用數據的交換。值越高,內存交換越積極。值越低,交換的次數越少。
大多數系統默認爲60,但不適用於Hadoop集羣,因爲即使有足夠的內存,Hadoop進程也有可能會被交換到磁盤,影響集羣穩定性和性能。
注意: 不修改的話後面部署集羣檢查主機時可能會報出警告
查看當前的參數

cat /proc/sys/vm/swappiness

30 當前是30,cloudera建議設置爲1-10之間,最好爲1
設置vm.swappiness值爲1

vi /etc/sysctl.conf

vm.swappiness = 1

MySQL 5.6安裝
1.檢查MySQL及相關RPM包,是否安裝,如果有安裝,則移除

rpm -qa | grep -i mysql

yum -y remove mysql-libxxxx

2.下載MySQL包:MySQL-5.6.36-1.linux_glibc2.5.x86_64.rpm-bundle.tar
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
解壓

tar -xvf MySQL-5.6.36-1.linux_glibc2.5.x86_64.rpm-bundle.tar

3.安裝mysql-server

rpm -ivh MySQL-server-5.6.36-1.linux_glibc2.5.x86_64.rpm

與已安裝的軟件有衝突,需要卸載有衝突的軟件

yum -y remove xxxxxxxxx

再次安裝mysql-server
安裝成功,但是下面執行數據庫初始化會報錯,缺少一個模塊

需要安裝autoconf庫(需要聯網或者搭建本地yum倉庫或者從CentOS7安裝包裏拷出autoconf的rpm包及其依賴包,手動安裝)

yum -y install autoconf

4.安裝客戶端

rpm -ivh MySQL-client-5.6.36-1.linux_glibc2.5.x86_64.rpm

5.初始化mysql

/usr/bin/mysql_install_db

6.啓動mysql服務

service mysql start

設置開機啓動

chkconfig mysql on

chkconfig –list | grep mysql

7.對mysql進行安全設置

/usr/bin/mysql_secure_installation

a)爲root用戶設置密碼 Y
b)刪除匿名賬號 Y
c)取消root用戶遠程登錄 N
d)刪除test庫和對test庫的訪問權限 Y
e)刷新授權表使修改生效 Y
8. 進入mysql

mysql -uroot -p

  1. 開放遠程登陸權限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
10.MySQL的默認安裝位置
/var/lib/mysql/         #數據庫目錄
/usr/share/mysql            #配置文件目錄
/usr/bin                    #相關命令目錄
/etc/init.d/mysql           #啓動腳本

11.如果需要修改字符集則需配置/etc/my.cnf文件
若etc目錄下沒有該文件則從/usr/share/mysql/下複製一個過來

cp /usr/share/mysql/my-default.cnf /etc/my.cnf

查看字符集

mysql> show variables like '%collation%';
mysql> show variables like '%char%';
mysql> show create database databaseName;
mysql> show create table tableName;

安裝jdk
卸載CentOS自帶的JDK (所有節點)
查看系統自帶java版本

java -version

查看OpenJDK相關包

rpm -qa | grep java

移除OpenJDK相關包

rpm -e –nodeps xxxxxxxxx

安裝Oracle官網下載jdk的rpm安裝包,並使用rpm -ivh packageName安裝
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
修改環境變量

vim /etc/profile

添加如下(使用rpm安裝的java在/usr/java/jdk1.8XXXX)

export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=/usr/java/jdk1.8.0_131/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

執行命令使環境變量生效

source /etc/profile

測試

java -version

Cloudera Manager安裝與集羣配置
1.創建cloudera-scm用戶(所有節點)

useradd –home=/opt/cm-5.9.0/run/cloudera-scm-server/ –shell=/bin/false –comment “Cloudera SCM User” cloudera-scm

查看是否創建成功

cat /etc/passwd

最後一行

cloudera-scm:x:501:502:Cloudera SCM User:/opt/cm-5.9.0/run/cloudera-scm-server/:/bin/false

則說明創建成功

手動創建文件夾(所有節點)

mkdir /opt/cm-5.9.0/run/cloudera-scm-agent

2.安裝cloudera-manager
解壓 (所有節點)

tar -zxvf cloudera-manager-centos7-cm5.9.0_x86_64.tar.gz /opt

更改用戶及用戶組(所有節點)

chown -R cloudera-scm:cloudera-scm cloudera

chown -R cloudera-scm:cloudera-scm cm-5.9.0

解壓mysql-connector-java-5.1.42.tar.gz,將mysql-connector-java-5.1.42-bin.jar放到/opt/cm-5.9.0/share/cmf/lib/中。
初始化數據庫:(主節點)

/opt/cm-5.9.0/share/cmf/schema/scm_prepare_database.sh mysql -h xxx.xxx.xxx.201 -uroot -pxxxxx –scm-host xxx.xxx.xxx.201 scm scm scm

note:在這裏後面的參數分別是:’數據庫類型’ ‘數據庫主機ip’ ‘數據庫用戶名’ ‘密碼’ –scm-host ‘cmserver主機ip’ scm scm scm

提示下面這個說明成功

All done, your SCM database is configured correctly!

3.Agent配置(所有節點)
修改/opt/cm-5.9.0/etc/cloudera-scm-agent/config.ini中的server_host爲主節點的主機名。
4.安裝CDH5
將CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中。
相關的文件如下:

CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1

manifest.json
執行命令,重命名.sha文件

mv CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha

啓動CM
主節點:

/opt/cm-5.9.0/etc/init.d/cloudera-scm-server start

/opt/cm-5.9.0/etc/init.d/cloudera-scm-agent start

其它節點:

/opt/cm-5.9.0/etc/init.d/cloudera-scm-agent start

其餘命令還有stop(停止), status(狀態), restart(重啓)

  1. CDH集羣配置
    Cloudera Manager Server和Agent都啓動以後,就可以進行CDH5的安裝配置。
    打開瀏覽器,訪問http://hadoop-master:7180
    由於CM Server的啓動需要花點時間,這裏可能要等待一會才能訪問成功,可能需要3-5分鐘,默認的用戶名和密碼均爲admin

當各Agent節點正常啓動後,可以在當前管理的主機列表中看到對應的節點。選擇要安裝的節點,點繼續。

下一步,出現parcel自檢測包名,如果本地Parcel包配置無誤,選目標版本CDH5.9.0,直接點繼續就可以了

繼續,如果配置本地Parcel包無誤,下載步驟應該是瞬間完成的,然後就是耐心等待分配解壓過程,分配過程的速度取決於節點之間的傳輸速度。

然後是主機檢查。前面不禁用transparent hugepage和調整vm.swappiness參數的話,這裏可能會有警告信息
繼續之後,進入到安裝服務頁面
這裏選擇分步安裝:
點擊頁面上Cloudera MANAGER,回到主頁

出現Cluster1,點擊下拉,選擇“添加服務”

HDFS,Hive, Hbase, YARN, ZOOKEEPER是核心Hadoop的幾個服務,分別安裝,由於這些節點存在依賴關係,需注意先後順序,順序是:
Zookeeper, hdfs, yarn, hbase, hive
注意:在安裝hive時,要將MySQL驅動文件拷貝到相應位置,還要在mysql裏預先創建好hive數據庫

cp/opt/cm-5.9.0/share/cmf/lib/mysql-connector-java-5.1.42-bin.jar opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive/lib/

mysql> create database hive;
6. 啓用HDFS和YARN HA(High Availability)
自動故障切換依賴於Zookeeper和ZKFailoverController(ZKFC),因此啓用HA需要確保Zookeeper服務已開啓。
硬件要求:

    NameNode: 活動主機和備用主機(硬件配置相同)
    JournalNode: 至少3個(奇數個),系統最多可以承受 (JN個數-1)/2個故障
    Zookeeper: 至少3個(奇數個)

注意:在HA羣集中,備用NameNode還執行命名空間狀態的檢查點,因此無需在HA羣集中運行Secondary NameNode,CheckpointNode或BackupNode
注意:啓用或禁用HA會導致HDFS服務和所有依賴於HDFS 的服務的服務中斷。在啓用或禁用HA之前,請確保您的羣集上沒有運行作業
注意:啓用或禁用HA會導致以前的監視歷史記錄不可用
1. 使用Cloudera Manager啓用HDFS HA(需要集羣管理員權限)

    -- 轉到HDFS,操作->啓用High Availability
    -- 設置備用NameNode主機(硬件配置與活動主機相同)
    -- 設置JournalNode主機(至少三個),建議放在活動NameNode和備用NameNode以及另外一個硬件類似的機器
    -- 指定每個JournalNode的Edits目錄(需要手動創建,要求爲空,且擁有適當的權限<hdfs用戶:hadoop用戶組>)

根據提示,停掉Hive服務,備份元數據庫,更新Hive Metastore NameNode

最後重啓Hive服務。
2. 使用Cloudera Manager啓用YARN(MRv2) ResourceManager HA(需要集羣管理員權限)

    -- 轉至YARN,操作->啓用High Availability
    -- 選擇備用ResourceManager
    -- 重新部署客戶端配置

部署Presto集羣
1.安裝Presto
在202,203,204三個節點上部署,其中202是老大

mkdir /opt/presto

tar -zxvf presto-server-0.178.tar.gz -C /opt/presto/

2.配置Presto
在202節點

mkdir -p /var/presto/data

cd /opt/presto/presto-server-0.178

mkdir etc

cd etc/

v vi node.properties

node.environment=production
node.id=coordinator
node.data-dir=/var/presto/data

vi jvm.config

-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p

vi config.properties

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=1083
query.max-memory=8GB
discovery-server.enabled=true
discovery.uri=http://xxx.xxx.xxx.202:1083

vi log.properties

com.facebook.presto=INFO

mkdir catlog

cd catlog

vi hive.properties

使用Hive連接器

connector.name=hive-cdh5        # 與plugin目錄下的hive-cdh5文件夾名稱一致
hive.metastore.uri=thrift://hadoop-master1:9083  # hive metastore url
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
hive.allow-drop-table=true

使用Hive連接器的話,需要下載presto-hive-cdh5-0.178.zip
解壓(需要先安裝unzip,可以下載rpm包手動安裝)

unzip presto-hive-cdh5-0.178.zip

複製到presto plugin目錄

cp presto-hive-cdh5-0.178 /opt/presto/presto-server-0.178/plugin/

重命名

mv presto-hive-cdh5-0.178 hive-cdh5 #與connector.name=hive-cdh5保持一致

配置完畢,複製到其他(worker)節點,並修改配置

scp -r presto-server-0.178 hadoop-worker1:/opt/presto/

scp -r presto-server-0.178 hadoop-worker2:/opt/presto/

mkdir -p /var/presto/data

cd etc

vi node.properties

node.environment=production
node.id=worker1(worker2)
node.data-dir=/var/presto/data

vi config.properties

coordinator=false
http-server.http.port=1083
query.max-memory=8GB
discovery-server.enabled=true
discovery.uri=http://xxx.xxx.xxx.202:1083

3.運行Presto

cd /opt/presto/presto-server-0.178/

./bin/launcher start

但是jps發現並沒有PrestoServer進程
進入log目錄下查看日誌

cd /var/presto/data/var/log/

cat launcher.log

發現錯誤信息,系統允許的文件描述符數量過低,需要增大(所有節點)

vi /etc/security/limits.conf

添加:

*   soft    nofile  65536
*   hard    nofile  131072

關掉當前會話,重連xxx.xxx.xxx.202,再次啓動

cd /opt/presto/ presto-server-0.177

./bin/laucher start

訪問web:hadoop-master2:1083
等待一會兒,工作節點變爲3個後,說明Presto集羣已正常啓動

4.測試 Presto CLI
下載 presto-cli-0.178-executable.jar 並將其重命名爲 presto-cli.jar然後使用chmod +x添加可執行權限。

chmod +x presto-cli.jar

運行下面命令進行測試:

./presto-cli.jar –server master2-ip:1083 –catalog hive –schema default

5.安裝配置yanagishima(Web UI for presto)
在204節點上安裝
解壓 unzip yanagishima-4.0.zip
修改配置文件vim conf/yanagishima.properties

jetty.port=8080
presto.query.max-run-time-seconds=1800
presto.max-result-file-byte-size=1073741824
presto.datasources=hnzs
presto.coordinator.server.hnzs=http://master2-ip:1083
presto.redirect.server.hnzs=http://master2-ip:1083
catalog.hnzs=hive
schema.hnzs=default
select.limit=500
audit.http.header.name=some.auth.header
to.values.query.limit=500
check.datasource=false

後臺啓動

nohup bin/yanagishima-start.sh >y.log 2>&1 &

訪問網頁 http://hadoop-worker2:8080/
如果無法連接外網的話,這個網頁打開是空白的,因爲有些css與js需要聯網才能加載

所以需要在有網環境下下載好這些文件放入web目錄,再修改index.html中這些文件的路徑即可。下載url原index.html中都有

安裝Kylin
下載http://kylin.apache.org/cn/download/
要求:
* 已安裝Tomcat,添加環境變量CATALINA_HOME(with CATALINA_HOME exported).
* Kylin 二進制文件拷貝至本地並解壓, 添加環境變量KYLIN_HOME

1、解壓
tar –zxvf apache-kylin-1.6.0-cdh5.7-bin.tar.gz
2、配置kylin環境變量
vim /etc/profile
然後添加

export CATALINA_HOME=/opt/apache-tomcat-8.0.37
export HADOOP_HOME=/opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hadoop
export HBASE_HOME=/opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hbase
export HIVE_HOME=/opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive
export KYLIN_HOME=/opt/kylin-1.6.0-cdh5.7
export PATH=:$HADOOP_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$PATH

soruce /etc/profile使kylin的環境變量生效

echo $KYLIN_HOME一下,看看環境變量是否生效。

3、修改配置文件kylin.properties,添加

kylin.rest.servers=IP:7070
kylin.job.jar=/tmp/kylin/kylin-job-latest.jar
kylin.coprocessor.local.jar=/tmp/kylin/kylin-coprocessor-latest.jar

拷貝jar到/tmp/kylin目錄下(如果沒有對應的目錄則手工創建)

cp /opt/apache-kylin-1.6.0-cdh5.7-bin/lib/kylin-coprocessor-1.6.0.jar /tmp/kylin/kylin-coprocessor-latest.jar

cp /opt/apache-kylin-1.6.0-cdh5.7-bin/lib/kylin-job-1.6.0.jar /tmp/kylin/kylin-job-latest.jar

4、檢查環境

$KYLIN_HOME/bin/check-env.sh

正常情況下,只會輸出kylin環境變量地址
5、需要開啓hive的遠程thrift的metastare服務 (CDH已經自動開啓)。

nohup hive --service metastore -p 9083 &

6、啓動:

$KYLIN_HOME/bin/kylin.sh start

輸出日誌,同時在$KYLIN_HOME/logs也會打出日誌

訪問web: http://ip:7070/kylin
默認帳號密碼是ADMIN/KYLIN

8、$KYLIN_HOME/bin/kylin.sh stop進行停止
9、問題處理:
當執行 ./check_env.sh 或./kylin.sh start時遇到

解決方法:
kylin會在HDFS上創建/kylin目錄,需要hdfs權限
可以在check-env.sh中 將hadoop fs -mkdir -p WORKINGDIRsudouhdfshadoopfsmkdirp WORKING_DIR,得以解決
或者關閉HDFS權限檢查(dfs.permissions=false)

部署Elasticsearch
要求
根據官方文檔,Elasticsearch至少需要Java 8,並且建議使用Oracle JDK版本1.8.0_121或更高,在安裝之前,先檢查Java版本:

java -version
echo $ JAVA_HOME

安裝
下載elasticsearch-5.2.1.tar.gz

解壓

mkdir /usr/local/elasticsearch
tar -zxvf elasticsearch-5.2.1.tar.gz -C /usr/local/elasticsearch/

創建目錄

cd /usr/local/elasticsearch/
mkdir -p datas/data
mkdir datas/logs

配置
創建es用戶,並把elasticsearch授權給es用戶

useradd es
passwd es
...
chown -R es:es elasticsearch

設置系統參數(root用戶)

vim /etc/security/limits.conf 

添加如下內容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
es soft memlock unlimited    # 給予es用戶內存鎖權限
es hard memlock unlimited

通過jvm.options設置JVM堆大小
良好的經驗原則是:
最小堆大小和最大堆大小設置相等的值;
不應超過可用物理RAM的50%。
-Xms2g
-Xmx2g # 設置最小和最大堆大小爲2G

vim /etc/sysctl.conf
添加下面配置:

vm.max_map_count=262144

保存後執行命令

sysctl -p

修改配置文件(es用戶)

vi /elasticsearch-5.2.1/config/elasticsearch.yml
cluster.name: es-cluster                      # 集羣名稱
node.name: es-node1                        # 節點名字
path.data: /usr/local/elasticsearch/datas/data    # 數據目錄
path.logs: /usr/local/elasticsearch/datas/logs     # 日誌目錄
bootstrap.memory_lock:true              # 禁用swapping,防止JVM內存被交換到磁盤
network.host: 192.168.0.141
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.0.141", "192.168.0.144","192.168.0.145"] #節點ip
discovery.zen.minimum_master_nodes: 2    # 最小主節點數(master候選節點數/2+1)

啓動(不能用root賬戶啓動,這裏在es用戶下啓動)

cd elasticsearch-5.2.1/        # $ES_HOME
./bin/elasticsearch -d         # 後臺啓動

測試
訪問網頁http://ip:9200/

集成IK分詞工具
必須安裝在集羣中的每個節點上。安裝完成後,必須重新啓動每個節點才能使插件變得可見。

  1. 下載ES的IK插件源碼(v5.2.1)或者直接下載release版本,避免再打包
    release版本: elasticsearch-analysis-ik-5.2.1.zip
    源碼: https://github.com/medcl/elasticsearch-analysis-ik/tree/v5.2.1
  2. 使用maven編譯(release版本跳過這一步)
    mvn clean package

  3. 複製解壓編譯後的文件到es插件目錄

  4. “`shell
    cd ESHOME/plugins/mkdirikcpelasticsearchanalysisik5.2.1.zip ES_HOME/plugins/ik
    unzip elasticsearch-analysis-ik-5.2.1.zip
4. 重啓ES服務

5. 查看已加載的插件列表
```shell
./bin/elasticsearch-plugin list




<div class="se-preview-section-delimiter"></div>

12.測試

  • 默認的分詞工具:

  • IK分詞插件ik_smart模式

  • IK分詞插件ik_max_word模式

安裝Sqoop1.4.6
安裝
下載http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.9.0.tar.gz
解壓到opt目錄

tar -zxvf sqoop-1.4.6-cdh5.9.0.tar.gz /opt/

複製mysql-connector jar包到sqoop-1.4.6-cdh5.9.0/lib目錄下
配置環境變量

vi /etc/profile

“`
export SQOOP_HOME=/opt/sqoop-1.4.6-cdh5.9.0
export PATH=PATH: SQOOP_HOME/bin

“`

12.測試

  • 默認的分詞工具:

  • IK分詞插件ik_smart模式

  • IK分詞插件ik_max_word模式

安裝Sqoop1.4.6
安裝
下載http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.9.0.tar.gz
解壓到opt目錄

tar -zxvf sqoop-1.4.6-cdh5.9.0.tar.gz /opt/

複製mysql-connector jar包到sqoop-1.4.6-cdh5.9.0/lib目錄下
配置環境變量

vi /etc/profile

“`shell
export SQOOP_HOME=/opt/sqoop-1.4.6-cdh5.9.0
export PATH=PATH: SQOOP_HOME/bin

## source /etc/profile
修改配置文件
## cd $SQOOP_HOME/conf
## cp sqoop-env-template.sh sqoop-env.sh
## vi sqoop-env.sh
export HADOOP_COMMON_HOME=/opt/cloudera/parcels/CDH-5.9.0***/lib/hadoop
export HADOOP_MAPRED_HOME=/opt/cloudera/parcels/CDH-5.9.0***/lib/hadoop
export HBASE_HOME=
export HIVE_HOME=
expoer ZOOCFGDIR=

測試

sqoop version

發現有警告
修改$SQOOP_HOME/bin/configure-sqoop
註釋掉含有警告信息的行…
其實可以不用理會警告的…
連接mysql測試

sqoop-list-databases –connect jdbc:mysql://192.168.0.141:3306/ –username root –password 123456

Warning: /opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/bin/../lib/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
17/06/08 11:20:15 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.9.0
17/06/08 11:20:15 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
17/06/08 11:20:16 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
information_schema
azkaban
hive
mysql
performance_schema

成功!!!

發佈了63 篇原創文章 · 獲贊 24 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章