㈠ 樹莓派可以使用哪些系統
樹莓派是為學習計算機編程教育而設計,只有信用卡大小的微型電腦,其系統基於linux。隨著Windows 10 IoT的發布,我們也將可以用上運行Windows的樹莓派。
樹莓派雖小,但五臟俱全,和普通電腦無異。電腦能做的大部分事情,在樹莓派上都能做,而樹莓派以其低能耗、移動便攜性、GPIO等特性,很多在普通電腦上難以做好的事情,用樹莓派卻是很適合的。
拓展資料:
樹莓派由注冊於英國的慈善組織「Raspberry Pi 基金會」開發,Eben·Upton/埃·厄普頓為項目帶頭人。
2012年3月,英國劍橋大學埃本·阿普頓(Eben Epton)正式發售世界上最小的台式機,又稱卡片式電腦,外形只有信用卡大小,卻具有電腦的所有基本功能,這就是Raspberry Pi電腦板,中文譯名"樹莓派"。
它是一款基於ARM的微型電腦主板,以SD/MicroSD卡為內存硬碟,卡片主板周圍有1/2/4個USB介面和一個10/100 乙太網介面(A型沒有網口),可連接鍵盤、滑鼠和網線,同時擁有視頻模擬信號的電視輸出介面和HDMI高清視頻輸出介面,以上部件全部整合在一張僅比信用卡稍大的主板上,具備所有PC的基本功能只需接通電視機和鍵盤,就能執行如電子表格、文字處理、玩游戲、播放高清視頻等諸多功能。
樹莓派網路
㈡ Linux發行版哪個好
1.系統管理員最佳系統 :Parrot Linux
Parrot Linux基於Debian,幾乎能夠提供系統管理員需要的一切滲透測試工具。
管理員面對大量的日常工作,如果沒有堅實的工具集作為輔助,繁重的任務將令人不堪重負。在這方面,Parrot Linux將成為您的最佳助手。這款基於Debian的系統幾乎提供一切滲透工具,同時也面向加密、雲、匿名、數字取證、編程甚至生產力等方向提供相關功能。因此,這是款堪稱完美的安全與網路管理員專用的Linux發行版。
Parrot目前在Distrowatch榜單中排名第57位,預計它將在新的一年攀上更高的排行位置。
Parrot Security:一款安全工具Linux發行版http://www.linuxidc.com/Linux/2016-12/138019.htm
2.最佳輕量化發行版:LXLE
LXLE將小巧的體積與可觀的生產能力進行了完美融合。
毫無疑問,我認為LXLE將成為2017年的最佳輕量化發行版選項。LXLE將小巧的體積與出色的生產能力加以完美融合,大家能夠在其中找到您在桌面Linux中希望獲取的幾乎全部工具,且可在舊硬體上順暢運行。LXLE基於Ubuntu16.04,同時配合極為易用的LXDE容器管理器。
LXLE包含多種標准工具(例如LibreOffice與GIMP),唯一欠缺的是大家需要手動安裝一款現代瀏覽器。
目前,LXLE在Distrowatch上排名位於第16位。
LXLE 14.04.4 Beta 發布下載,輕量級桌面 Linux 發行http://www.linuxidc.com/Linux/2016-02/128129.htm
3.最佳桌面發行版:Elementary OS
Elementary OS Loki不僅非常美觀,且穩定性出色並提供無與倫比的用戶友好性及一致性。
雖然帶有部分主觀因素,但我認為Elementary OS Loki必然能夠在2017年內擊敗Linux Mint成為最佳桌面發行版。目前,Elementary OS在Distrowatch上排名第6位,但出色的穩定性、美觀度以及無與倫比的用戶友好性與一致性絕對能夠讓其順利壓倒目前排名第一的Linux Mint。
有些人認為Elementary OS桌面有點太過「Mac化」,但這實際上是對它帶給最終用戶體驗的一種肯定。不過,憑借著開源特性,大家可以隨意對它進行定製。
Elementary OS 美到你不能呼吸http://www.linuxidc.com/Linux/2015-12/126232.htm
Elementary OS 0.3 Freya 新功能選項-用戶可自定義鍵盤快捷鍵http://www.linuxidc.com/Linux/2015-05/118000.htm
試用 Elementary OS 0.3 Freya Beta 1http://www.linuxidc.com/Linux/2014-08/105507.htm
Elementary OS 0.3 Freya 截圖賞析http://www.linuxidc.com/Linux/2015-04/116164.htm
Elementary OS 0.3 Freya 發布http://www.linuxidc.com/Linux/2015-04/116079.htm
Elementary OS,致親愛的Linux用戶http://www.linuxidc.com/Linux/2015-04/116587.htm
在Elementary OS 0.3下用WPShttp://www.linuxidc.com/Linux/2014-11/109976.htm
4.百尺竿頭更進一步的典範:Gentoo
紅帽在協調企業業務需求方面擁有完美表現。
SUSE一直在企業領域不斷前行,且總有一天會在這一市場上順利登頂。但必須承認,這一天不會在2017年年內到來。紅帽企業Linux將繼續在此占據主導地位。根據Gartner公司的統計,紅帽公司在Linux訂閱市場擁有67%份額(其中紅帽企業Linux訂閱收入占紅帽總營收的75%)。究其原因,紅帽不僅與企業業務需求保持高度一致,同時亦幾乎參與到每一個開源軟體項目當中。
必須承認,紅帽在安全、集成、雲以及管理等領域一直在不斷努力,其成果也堪稱斐然。然而我仍然認為,2017年將成為SUSE持續崛起的一年,其還將不斷蠶食紅帽的市場份額。
選擇權在您
Linux平台最為突出的優勢之一在於,選擇權完全由您所操縱。面對數以百計的發行版,您可以根據需要任意做出判斷。不過我仍然自信地強調,本篇文章中提到的發行版絕對是最優秀的——或者,至少是最優秀的之一。
㈢ 目前最新的linux操作系統有哪些啊
最好的回歸發行版:openSUSE
最可定製的發行版: Arch Linux
最好看的發行版:elementary OS
最佳新人:Solus
最好的專教育操作系屬統:ezgo Linux
最好的雲操作系統:Chrome OS
最好的筆記本操作系統:Ubuntu MATE
最好的舊硬體支持系統:Lubuntu
最好的物聯網操作系統:Snappy Ubuntu Core
最好的台式機操作系統:Linux Mint Cinnamon
最好的游戲系統:Steam OS
最好的隱私保護操作系統:Tails
最好的多媒體製作系統:Ubuntu Studio
最好的企業級系統:SLE/RHEL
最好的伺服器操作系統:Debian/CentOS
最好的移動操作系統:Plasma Mobile
最好的ARM設備發行版:Arch Linux ARM
暫時總結這些,每個發行版基本可以獨當一面。
國產也有不少好的linux發行版,如
紅旗Linux,銀河麒麟,StartOS,深度操作系統
我比較看好深度操作系統
㈣ 如何安裝hadoop本地壓縮庫
安裝配置snappy壓縮
[一]、 實驗環境
CentOS 6.3 64位
Hadoop 2.6.0
JDK 1.7.0_75
[二]、 snappy編譯安裝
2.1、下載源碼
到官網 http://code.google.com/p/snappy/ 或者到 https://github.com/google/snappy
下載源碼,目前版本為 1.1.1。
2.2、編譯安裝
解壓 tar -zxvf snappy-1.1.1.tar.gz ,然後以 root 用戶 執行標準的三步進行編譯安裝:
/configure
make
make install
默認是安裝到 /usr/local/lib ,這時在此目錄下查看:
[hadoop@micmiu ~]$ ls -lh /usr/local/lib |grep snappy
-rw-r--r-- 1 root root 229K Mar 10 11:28 libsnappy.a
-rwxr-xr-x 1 root root 953 Mar 10 11:28 libsnappy.la
lrwxrwxrwx 1 root root 18 Mar 10 11:28 libsnappy.so ->
libsnappy.so.1.2.0
lrwxrwxrwx 1 root root 18 Mar 10 11:28 libsnappy.so.1 ->
libsnappy.so.1.2.0
-rwxr-xr-x 1 root root 145K Mar 10 11:28 libsnappy.so.1.2.0
安裝過程沒有錯誤同時能看到上面的動態庫,基本表示snappy 安裝編譯成功。
[三]、Hadoop snappy 安裝配置
3.1、hadoop 動態庫重新編譯支持snappy
hadoop動態庫編譯參考:Hadoop2.2.0源碼編譯 和 Hadoop2.x在Ubuntu系統中編譯源碼 ,只是把最後編譯的命令中增加
-Drequire.snappy :
1mvn package -Pdist,native -DskipTests -Dtar -Drequire.snappy
把重新編譯生成的hadoop動態庫替換原來的。
3.2、hadoop-snappy 下載
目前官網沒有軟體包提供,只能藉助 svn 下載源碼:
1svn checkout http://hadoop-snappy.googlecode.com/svn/trunk/
hadoop-snappy
3.3、hadoop-snappy 編譯
1mvn package [-Dsnappy.prefix=SNAPPY_INSTALLATION_DIR]
PS:如果上面 snappy安裝路徑是默認的話,即 /usr/local/lib,則此處
[-Dsnappy.prefix=SNAPPY_INSTALLATION_DIR] 可以省略,或者
-Dsnappy.prefix=/usr/local/lib
編譯成功後,把編譯後target下的 hadoop-snappy-0.0.1-SNAPSHOT.jar 復制到 $HADOOP_HOME/lib
,同時把編譯生成後的動態庫 到 $HADOOP_HOME/lib/native/ 目錄下:
1cp -r
$HADOOP-SNAPPY_CODE_HOME/target/hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64
$HADOOP_HOME/lib/native/
3.4、編譯過程中常見錯誤處理
① 缺少一些第三方依賴
官方文檔中提到編譯前提需要:gcc c++, autoconf, automake, libtool, java 6, JAVA_HOME set,
Maven 3
②錯誤信息:
[exec] libtool: link: gcc -shared
src/org/apache/hadoop/io/compress/snappy/.libs/SnappyCompressor.o
src/org/apache/hadoop/io/compress/snappy/.libs/SnappyDecompressor.o
-L/usr/local/lib -ljvm -ldl -m64 -Wl,-soname -Wl,libhadoopsnappy.so.0 -o
.libs/libhadoopsnappy.so.0.0.1
[exec] /usr/bin/ld: cannot find -ljvm
[exec] collect2: ld returned 1 exit status
[exec] make: *** [libhadoopsnappy.la] Error 1
或者
[exec] /bin/sh ./libtool --tag=CC --mode=link gcc -g -Wall -fPIC -O2 -m64
-g -O2 -version-info 0:1:0 -L/usr/local/lib -o libhadoopsna/usr/bin/ld: cannot
find -ljvm
[exec] collect2: ld returned 1 exit status
[exec] make: *** [libhadoopsnappy.la] Error 1
[exec] ppy.la -rpath /usr/local/lib
src/org/apache/hadoop/io/compress/snappy/SnappyCompressor.lo
src/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.lo -ljvm -ldl
[exec] libtool: link: gcc -shared
src/org/apache/hadoop/io/compress/snappy/.libs/SnappyCompressor.o
src/org/apache/hadoop/io/compress/snappy/.libs/SnappyDecompressor.o
-L/usr/local/lib -ljvm -ldl -m64 -Wl,-soname -Wl,libhadoopsnappy.so.0 -o
.libs/libhadoopsnappy.so.0.0.1
[ant] Exiting
/home/hadoop/codes/hadoop-snappy/maven/build-compilenative.xml.
這個錯誤是因為沒有把安裝jvm的libjvm.so 鏈接到
/usr/local/lib。如果你的系統時amd64,可以執行如下命令解決這個問題:
1ln -s /usr/java/jdk1.7.0_75/jre/lib/amd64/server/libjvm.so
/usr/local/lib/
[四]、hadoop配置修改
4.1、修改 $HADOOP_HOME/etc/hadoop/hadoop-env.sh,添加:
1export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native/Linux-amd64-64/
4.2、修改 $HADOOP_HOME/etc/hadoop/core-site.xml:
XHTML
io.compression.codecs
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec
4.3、修改 $HADOOP_HOME/etc/hadoop/mapred-site.xml 中有關壓縮屬性,測試snappy:
XHTML
maprece.map.output.compress
true
maprece.map.output.compress.codec
org.apache.hadoop.io.compress.SnappyCodec[五]、測試驗證
全部配置好後(集群中所有的節點都需要動態庫和修改配置),重啟hadoop集群環境,運行自帶的測試實例
wordcount,如果maprece過程中沒有錯誤信息即表示snappy壓縮安裝方法配置成功。
當然hadoop也提供了本地庫的測試方法 hadoop checknative :
[hadoop@micmiu ~]$ hadoop checknative
15/03/17 22:57:59 INFO bzip2.Bzip2Factory: Successfully loaded &
initialized native-bzip2 library system-native
15/03/17 22:57:59 INFO zlib.ZlibFactory: Successfully loaded &
initialized native-zlib library
Native library checking:
hadoop: true
/usr/local/share/hadoop-2.6.0/lib/native/libhadoop.so.1.0.0
zlib: true /lib64/libz.so.1
snappy: true
/usr/local/share/hadoop/lib/native/Linux-amd64-64/libsnappy.so.1
lz4: true revision:99
bzip2: true /lib64/libbz2.so.1
openssl: true /usr/lib64/libcrypto.so
㈤ 兩台伺服器手動部署大數據平台
兩台伺服器手動部署大數據平台
##### 初始伺服器數量
- 2台centos7
##### 建議配置
- 32G(RAM)
- 24cpu
- 10t(SATA)
### 1.環境
- 系統centos7
- jdk:1.8.0_171(64位)
- zookeeper:3.4.8
- spark-2.1.0-bin-hadoop2.6
- kafka_2.10-0.10.2.1
- hadoop-2.7.0
- hbase-1.2.6
- elasticsearch-6.3.0
### 2.系統准備
對應的安裝包文件:
elasticsearch-6.3.0.tar.gz
hadoop-2.7.0.tar.gz
hbase-1.2.6-bin.tar.gz
jdk-8u171-linux-x64.tar.gz
kafka_2.10-0.10.2.1.tgz
mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
spark2.1.0hadoop2.6.tgz.gz
zookeeper-3.4.8.tar.gz
一、 配置好hosts
```
兩台設備的host
ip1 hello1
ip2 hello2
關閉防火牆
systemctl stop firewalld
systemctl disable firewalld
二、機器之間做好免密
1. 在hello1伺服器中,cd /root/
2. ssh-keygen -trsa (全部按回車,走默認配置)
3. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4. chmod 600 ~/.ssh/authorized_keys
5. scp ~/.ssh/authorized_keys root@hello2:~/.ssh/
到此處時可以實現hello1機器上通過root賬戶登錄到hello2中,但從hello2中無法通過免密碼登錄到hello1伺服器。
6. 在hello2伺服器中,cd /root/
7. ssh-keygen -trsa (全部按回車,走默認配置)
8. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
9. scp ~/.ssh/authorized_keys root@hello1:~/.ssh/
到此處時可以實現hello1機器與hello2機器之間免密碼互通
三、建立一個用戶操作elasticsearch用戶,後期所有安裝軟體放在該目錄下(當前使用root賬戶安裝)
1.添加用戶:
useradd -m -s /bin/bash es
2.為該用戶設置密碼:
password es
四、安裝JDK
如果系統自帶openjdk,先將其卸載掉!
1.創建jdk安裝路徑(hello1、hello2都執行)
執行: mkdir /usr/java
2.解壓縮jdk到安裝目錄
執行: tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
3.添加環境變數
vi /etc/profile,添加以下語句
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
執行:source /etc/profile
4.復制安裝包和數據目錄到hello2
scp -r /usr/java/jdk1.8.0_171 hello2:/usr/java/
scp /etc/profile hello2:/etc/
登錄到hello2上,進入/home/es目錄
執行: source /etc/profile
5、驗證:
兩台伺服器上分別執行: java -version,查看輸出的版本是否與安裝的版本一致。
五、安裝mysql
1.如果centos系統中自帶mariadb,先卸載mariadb。
2.解壓mysql安裝包程序
執行:tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
3.依次安裝裡面rpm包組建
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.23-1.el7.x86_64.rpm
4.啟動MySQL
執行: systemctl start mysqld
5.登錄mysql伺服器
這種方式安裝好後,會再my.cnf文件中自動生成一個密碼,
執行:cat /var/log/mysqld.log | grep password, 出現如下記錄:
2017-09-15T01:58:11.863301Z 1 [Note] A temporary password is generated for root@localhost: m-NdrSG4ipuO
其中「m-NdrSG4ipuO」為mysql root賬戶的初始密碼。
登錄:
執行: mysql -uroot -p
輸入密碼: m-NdrSG4ipuO,即可進入mysql伺服器。
後續可自行修改root密碼,創建新賬戶等操作。
六、安裝zookeeper
1.解壓zookeeper安裝包到指定目錄(/home/es)
tar -zxvf zookeeper-3.4.8.tar.gz -C /home/es
2.創建程序軟連接
cd /home/es/
ln -s zookeeper-3.4.8 zookeeper
3.添加執行路徑環境
vi /etc/profile
添加
export ZOOKEEPER_HOME=/home/es/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
執行
source /etc/profile
4.修改配置文件
cd /home/es/zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg
在/home/data下創建對應的zookeeper數據存儲目錄
mkdir /home/data/zookeeper
mkdir /home/data/zookeeper/data
mkdir /home/data/zookeeper/log
修改配置文件:conf/zoo.cfg,添加以下語句
dataDir=/home/data/zookeeper/data
dataLogDir=/home/data/zookeeper/log
server.1=hello1:2888:3888
server.2=hello2:2888:3888
5.創建server表示符文件
touch /home/data/zookeeper/data/myid
echo echo 1>/home/data/zookeeper/data/myid
6.復制安裝包和數據目錄到hello2
scp -r /home/es/zookeeper-3.4.8 es@hello2:/home/es
scp -r /home/data/zookeeper es@hello2:/home/data
scp /etc/profile es@hello2:/etc
登錄到hello2上
cd /home/es
ln -s zookeeper-3.4.8 zookeeper
echo echo 2>/home/data/zookeeper/data/myid
執行
source /etc/profile
7.兩台機器上分別執行
zkServer.sh start
8.驗證
jps | grep QuorumPeerMain,查看是否有該進程
zkServer.sh status,查看服務狀態
六、安裝kafka
1.解壓kafka安裝包到指定目錄(/home/es)
tar -zxvf kafka_2.10-0.10.2.1.tgz -C /home/es
2.創建程序軟連接
cd /home/es/
ln -s kafka_2.10-0.10.2.1 kafka
3.修改配置文件
備份:
cp config/server.properties config/server.properties.bak
創建kafka日誌目錄:
mkdir /home/data/kafka
mkdir /home/data/kafka/kafka-logs
修改:config/server.properties,具體對應欄位如下:
broker.id=0
delete.topic.enable=true
num.network.threads=10
num.io.threads=32
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/home/data/kafka/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=hello1:2181,hello2:2181
zookeeper.connection.timeout.ms=6000
6.復制安裝包和數據目錄到hello2
scp -r /home/es/kafka_2.10-0.10.2.1 es@hello2:/home/es
scp -r /home/data/kafka es@hello2:/home/data
修改hello2中的配置
登錄到hello2上,cd /home/es/kafka,修改config/server.properties中broker.id值為2.
7.啟動kafka
在兩台機器的/home/es/kafka中,創建一個日誌存放目錄:mkdir start_log,執行以下命令:
nohup bin/kafka-server-start.sh config/server.properties > start_log/kafka_start_log 2>&1 &
8.驗證運行情況
jps | grep Kafka,查看進程
通過kafka命令查看topic。
七、安裝hadoop
1.解壓hadoop安裝包到指定目錄(/home/es)
tar -zxvf hadoop-2.7.0.tar.gz -C /home/es
2.創建程序軟連接
cd /home/es/
ln -s hadoop-2.7.0 hadoop
3.創建數據存放目錄
mkdir /home/data/hadoop
mkdir /home/data/hadoop/tmp
mkdir /home/data/hadoop/dfs
mkdir /home/data/hadoop/dfs/data
mkdir /home/data/hadoop/dfs/name
4.修改配置文件
修改/home/es/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hello1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/data/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
</configuration>
修改/home/es/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/data/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/data/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hello1:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
修改/home/es/hadoop/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>maprece.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>maprece.jobhistory.address</name>
<value>hello1:10020</value>
</property>
<property>
<name>maprece.jobhistory.webapp.address</name>
<value>hello1:19888</value>
</property>
</configuration>
修改/home/es/hadoop/etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>maprece_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.maprece.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hello1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheler.address</name>
<value>hello1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hello1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hello1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hello1:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property>
</configuration>
配置/home/es/hadoop/etc/hadoop目錄下hadoop-env.sh、yarn-env.sh的JAVA_HOME(不設置的話,啟動不了)
export JAVA_HOME=/usr/java/jdk1.8.0_171
配置/home/es/hadoop/etc/hadoop目錄下的slaves,刪除默認的localhost,增加2個從節點,
hello1
hello2
5、將配置好的Hadoop復制到各個節點對應位置上,通過scp傳送
scp -r /home/es/hadoop-2.7.0 hello2:/home/es/
scp -r /home/data/hadoop hello2:/home/data/
登錄到hello2上,進入/home/es目錄
執行: ln -s hadoop-2.7.0 hadoop
6、格式化nameNode及啟動hadoop
在主伺服器啟動hadoop,從節點會自動啟動,進入/home/es/hadoop目錄
初始化,輸入命令,bin/hdfs namenode -format
全部啟動sbin/start-all.sh,也可以分開sbin/start-dfs.sh、sbin/start-yarn.sh
輸入命令,jps,可以看到相關信息
7、驗證hadoop運行情況
瀏覽器打開http://hello1:8088/
瀏覽器打開http://hello1:50070/
8、添加hadoop環境變數到/etc/profile
export HADOOP_HOME=/home/es/hadoop export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
執行: source /etc/profile
八、安裝Hbase
1.解壓hbase安裝包到指定目錄(/home/es)
tar -zxvf hbase-1.2.6-bin.tar.gz -C /home/es
2.創建程序軟連接
cd /home/es/
ln -s hbase-1.2.6 hbase
3.添加hbase環境變數到/etc/profile
export HBASE_HOME=/home/es/hbase
export PATH=$HBASE_HOME/bin:$PATH
執行:source /etc/profile
4.修改HBASE配置文件
vi /home/es/hbase/conf/hbase-env.sh
增加: export JAVA_HOME=/usr/java/jdk1.8.0_171
修改: export HBASE_MANAGES_ZK=false
vi /home/es/hbase/conf/hbase-site.xml
修改類容:
<configuration>
<property>
<name>hbase.rootdir</name> <!-- hbase存放數據目錄 -->
<value>hdfs://hello1:9000/hbase/hbase_db</value>
<!-- 埠要和Hadoop的fs.defaultFS埠一致-->
</property>
<property>
<name>hbase.cluster.distributed</name> <!-- 是否分布式部署 -->
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name> <!-- list of zookooper -->
<value>hello1,hello2</value>
</property>
<property><!--zookooper配置、日誌等的存儲位置 -->
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/es/hbase/zookeeper</value>
</property>
</configuration>
配置regionservers,vi /home/es/hbase/conf/regionservers
去掉默認的localhost,加入hello1、hello2
5、將配置好的hbase復制到各個節點對應位置上,通過scp傳送
scp -r /home/es/hbase-1.2.6 hello2:/home/es/
scp /etc/profile hello2:/etc/
登錄到hello2上,進入/home/es目錄
執行: ln -s hbase-1.2.6 hbase
source /etc/profile
6、hbase的啟動
hello1中執行: start-hbase.sh
7、驗證hbase運行情況
輸入jps命令查看進程是否啟動成功,若 hello1上出現HMaster、HRegionServer、HQuormPeer,hello2上出現HRegionServer、HQuorumPeer,就是啟動成功了。
輸入hbase shell 命令 進入hbase命令模式,輸入status命令,查看運行狀態。
在瀏覽器中輸入http://hello1:16010就可以在界面上看到hbase的配置
注意事項:
正常安裝後,創建普通不帶壓縮表可以正常讀寫,當使用snappy進行壓縮創建表時,該表無法再regionServer中啟動!
解決方法:
1.在hbase-site.xml文件中添加一下屬性
<property>
<name>hbase.regionserver.codecs</name>
<value>snappy</value>
</property>
2.每台機器中將hadoop_native.zip解壓縮到hbase安裝目錄的lib下,執行 unzip hadoop_native.zip $HBASE_HOME/lib/
3.在$HBASE_HOME/conf/hbase-env.sh 中添加:export HBASE_LIBRARY_PATH=/home/es/hbase/lib/native
4.重啟Hbase服務即可
九、Spark安裝
1.解壓hbase安裝包到指定目錄(/home/es)
tar -zxvf spark2.1.0hadoop2.6.tgz.gz -C /home/es
2.創建程序軟連接
cd /home/es/
ln -s spark2.1.0hadoop2.6 spark
3.修改配置文件
mv /home/es/spark/conf/spark-env.sh.template /home/es/spark/conf/spark-env.sh
vi /home/es/spark/conf/spark-env.sh
修改對應配置:
export JAVA_HOME=/usr/java/jdk1.8.0_171
export SPARK_MASTER_IP=hello1
export SPARK_MASTER_PORT=7077
export SPARK_LOCAL_IP=hello1
修改slaves文件
mv /home/es/spark/conf/slaves.template /home/es/spark/conf/slaves
vi /home/es/spark/conf/slaves
將localhost修改成:
hello1
hello2
5、將配置好的hbase復制到各個節點對應位置上,通過scp傳送
scp -r /home/es/spark2.1.0hadoop2.6 hello2:/home/es/
登錄到hello2上,進入/home/es目錄
執行: ln -s spark2.1.0hadoop2.6 spark
在hello2中修改/home/es/spark/conf/spark-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_171
export SPARK_MASTER_IP=hello1
export SPARK_MASTER_PORT=7077
export SPARK_LOCAL_IP=hello2
6、啟動spark
cd /home/es/spark
執行: sbin/start-all.sh
7、檢測執行結果
jps | grep Worker,看是否有相應的進程。
十、安裝elasticsearch
由於elasticsearch,用root賬戶無法啟動,故該組件用es賬戶安裝
1、切換到es賬戶: su es
2、解壓hbase安裝包到指定目錄(/home/es)
tar -zxvf elasticsearch-6.3.0.tar.gz -C /home/es/
創建程序軟連接
cd /home/es/
ln -s elasticsearch-6.3.0 elasticsearch
3、修改配置文件
vi /home/es/elasticsearch/config/elasticsearch.yml
# 集群的名字
cluster.name: crrc-health
# 節點名字
node.name: node-1
# 數據存儲目錄(多個路徑用逗號分隔)
path.data: /home/data1/elasticsearch/data
# 日誌目錄
path.logs: /home/data1/elasticsearch/logs
#本機的ip地址
network.host: hello1
#設置集群中master節點的初始列表,可以通過這些節點來自動發現新加入集群的節點
discovery.zen.ping.unicast.hosts: ["hello1", "hello2"]
# 設置節點間交互的tcp埠(集群),(默認9300)
transport.tcp.port: 9300
# 監聽埠(默認)
http.port: 9200
# 增加參數,使head插件可以訪問es
http.cors.enabled: true
http.cors.allow-origin: "*"
4、創建elasticsearch數據和存儲目錄
mkdir /home/data1/elasticsearch
mkdir /home/data1/elasticsearch/data
mkdir /home/data1/elasticsearch/logs
5、修改linux系統的默認硬限制參數
切換至root用戶: su root
vim /etc/security/limits.conf
添加:
es soft nofile 65536
es hard nofile 65536
退出es登錄,重新用es賬戶登錄,使用命令:ulimit -Hn查看硬限制參數。
vi /etc/sysctl.conf
添加:
vm.max_map_count=655360
執行:
sysctl -p
6、將配置好的elasticsearch復制到各個節點對應位置上,通過scp傳送
scp -r /home/es/elasticsearch-6.3.0 hello2:/home/es/
scp -r /home/data1/elasticsearch hello2:/home/data1/
登錄到hello2上,進入/home/es目錄
執行: ln -s elasticsearch-6.3.0 elasticsearch-6.3.0
在hello2中修改/home/es/elasticsearch/config/elasticsearch.yml
修改: network.host: hello2
7、啟動elasticsearch
使用es賬戶
執行:
/home/es/elasticsearch/bin/elasticsearch -d
8、驗證
控制台中輸入:curl http://hello1:9200