eth公鑰
㈠ dfszkfailovercontroller 是什麼進程
前期准備
1.修改Linux主機名,每台都得配置
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop-server1
2.修改IP /etc/sysconfig/network-scripts/ifcfg-eth0
3.修改主機名和IP的映射關系
vim /etc/hosts
192.168.146.181 hadoop-server1
192.168.146.182 hadoop-server2
192.168.146.183 hadoop-server3
192.168.146.184 hadoop-server4
192.168.146.185 hadoop-server5
######注意######如果你們公司是租用的伺服器或是使用的雲主機(如華為用主機、阿里雲主機等)
/etc/hosts裡面要配置的是內網IP地址和主機名的映射關系
4.關閉防火牆
#查看防火牆狀態
service iptables status
#關閉防火牆
service iptables stop
#查看防火牆開機啟動狀態
chkconfig iptables --list
#關閉防火牆開機啟動
chkconfig iptables off
前4步用root用戶操作,操作完後重啟機器
5.ssh免登陸hadoop用戶操作
#生成ssh免登陸密鑰
#進入到我的home目錄
cd ~/.ssh
ssh-keygen -t rsa (四個回車)
執行完這個命令後,會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰)
將公鑰拷貝到要免密登陸的目標機器上
ssh--id hadoop-server2
6.安裝JDK,配置環境變數等root用戶操作
vim /etc/proflie
export JAVA_HOME=/usr/java/jdk1.7.0_65
export HADOOP_HOME=/itcast/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
集群規劃:
主機名 IP 安裝軟體 運行進程
hadoop-server1 192.168.146.181:jdk、hadoop
namenode resourcemanage
DFSZKFailoverController(zkfc)
hadoop-server2 192.168.146.182:jdk、hadoop
namenode resourcemanage
DFSZKFailoverController(zkfc)
hadoop-server3 192.168.146.183:jdk、hadoop、zookeeper
datanode nodemanage
journalnode QuorumPeerMain
hadoop-server4 192.168.146.184:jdk、hadoop、zookeeper
datanode nodemanage
journalnode QuorumPeerMain
hadoop-server5 192.168.146.185:jdk、hadoop、zookeeper
datanode nodemanage
journalnode QuorumPeerMain
安裝步驟:
1.安裝配置zooekeeper集群(在hadoop-server3上)
1.1解壓
tar -zxvf zookeeper-3.4.5.tar.gz -C /home/hadoop/app/
1.2修改配置
cd /home/hadoop/app/zookeeper-3.4.5/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改:dataDir=/home/hadoop/app/zookeeper-3.4.5/data
在最後添加:
server.1=hadoop-server3:2888:3888
server.2=hadoop-server4:2888:3888
server.3=hadoop-server5:2888:3888
保存退出
然後創建一個tmp文件夾
mkdir /home/hadoop/app/zookeeper-3.4.5/data
再創建一個空文件
touch /home/hadoop/app/zookeeper-3.4.5/data/myid
最後向該文件寫入ID
echo 1 > /home/hadoop/app/zookeeper-3.4.5/data/myid
1.3將配置好的zookeeper拷貝到其他節點
scp -r /home/hadoop/app/zookeeper-3.4.5/ weekend06:/home/hadoop/app/
scp -r /home/hadoop/app/zookeeper-3.4.5/ weekend07:/home/hadoop/app/
注意:修改hadoop-server4、hadoop-server5對應/home/hadoop/app/zookeeper-3.4.5/data/myid內容
hadoop-server4:
echo 2 > /home/hadoop/app/zookeeper-3.4.5/data/myid
hadoop-server5:
echo 3 > /home/hadoop/app/zookeeper-3.4.5/data/myid
2.安裝配置hadoop集群(在hadoop-server1上操作)
2.1解壓
tar -zxvf hadoop-2.4.1.tar.gz -C /weekend/
2.2配置HDFS(hadoop2.0所有的配置文件都在$HADOOP_HOME/etc/hadoop目錄下)
#將hadoop添加到環境變數中
vim /etc/profile
export JAVA_HOME=/hadoop/home/app/jdk1.7.0_55
export HADOOP_HOME=/home/hadoop/app/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
#hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop下
cd /home/hadoop/app/hadoop-2.4.1/etc/hadoop
2.2.1修改hadoo-env.sh
export JAVA_HOME=/home/hadoop/app/jdk1.7.0_55
2.2.2修改core-site.xml
<configuration>
<!-- 指定hdfs的nameservice為ns1 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1/</value>
</property>
<!-- 指定hadoop臨時目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/hadoop-2.4.1/tmp</value>
</property>
<!-- 指定zookeeper地址 -->
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop-server3:2181,hadoop-server3:2181,hadoop-server3:2181</value>
</property>
</configuration>
2.2.3修改hdfs-site.xml
<configuration>
<!--指定hdfs的nameservice為ns1,需要和core-site.xml中的保持一致 -->
<property>
<name>dfs.nameservices</name>
<value>ns1</value>
</property>
<!-- ns1下面有兩個NameNode,分別是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.ns1</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns1.nn1</name>
<value>hadoop-server1:9000</value>
</property>
<!-- nn1的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns1.nn1</name>
<value>hadoop-server1:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns1.nn2</name>
<value>weekend02:9000</value>
</property>
<!-- nn2的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns1.nn2</name>
<value>hadoop-server2:50070</value>
</property>
<!-- 指定NameNode的元數據在JournalNode上的存放位置 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop-server3:8485;hadoop-server4:8485;hadoop-server5:8485/ns1</value>
</property>
<!-- 指定JournalNode在本地磁碟存放數據的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/hadoop/app/hadoop-2.4.1/journaldata</value>
</property>
<!-- 開啟NameNode失敗自動切換 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 配置失敗自動切換實現方式 -->
<property>
<name>dfs.client.failover.proxy.provider.ns1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.</value>
</property>
<!-- 配置隔離機制方法,多個機制用換行分割,即每個機制暫用一行-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
shell(/bin/true)
</value>
</property>
<!-- 使用sshfence隔離機制時需要ssh免登陸 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
<!-- 配置sshfence隔離機制超時時間 -->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
</configuration>
2.2.4修改mapred-site.xml
<configuration>
<!-- 指定mr框架為yarn方式 -->
<property>
<name>maprece.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2.2.5修改yarn-site.xml
<configuration>
<!-- 開啟RM高可用 -->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!-- 指定RM的cluster id -->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yrc</value>
</property>
<!-- 指定RM的名字 -->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!-- 分別指定RM的地址 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>hadoop-server1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>hadoop-server2</value>
</property>
<!-- 指定zk集群地址 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>hadoop-server3:2181,hadoop-server4:2181,hadoop-server5:2181</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>maprece_shuffle</value>
</property>
</configuration>
2.2.6修改slaves(slaves是指定子節點的位置)
hadoop-server3
hadoop-server4
hadoop-server5
㈡ 錢包地址的錢怎麼轉出來
首先需要跟大家來科普一下,這里的錢包其實並不是廣義上的錢包,而是屬於區塊鏈當中的一個定義,它並不是用來放錢的,而是用來裝秘鑰的。在區塊鏈上,只有你有了密鑰,然後再配合全包的地址,就可以將里邊的虛擬貨幣給提取出來,然後進行使用。所以錢包地址以及密鑰是非常重要的,而他們兩個往往是打包在一塊兒了。
第一、錢包概念首先,我們來理解錢包,需要澄清的是,錢包其實並不是裝錢的,而是裝密鑰(私鑰和公鑰)的工具,有了密鑰就可以擁有相應地址上的數字貨幣的支配權。私鑰:用戶使用私鑰進行簽名交易,從而證明擁有該交易的輸出權,其交易信息並不是存儲在該錢包內,而是存儲在區塊鏈中。公鑰:用來生成地址,儲存交易,信息由私鑰通過非對稱加密演算法生成。錢包地址:是一個以雙字母開頭(代表幣種)的42位16進制哈希值字元串。ETH的地址是以0x開頭的42位16進制哈希值字元串。如果將錢包比作銀行卡,那麼錢包地址就是銀行卡號。
第二、怎麼使用錢包目前市場上的數字錢包有很多,
像imToken、myetherwallet、Kcash、parity、Metamask、Jaxx等,選擇一個你喜歡的錢包。建議選擇imToken這里也是用imToken舉例,:在應用市場下載一個imToken的APP點擊「創建錢包」,給錢包取名字和密碼。千萬千萬注意:自己記住密碼,imtoken不會記住你的密碼,忘記密碼不能被找回!!所以忘記密碼就等於丟失了錢包里的所有貨幣!!最好手抄下來並妥善保存,以防止網路傳輸及黑客攻擊等造成丟失。這個非常非常重要,切記點擊創建錢包後,錢包創建完成接下來我們要備份錢包,錢包備份是為了在程序被刪除或手機被盜等等情況下恢復錢包設置用的。
有兩種方式:備份助記詞或備份keystore。助記詞是隨機生成的12個單詞,你把這個拷貝出來放到安全的地方,再按順序抄寫一份放在安全的地方,你可以把這助記詞理解為私鑰的另一種形式,依據這個可以恢復錢包。比如你不小心把imtoken應用刪除了,或者手機不見了,可以用這個助記詞把錢包恢復。而keystore是類似上圖的一串。大家可以備份這個keystore,刪除錢包後,用這個keystore將錢包恢復。幾次練習,就可以把錢包玩熟了。至此,錢包完成創建,在自己的錢包頁,點擊地址欄右側會得到自己錢包的地址。(三)從交易所提幣到錢包我們以交易所gate.io為例,演示下怎麼把ETH提幣到錢包裡面。登錄gate.io,點擊ETH,提現出來這個界面,裡面的紅框位置就是要轉的錢包地址。(四)、錢包之間轉賬進入錢包後選擇金額區域:會顯示轉賬頁面:可以自己輸入賬號,也可以用右上角的掃一掃:按下一步後輸入密碼即可轉賬
㈢ 如何創建私鏈
創建創世配置文件:
首先需要創建一個「創世」json配置文件,此文件描述了創世區塊的一些參數。下面就是文件中的內容:
{
"coinbase": "",
"config": {
"homesteadBlock": 5
},
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x2FEFD8",
"mixhash": "",
"nonce": "0x0",
"parentHash": "000000000000000000000000",
"timestamp": "0x00",
"alloc": {
"":
{
"balance":""
}
}
}12345678910111213141516171819
將上面這段代碼復制到一個文本文件里並起名為genesis.json
創世!:
為了不和主鏈的數據沖突,這里建議建立自己的私鏈數據文件夾。在我的電腦上在E盤建了一個EthDBSpace作為以太坊實驗工作區,並在裡面創建了一個PrivChain文件夾作為我的第一個私鏈的數據存放文件夾
這里為了方便管理將genesis.json放在了EthDBSpace文件夾下
打開Windows命令行
鍵入如下命令
geth --datadir "E:\EthDBSpace\PrivChain" init "E:\EthDBSpace\genesis.json"1
–datadir 選項用來指定我們私鏈的數據目錄。在我的電腦上是E:\EthDBSpace\PrivChain
init 命令為創世命令,後面緊跟著我們的創世配置文件路徑。
點擊回車後執行結果如下
此時創世完成!
創建賬戶:
為了在私鏈上做實驗,我們還需要在私鏈上建立自己的賬戶
Windows命令行鍵入
geth --datadir "E:\EthDBSpace\PrivChain" console1
我們由於已經創世成功所以第二次進入客戶端時我們不用再次指定genesis.json文件路徑,而是直接–datadir 指明私鏈數據路徑即可。
console命令用來開啟geth的命令行。
點擊回車後,客戶端會先經過一陣初始化。在命令提示符出現後,說明已經進入geth console
在geth命令行中鍵入
personal.newAccount('Your Password')1
personal.newAccount 函數用來創建賬戶,其中參數為賬戶密碼
點擊回車後會出現
賬戶創建成功後會在命令下方以綠色字元列明創建賬戶的地址,也即賬戶的公鑰
我們可以先查下賬戶余額,在geth命令行中鍵入:
my=eth.accounts[0]
eth.getBalance(my)12
my=eth.accounts[0],此句的目的是將我們剛創建的賬戶地址賦值給my變數。這樣可以簡化後續賬戶地址輸入。其中eth.accounts記錄了本機上所有賬戶地址。由於我們第一次創建賬戶,所以目前電腦上只有一個賬戶。所以這里我們用eth.accounts[0]提取第一個賬戶地址。eth.getBalance函數用來獲得賬戶余額,參數填入賬戶地址。這里的my變數記錄的就是第一個賬戶的地址。
希望我的回答可以幫到您哦